Nous avons une transaction qui fonctionne depuis plus de 5 heures. Nous manquons d'espace disque. La session a été supprimée mais attend toujours IO_COMPLETION. En fait, le wait_type vient de changer en PAGEIOLATCH_EX. Comment puis-je mettre fin à la transaction SQL Server suspendue? Je ne suis pas inquiet de perdre des données car tout cela peut être repeuplé.
session_id: 54
STATUS: suspended
blocked by: 0
wait_type: PAGEIOLATCH_EX
Elapsed Time (in Sec): 19750.420000
open_transaction_count: 2
sql-server-2012
transaction
kill
Tarzan
la source
la source
KILL 54 WITH STATUSONLY
pour savoir combien de temps il faudra pour revenir en arrière.KILL .. WITH STATUSONLY
n'est pas précis et je vois votre point. Pouvez-vous essayerAlter database .. set OFFLINE or single_User WITH ROLLBACK IMMEDIATE
?Réponses:
La prochaine fois que cela se produit, exécutez
sp_WhoIsActive
( téléchargement / documentation ) et voyez qui exécute quoi et examinez la logique. Vérifiez si le TSQL peut être optimisé pour s'exécuter plus rapidement ou peut-être le découper en transactions plus petites.J'ai eu des cas où le journal des transactions d'une mauvaise requête par des rédacteurs de rapports, des chargeurs de données, etc. augmentait le journal des transactions plus grand que la taille du fichier de données, et c'est généralement une requête mal exécutée et mal écrite qui n'est pas optimisée ou fragmentée dans des transactions plus petites pour redonner de l'espace libre une fois la transaction terminée - il s'agissait d'ailleurs d'une
SIMPLE
base de données duFULL
modèle de récupération - les bases de données du modèle de récupération devraient avoir des sauvegardes du journal des transactions terminées pour permettre la réutilisation de l'espace du journal des transactions des transactions validées.Le problème racine est probablement la requête, donc déterminer qui fait quoi et leur tendre la main et signaler le problème avec vos conclusions les obligerait à corriger leur logique pour ne pas arroser l'espace disque du serveur pour cette partition de disque - espérons que c'est pas votre logique, mais si c'est le cas, regardez l'optimisation de la logique pour interroger le réglage des performances.
la source