Transaction (Process ID) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
J'obtiens cette erreur de manière aléatoire lorsqu'un de mes sites Web est occupé. Je sais à peu près sur quels ensembles de tables cela se produit, mais d'après mon expérience avec d'autres programmes, j'obtiens normalement le SQL retourné là où le blocage se produit. Existe-t-il un indicateur que je devrais activer pour permettre que cela se produise?
Je vais essayer de déboguer le blocage lui-même comme un problème distinct car c'est ma principale question pour l'instant.
J'utilise SQL Server 2008 Standard Edition.
sql-server-2008
deadlock
webnoob
la source
la source
;-T1204
pour que l'indicateur de trace se termine et redémarrez le service.-1
paramètre àDBCC TRACEON
signifie global.Réponses:
Les données dont vous avez besoin sont enregistrées dans la trace d'événements étendue par défaut.
Bien qu'il ne sera plus là si vous avez redémarré le service -eg pour appliquer un indicateur de trace ou si le tampon a cyclé entre-temps.
Vous pouvez configurer votre propre trace d'événements étendue qui stocke le graphique de blocage dans une cible de fichier pour un stockage non volatil persistant. Exemple de code ici . Personnellement, je trouve le graphique XML de blocage plus convivial que la sortie de l'indicateur de trace.
Éditer
CAST(REPLACE(REPLACE(XEventData.XEvent.value('(data/value)[1]', 'varchar(max)'), '<victim-list>', '<deadlock><victim-list>'), '<process-list>', '</victim-list><process-list>') AS XML) AS DeadlockGraph
laSELECT
liste comme décrit ici .la source
La réponse acceptée n'a pas fonctionné pour moi de manière cohérente. Le tampon en anneau est apparemment connu pour supprimer des événements dans certaines circonstances.
ConnectItem
Problèmes de tampon d'anneau
Les fichiers d'événements du journal system_health peuvent être analysés (à partir de cette réponse ):
Le champ XdlFile peut être enregistré dans un fichier .xdl et lu dans SSMS. Testé dans Sql Server 2012.
la source