A fecha de hoy (11/09/2014) no existe la posibilidad de crear eventos extendidos personalizados en SQL Database (Azure) por lo que tenemos que ingeniarnoslas para extraer datos de funcionamiento, performance,…de nuestras BBDD en Azure de otra forma.

En este caso, estamos de suerte porque en Microsoft han mantenido la captura de deadlocks por defecto sobre una vista del sistema. Gracias a ella podremos obtener información sobre los deadlocks que ocurran en nuestras bases de datos SQL Database.

Haciendo uso de la vista sys.event_log, podemos ver todos los eventos deadlock que han ocurrido en nuestras BBDD SQL Database.

Deadlock en SQL Database

 

Pinchamos en el xml que está contenido en la columna additional_data

Deadlock en SQL Database

Salvamos el contenido xml con extensión .xdl y posteriormente abrimos el fichero recien salvado con SQL Server Management Studio, mostrandose ya la información completa del deadlock para su posterior análisis

Deadlock en SQL Database

* Para saber más sobre cómo salvar deadlock graphs, haz click aqui

 

Notas a tener en cuenta:

  1. Necesitas permisos de sysadmin para poder leer esta información, almacenada en la BBDD master
  2. El refresco de sys.event_log no es instantaneo y dependerá de la carga del servidor donde tengas alojada la BBDD
    • Puede llegar a tardar incluso 24h desde la ocurrencia del evento deadlock en aparecer en la vista
      • Como referencia real, a mi me está tardando 10 minutos en aparecer un deadlock en la vista
    • Que tu evento haya ocurrido antes de otro evento ya pintado no quiere decir que no se haya capturado, simplemente que debido a la carga del servidor lógico, el evento tarda en pintarse
  3. Los datos almacenados en sys.event_log se guardan como mucho 1 Mes, pero no se garantiza ya que dependerá del nº de BBDD del servidor lógico donde nos encontremos
    • Recomendación: Guardate periódicamente la información para no perderl

 

0 Shares:
Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

You May Also Like

Forzar affinidad NUMA para SSIS

Hace algún tiempo escribí sobre paralelismo en SQL Server y debatimos entre algunas cosas sobre la importancia del afinamiento de CPU a la hora de obtener el máximo rendimiento de tu Hardware (puedes leer aqui: Paralelismo en SQL Server (I) )

Despliegue de Proyectos en Integration Services 2012

En entradas anteriores hemos revisado las características que ofrece el nuevo modelo de servidor de Integration Services, que se basa en Proyectos y Entornos en lugar de Paquetes y Configuraciones.En SQL Server 2012 se mantendrá la compatibilidad con el modelo de despliegue anterior, basado en paquetes, con la denominación Package Deployment Model. Los procedimientos para realizar despliegues en este modo no han variado desde versiones anteriores por lo que nos centraremos en el modelo de despliegue de proyectos Project Deployment Model.