IIS 6.0 SQL 2000 Deadlock-Fehler

IIS 6.0 SQL 2000 Deadlock-Fehler

Ich habe vor kurzem einen neuen Job angefangen und sie haben einen Webserver, der mit einem separaten Datenbankserver kommuniziert. Es hat in letzter Zeit Deadlock-Fehler beim Ausführen von ASP-Seiten verursacht, wie zum Beispiel:

FEHLER: MSSQL 2kTransaction (Prozess-ID 103) war aufgrund von Sperrressourcen mit einem anderen Prozess blockiert und wurde als Deadlock-Opfer ausgewählt. Führen Sie die Transaktion erneut aus.

Der obige Fehler tritt auf, wenn die ASP-Seite versucht, auf die MSSQL 2k-Datenbank zuzugreifen.

Sie gehen davon aus, dass es sich um ein Serverproblem handelt, und haben mich gebeten, mich darum zu kümmern. Für jede Hilfe wäre ich sehr dankbar.

Antwort1

Normalerweise sind Deadlocks entweder ein Problem mit dem Datenbankdesign oder Inkonsistenzen beim Zugriff der Anwendung auf Datenbankressourcen. Häufig finden Sie Lösungen für Probleme, indem Sie dort Änderungen vornehmen, statt an der Infrastruktur. Deadlocks werden häufig nicht während Funktionstests gefunden, aber bei Leistungs- und Skalierbarkeitstests schon.

Sie können dem Entwicklungsteam hierbei helfen, indem Sie Traces verwenden, die dazu führen, dass detailliertere Informationen im SQL-Protokoll protokolliert werden.

Beispiel: DBCC TRACEON (3605,1205,-1) – stellen Sie sicher, dass Sie es ausschalten (DBCC TRACEOFF), wenn Sie mit der Erfassung der Protokollnachrichten fertig sind!

Überprüfen Sie als Nächstes die typischen Dinge bei jeder SQL-Installation:

  • Stellen Sie sicher, dass esSP4
  • verfügt über die richtige Hardwarekonfiguration – Protokolldateien auf einem RAID-1-Laufwerk, Datendateien auf einem RAID-5-Laufwerk, TempDB auf einem RAID-1-Laufwerk und Backups auf einem RAID-5-Laufwerk – ich würde dies als Minimum für jeden echten Server bezeichnen.
  • hat einen Wartungsplan eingerichtet (Backups, Neuerstellung von Indizes, Integritätsprüfungen, Aktualisierung von Statistiken). Ich glaube, SQL 2000 hat dafür einen Wartungsplan-Assistenten.

Und schließlich beginnen Sie mit der Planung der Migration auf SQL 2008 R2. Der Mainstream-Support für SQL 2000 endet jetzt, der erweiterte Support wird 2013 eingestellt.

Antwort2

Sie müssen verstehenWarumDeadlocks auftreten. Folgen Sie den Anweisungen in der Produktdokumentation unterErkennen und Beenden von DeadlocksUndFehlerbehebung bei Deadlocks.

Wie der Deadlock gelöst werden kann, lässt sich ohne Deadlock-Informationen nicht im Voraus sagen. Normalerweise besteht die Lösung darin, das Datenmodell zu ändern (z. B. einen fehlenden Index hinzuzufügen) und/oder das Anwendungsdesign zu korrigieren (Zugriffsmuster und Abfragen zu ändern).

verwandte Informationen