Published on

March 30, 2021

Cómo capturar el XML de bloqueo y los gráficos de bloqueo en SQL Server

Como profesional de bases de datos, es crucial monitorear y abordar problemas de rendimiento en las bases de datos de SQL Server. Un problema común que puede ocurrir son los bloqueos, que pueden afectar el rendimiento general y la estabilidad de la base de datos. En este artículo, exploraremos el proceso de capturar el XML de bloqueo y los gráficos de bloqueo en SQL Server.

Comprendiendo los bloqueos

Un bloqueo ocurre cuando dos o más procesos están esperando que el otro libere recursos, lo que resulta en una situación de bloqueo donde ninguno de los procesos puede continuar. SQL Server tiene mecanismos para detectar y resolver bloqueos, pero es esencial capturar y analizar la información de bloqueo para identificar la causa raíz y tomar las acciones apropiadas.

Capturando el XML de bloqueo

En una instancia de SQL Server local, capturar el XML de bloqueo es relativamente sencillo. Puede habilitar el indicador de seguimiento 1222 como un parámetro de inicio y ver la información de bloqueo en los registros de errores de SQL Server. Sin embargo, si está utilizando AWS RDS SQL Server, el proceso es ligeramente diferente.

En AWS RDS SQL Server, no tiene permisos administrativos completos en el servidor y se aplican ciertas restricciones. Sin embargo, AWS proporciona un procedimiento almacenado específico para realizar tareas administrativas. Para capturar el XML de bloqueo en AWS RDS SQL Server, puede seguir los siguientes pasos:

  1. Cree un nuevo grupo de parámetros en el panel de control de RDS.
  2. Modifique el valor del indicador de seguimiento 1222 en el grupo de parámetros recién creado para habilitar el seguimiento de bloqueo.
  3. Asigne el nuevo grupo de parámetros a su instancia de RDS.
  4. Simule un bloqueo en la base de datos de RDS.
  5. Vea los registros de errores de SQL Server en la Consola web de AWS para acceder al XML de bloqueo capturado.

Capturando los gráficos de bloqueo

Mientras que el XML de bloqueo proporciona información valiosa sobre el bloqueo, puede ser difícil de interpretar. Los gráficos de bloqueo, por otro lado, ofrecen una representación gráfica del bloqueo, lo que facilita la identificación de la víctima y el ganador del bloqueo.

En una instancia de SQL Server local, puede utilizar el evento extendido system_health para capturar los gráficos de bloqueo. Sin embargo, en AWS RDS SQL Server, puede seguir los siguientes pasos para capturar los gráficos de bloqueo:

  1. Conéctese a la instancia de RDS en SQL Server Management Studio (SSMS).
  2. Navegue hasta Eventos extendidos -> Sesiones.
  3. Verifique si la sesión del evento extendido system_health está en ejecución.
  4. Expanda la sesión System_health y vea los datos de monitoreo capturados.
  5. Alternativamente, puede utilizar T-SQL para obtener los datos requeridos utilizando la función sys.fn_xe_file_target_read_file().

Conclusión

La captura del XML de bloqueo y los gráficos de bloqueo es esencial para identificar y resolver bloqueos en las bases de datos de SQL Server. En este artículo, se discutió el proceso de capturar el XML de bloqueo y los gráficos de bloqueo en AWS RDS SQL Server. Siguiendo estos pasos, puede recopilar la información necesaria para analizar y abordar los bloqueos tanto en instancias locales como en la nube, asegurando el rendimiento y la estabilidad óptimos de sus bases de datos de SQL Server.

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.