Frage

Ich suche nach Vorschlägen zum Debuggen und Aufspüren von Deadlock-Problemen in einer SQL Server 2000-Datenbank.Mir wurde empfohlen, die Trace-Flags 1024 und 3605 zu verwenden, die meiner Meinung nach Folgendes liefern:

1024 – Dieses Trace-Flag gibt den Typ der am Deadlock beteiligten Sperren und den aktuellen betroffenen Befehl zurück.

3605 – Dieses Trace-Flag sendet die Trace-Ausgabe an das Fehlerprotokoll.

Die spezifischen gespeicherten Prozeduren, Tabellen und Indizes müssen noch aufgedeckt werden, daher besteht das Ziel darin, diese Ablaufverfolgungsflags zu verwenden.Und dann weiß ich besser, welche Indizes optimiert werden müssen, welche Sperrhinweise zur Optimierung von Abfragen vorliegen und welche potenziellen Sproc-Fehler behoben werden müssen.

Irgendwelche anderen Vorschläge oder Happy-End-Kriegsgeschichten, um diesem allzu häufigen Problem auf den Grund zu gehen?

War es hilfreich?

Lösung

Andere Tipps

Sehr nützliches Skript zur Analyse von Deadlocks: http://www.sommarskog.se/sqlutil/aba_lockinfo.html

Sobald Sie die beteiligten SQL-Anweisungen kennen, wird eine Codeanalyse sicherlich hilfreich sein.Einige Faustregeln überprüfen die Reihenfolge, in der auf die Zeilen zugegriffen wird, und prüfen die Isolationsstufe, die für die SQL-Anweisungen verwendet wird.Ein Profiler-Trace kann sehr hilfreich sein.

Meistens liegt es daran, dass ein Leser versucht, eine gemeinsame Sperre für eine Ressource zu erhalten, die ausschließlich von einem Autor gesperrt wurde.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top