2017-09-30 10 views
0

Ma production SQL Server 2008 R2 se déroule du matin 4h00 à 5h00 du matin.Blocage de SQL Server

J'ai vérifié les performances de SQL Server à l'aide de grafana et j'ai découvert que le blocage se produisait entre 4h00 du matin et 5h00 du matin.

Il se comporte normalement après 5 heures.J'ai vérifié les travaux en cours, sauvegarde tout ce qui s'exécute pendant la nuit.Mais tout cela se produit avant 4 heures du matin.

J'ai créé un travail de traçage de SQL Server Profiler pour l'exécuter, mais il crée plusieurs fichiers de trace et il fera tomber le serveur de production si je le faisais.

Dans SQL Server 2008 R2, je n'ai pas pu trouver d'événement étendu sous gestion. Comment saurai-je ce qui se passe entre 4 heures du matin et 5 heures du matin?

+0

cela n'a vraiment rien à voir avec la programmation ** ** (* qui ce site * est ** tout au sujet **), mais avec l'administration DB - il est donc hors-sujet ici et appartient sur [dba.stackexchange.com] (http://dba.stackexchange.com) - vote pour se déplacer. –

+0

Vérifiez également le journal des événements Windows. Lorsque votre SQL Server est en panne, aucun événement n'est consigné. –

Répondre

0

Comment saurai-je ce qui se passe entre 4 h et 5 h?

événements eXtended processus bloqué ne sont pas disponibles en 2008 R2..so vous pouvez créer un script personnalisé comme ci-dessous et exécuter ce par un agent sql pour toutes les 5 minutes et l'insérer dans une table de

select rq.session_id,rq.status,rq.command,rq.wait_type,rq.last_wait_type,rq.wait_time,rq.wait_resource, 
rq.blocking_session_id, 
blocked.text as 'blocked', 
blocking.text as 'blockedby' 
from 
sys.dm_exec_requests rq 
join 
sys.dm_exec_connections cn 
on cn.session_id=rq.blocking_session_id 
cross apply 
sys.dm_exec_sql_text(rq.sql_handle) blocked 
cross apply 
sys.dm_exec_sql_text(cn.most_recent_sql_handle) blocking 

Références:
http://www.chilledsql.com/welcome/tip_category_dmvqueries/tip_detail_dmvqueries_getblockingprocesses