1
00:00:00,600 --> 00:00:10,050
En esta clase lo que vamos a hacer es vamos a capturar un proceso que está demorando más de lo normal.

2
00:00:10,140 --> 00:00:17,160
Entonces lo que vamos a hacer vamos a cerrar esta traza que teníamos anteriormente y vamos a crear una

3
00:00:17,160 --> 00:00:18,040
nueva traza.

4
00:00:18,400 --> 00:00:24,990
Cómo creamos una nueva traza desde este icono que está aquí que dice nutres o bien desde el menú fail

5
00:00:25,650 --> 00:00:28,100
colocamos neutraliza.

6
00:00:28,230 --> 00:00:31,740
Entonces vamos a conectarnos con el usuario ESEA

7
00:00:35,200 --> 00:00:38,600
y aquí nos abre la ventana de la traza.

8
00:00:38,600 --> 00:00:51,510
Entonces vamos a acceder a la solapa de selección de eventos y aquí nos nos muestra los eventos por

9
00:00:51,510 --> 00:01:00,340
default que vienen seleccionados esos en los que vimos anteriormente si la columna data Application

10
00:01:00,380 --> 00:01:09,410
Naeem NTX. Bernheim que es el nombre de usuario de Windows lo MINEM CPU riots Rights duration etc. Y

11
00:01:09,440 --> 00:01:19,370
tenemos los eventos tenemos todos estos eventos que vamos a capturar si tenemos eventos de auditoría

12
00:01:19,940 --> 00:01:28,930
eventos de conexión eventos de procedures y eventos de Transat SQL.

13
00:01:29,540 --> 00:01:36,380
Cuál es la diferencia entre esto prosigue tranza que se cuele en este me va a capturar las ejecuciones

14
00:01:36,380 --> 00:01:45,980
de los estor proseguir en los eventos de tranza que se cuelen me va a capturar también los de las sentencias

15
00:01:45,980 --> 00:01:51,830
tranza que se cuele que se ejecuten por fuera de un actor prosiguiera entonces fíjense lo que hacemos

16
00:01:51,830 --> 00:02:01,190
aquí vamos a seleccionar todos estas opciones si vamos a hacer clic en la opción Mostrar todos los eventos

17
00:02:01,220 --> 00:02:06,020
entonces lo que vamos a elegir aquí va a ser el evento S.P. conflict.

18
00:02:06,070 --> 00:02:12,650
Ese es el evento que me va a capturar los estor proceder que se hayan ejecutado completamente.

19
00:02:12,650 --> 00:02:20,590
Entonces seleccionamos ese completa y le decimos mostrar todas las columnas entonces vamos a venir aquí

20
00:02:20,610 --> 00:02:24,330
y vamos a elegir las columnas que nos interesan.

21
00:02:24,320 --> 00:02:31,580
Vamos a ver aquí lo tenemos seleccionado las columnas que nos interesan en este caso son por ejemplo

22
00:02:31,580 --> 00:02:43,630
duración de la duración que le llevó al proceso ejecutarse y vamos a ver qué vas a ver no hace falta

23
00:02:45,090 --> 00:02:47,580
vamos a dejar la columna

24
00:02:50,600 --> 00:02:59,160
exacta tenía que estar por aquí te estatalista aquí está ya con estas dos me alcanza suficiente y vamos

25
00:02:59,160 --> 00:03:01,010
a darle la razón.

26
00:03:01,320 --> 00:03:05,330
Si ahí está entonces qué vamos a hacer ahora.

27
00:03:05,850 --> 00:03:15,960
Vamos a ir al sector de alta de pacientes y lo vamos a ejecutar pero antes vamos a vamos a parar si

28
00:03:16,800 --> 00:03:24,850
la traza como la paramos con este ícono de Stop aquí arriba en el menú de la botonera.

29
00:03:24,860 --> 00:03:30,750
Si con esto paramos la traza y por qué paramos la traza porque en realidad lo que quiero hacer es editar

30
00:03:31,230 --> 00:03:35,880
la traza y para poder editar la traza tiene que estar detenida.

31
00:03:35,880 --> 00:03:44,720
Entonces paradita la traza nos vamos a Propiedades se Feil Properties y aquí vamos a editar la traza

32
00:03:44,730 --> 00:03:46,050
qué vamos a hacer.

33
00:03:46,050 --> 00:03:52,770
Vamos a agregarle un filtro a la columna y a la columna a la columna.

34
00:03:52,770 --> 00:04:01,980
Duración entonces aquí tenemos todas las columnas por default a la columna duración le vamos a agregar

35
00:04:02,640 --> 00:04:10,110
un filtro o si le vamos a decir que nos flit de todos los procesos que sean mayores a estos milisegundos

36
00:04:10,110 --> 00:04:15,040
entonces vamos a colocarle por ejemplo 1000 milisegundos.

37
00:04:15,090 --> 00:04:22,320
Vamos a darle a OK y luego le damos clic en RAM y ahí sí se está ejecutando se está ejecutando con un

38
00:04:22,320 --> 00:04:27,720
filtro con qué filtro con el filtro de duración mayor a 1000 milisegundos.

39
00:04:28,050 --> 00:04:30,670
Todo proceso que dure más de 1000 milisegundos.

40
00:04:30,840 --> 00:04:37,950
Va a ser capturado aquí entonces vamos a ejecutar el proceso de alta de pacientes y seleccionamos presionamos

41
00:04:37,950 --> 00:04:44,940
F5 vamos a revisar el profe profesor y vemos que no tenemos nada en la traza porque no tenemos nada

42
00:04:44,970 --> 00:04:51,030
porque el proceso ha demorado menos de 1000 milisegundos entonces bueno vamos a lo que vamos a hacer

43
00:04:51,030 --> 00:04:59,010
es vamos a generar un retardo en el proceso para que nos aparezca en la traza así cómo generamos un

44
00:04:59,010 --> 00:05:04,020
retardo bueno en muchas maneras en este caso lo que vamos a hacer es con un Weyl vamos a generar un

45
00:05:04,020 --> 00:05:09,220
bucle y eso nos va a hacer un retardo en el sector prosiguió.

46
00:05:09,480 --> 00:05:23,520
Vamos a declarar una variable de tipo bint si un entero grande y le vamos a asignar cero y vamos a hacer

47
00:05:23,520 --> 00:05:24,600
un bucle Weyl

48
00:05:28,070 --> 00:05:32,830
donde arrobada sea menor

49
00:05:35,490 --> 00:05:41,650
menor o igual a 15000 si es menor igual a 15000.

50
00:05:41,660 --> 00:05:49,640
Bueno vamos a hacer que incremente en una unidad la variable a le sumo una unidad.

51
00:05:49,650 --> 00:05:56,910
Esto es para que no entre en un Wein infinito y no nos quede el proceso colgado entonces con esto lo

52
00:05:56,910 --> 00:06:04,140
que hacemos es iterar aquí 15000 veces la variabilidad se va a ir incrementando hasta 15000 cuando llegue

53
00:06:04,140 --> 00:06:15,010
a 15000 va a salir vamos a modificar el proceso con F5 y ahora lo vamos a ejecutar nuevamente ahí se

54
00:06:15,010 --> 00:06:16,870
está ejecutando ya finalizó.

55
00:06:16,870 --> 00:06:22,900
Nos vamos a hacer profiler y no tenemos nada por qué no tenemos nada porque el proceso demoró menos

56
00:06:22,900 --> 00:06:24,290
de 1000 milisegundos.

57
00:06:24,290 --> 00:06:27,370
Bueno vamos a generar que este proceso demore más.

58
00:06:27,370 --> 00:06:30,310
Cómo generamos que demore más le agregamos un cero más.

59
00:06:31,090 --> 00:06:35,730
En vez de 15000 le ponemos 150000 te damos F5

60
00:06:39,330 --> 00:06:44,500
hoy ejecuto y tampoco tenemos nada en la traza.

61
00:06:44,540 --> 00:06:50,820
Vamos a retardar un poco más para que sea superior a 1000 milisegundos.

62
00:06:50,850 --> 00:06:53,090
Ahí le pusimos un cero más.

63
00:06:53,390 --> 00:06:59,330
Presionamos F5 guardamos seleccionamos y presionamos F5 nuevamente.

64
00:06:59,330 --> 00:07:07,190
Ahí está demorando ahí demora un poquito más hoy finalizó y nos vamos al profiler y aquí tenemos la

65
00:07:07,190 --> 00:07:08,930
traza en el profiles.

66
00:07:09,290 --> 00:07:17,060
Fíjense que ahora como teníamos el filtro por duración mayor a 1000 milisegundos bueno aquí nos ha capturado

67
00:07:17,060 --> 00:07:26,240
el proceso y aquí en duración dice dos mil novecientos noventa y cinco dos 1995 milisegundos de casi

68
00:07:26,240 --> 00:07:30,720
tres segundos duró este proceso.

69
00:07:30,720 --> 00:07:36,200
Bien ya aprendimos cómo capturar un proceso que demora más de cierto tiempo.

70
00:07:36,200 --> 00:07:38,960
Esto en qué nos va ayudar para qué lo podemos utilizar.

71
00:07:39,260 --> 00:07:46,040
Bueno pues imagínense un usuario Seidel de un sistema que nosotros hemos desarrollado nos dicen cada

72
00:07:46,040 --> 00:07:48,720
vez que grabó un paciente en el sistema.

73
00:07:48,810 --> 00:07:54,980
Si no importa los datos que le ponga cada vez que intento grabar a un paciente en el sistema demora

74
00:07:54,980 --> 00:07:59,890
mucho se demora aproximadamente 10 segundos y no sé por qué.

75
00:08:00,060 --> 00:08:07,220
Entonces bueno nosotros le decimos al usuario bueno vamos a realizar una prueba entonces le solicitamos

76
00:08:07,220 --> 00:08:15,380
al usuario que replique el caso es decir que inserte un usuario que graba un usuario en el sistema y

77
00:08:15,380 --> 00:08:19,580
nosotros desde nuestro lado lo que hacemos es monitorear con.

78
00:08:19,660 --> 00:08:27,630
Con esta herramienta o con el SQL Server profiler monitorear el colocándoles el filtro la duración o

79
00:08:27,630 --> 00:08:33,920
no colocándole nada si simplemente en vez de colocarle un filtro por la duración le colocamos un filtro

80
00:08:34,700 --> 00:08:43,940
por el tex data es decir por este campo aquí le podemos colocar por el campo texto le podemos colocar

81
00:08:44,560 --> 00:08:50,140
un Lykke si encerrado entre vamos a pararlo si lo vemos bien.

82
00:08:51,080 --> 00:09:02,290
Vamos a probar propiedades Eben Selection aquí le colocamos con filtros y en el campo Tex data aquí

83
00:09:02,990 --> 00:09:12,750
en Lykke y colocamos por ciento por ciento si alta acidente por ejemplo al paciente.

84
00:09:12,760 --> 00:09:22,550
Entonces aquí ya va a filtrar todos los procesos que se están ejecutando con ese nombre de texto.

85
00:09:22,670 --> 00:09:31,510
Entonces vamos a presionar F5 y vamos a volver al SQL profiler y aquí aquí está fíjense que lo capturó

86
00:09:31,510 --> 00:09:32,570
también.

87
00:09:33,250 --> 00:09:41,140
Entonces lo que hacemos con esto es obtener obtener esta llamada tan valiosa no porque está llamada

88
00:09:41,140 --> 00:09:47,590
tan valiosa con los parámetros tal cual los están viendo el usuario no la bandola no tenemos forma de

89
00:09:47,590 --> 00:09:50,830
obtenerla si no es con el SQL Server Profiler.

90
00:09:51,000 --> 00:10:01,150
Por eso consideramos que es una herramienta muy importante para hacer un debate de un proceso o de los

91
00:10:01,150 --> 00:10:01,930
sistemas.

92
00:10:01,960 --> 00:10:02,290
Por qué.

93
00:10:02,290 --> 00:10:09,130
Porque esto es lo que nos permite visualizar cómo está insertando en el usuario cómo está ejecutando

94
00:10:09,130 --> 00:10:15,640
ese proceso y qué parámetros les está pasando entonces lo que hacemos con esto es reproducirlo y ver

95
00:10:15,640 --> 00:10:16,830
dónde está el problema.

96
00:10:17,380 --> 00:10:23,140
Entonces cuando vamos a analizar el proceso para ver el problema bueno en este caso nosotros lo hemos

97
00:10:23,140 --> 00:10:31,960
forzado con un Weyl con una numeración alta para que se demore más de la cuenta y lo podamos atrapar

98
00:10:31,960 --> 00:10:32,630
en el profile.

99
00:10:32,650 --> 00:10:40,480
Pero lo más probablemente es que en el proceso tengamos alguna sentencia Cele que no esté optimizada

100
00:10:40,480 --> 00:10:45,900
que esté buscando por por no por todos los campos prima Ariki.

101
00:10:45,940 --> 00:10:50,580
Puede ser que tengamos una consulta muy grande con muchos Villains y no esté optimizada.

102
00:10:50,590 --> 00:10:56,530
Entonces vamos a tener que encontrar dónde está el problema y una vez que lo solucionemos bueno el proceso

103
00:10:56,530 --> 00:11:00,910
ya va a demorar mucho menos.

104
00:11:01,050 --> 00:11:07,960
Entonces lo que tenemos que tener en cuenta que el SQL Server Profiler es una herramienta indispensable

105
00:11:08,350 --> 00:11:16,480
para resolver los problemas que vamos a tener cuando nuestra aplicación esté en producción se esté utilizando

106
00:11:16,480 --> 00:11:21,190
ya del usuario final lo que vamos a ver en la siguiente clase cómo definir filtros personalizados para

107
00:11:21,460 --> 00:11:26,860
monitoreo y vamos a aprender un poquito la interfase aquí todas las opciones que tiene disponible.
