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
Leer más

Expresiones, parámetros y funciones en Azure Data Factory

Hay ocasiones, cuando estamos construyendo pipelines con Azure Data Factory, que queremos repetir patrones para extraer y procesar la información cambiando de manera dinámica, en tiempo de ejecución, valores, orígenes/destinos de los datasets, incluso los mismos linked services. Esto es posible mediante el uso de parámetros, expresiones y funciones. Vamos a ver cómo implementarlo con un ejemplo práctico en el que se nos plantea el siguiente supuesto. Se nos ha pedido que extraigamos todos los días los datos del día anterior de distintas tablas del DW a ficheros en un blob storage que además se nombre como la tabla de origen. Si no pudiéramos utilizar contenido dinámico tendríamos que crear dos datasets (uno de origen y otro de destino) y añadir una actividad de copia por cada tabla a exportar.