Cómo crear Eventos Extendidos para monitorear bloqueos en RDS

Una buena forma de mantener monitoreados nuestros servidores de bases de datos SQL es crear eventos extendidos o XEvents. Estos eventos son sesiones de monitoreo que corren en background y que se pueden configurar para registrar determinados eventos que suceden en nuestras bases de datos.

El siguiente script nos permite crear un evento extendido para monitorear los bloqueos que suceden en nuestra instancia de RDS SQL Server en AWS. Estos eventos se guardarán en un archivo con extensión .xel en la ruta “D:\rdsdbdata\log\” del sistema de archivos de RDS:

 
CREATE EVENT SESSION [Blocking] ON SERVER
ADD EVENT sqlserver.blocked_process_report
ADD TARGET package0.event_file(SET filename=N'D:\rdsdbdata\log\blocking.xel',max_file_size=(5))
WITH (MAX_MEMORY=4096 KB,EVENT_RETENTION_MODE=ALLOW_SINGLE_EVENT_LOSS,MAX_DISPATCH_LATENCY=30 SECONDS, MAX_EVENT_SIZE=0KB,MEMORY_PARTITION_MODE=NONE,TRACK_CAUSALITY=OFF,STARTUP_STATE=ON)
GO
 

Después de crear el evento, iniciaremos nuestro XEvent desde la opción Management/Extended Events/Sessions en el SQL Server Management Studio. Busca el evento extendido con el nombre creado (en nuestro caso “Blocking”) y dar clic derecho en la opción “Start Session”.

 
 

Una vez se empiecen a registrar bloqueos, dar clic derecho en la opción “View Target Data” del evento extendido: el detalle de cada evento se visualizará en formato XML.

 

Si tienes alguna duda, comentarios o sugerencias, me puedes enviar un correo a bitácoradeundba@gmail.com.

 

Deja un comentario