Ich führe eine gespeicherte Prozedur aus, die regelmäßig am Job Scheduler um 12.01 Uhr Serverzeit aktualisiert werden muss, ohne dass ein Deadlock oder irgendwelche Störungen auftreten.Gespeicherte Prozedur ohne Deadlock und Anwendung ausführen, ohne fest zu hängen
Die Prozedur wird vollständige Zeilen um 15000 Datensätze zur Berechnung auswerten und muss aktualisiert werden und es dauert 2 Minuten, um die Ausführung abzuschließen.
Also habe ich diesen Code unten hinzugefügt, um Deadlock während der Ausführung dieses Verfahrens zu vermeiden, bis es abgeschlossen ist.
SET DEADLOCK_PRIORITY HIGH
exec [ProcedureName]
SET DEADLOCK_PRIORITY LOW
Ist dieser Code ein Problem in DB-Betrieb oder eine Anwendung Leistung führen wird?
Hinweis: Ich habe dies mit mehreren Personen getestet, um Zugriff auf die Anwendungsraster zu erhalten, während ich die Abfrage ausgeführt habe. Es hat keinerlei Auswirkungen auf die Leistung und meine Anforderung wurde ebenfalls gelöst. Möchte aber immer noch mehr über Abhängigkeiten von DB wissen. Bitte legen nahe,
Dank
>>> nach irgendwelchen toten Sperren zum Zeitpunkt der Ausführung suchen: .... <<< Glauben Sie wirklich, dass jemand in der Lage ist, Deadlocks auf diese Weise zu überwachen? Wissen Sie, wie SQL Server Dedlocks auflöst? – sepupic
Ich hatte die gleiche Frage im realen Szenario, ich habe E-Mail-Alarm eingerichtet und überwacht. Ofcos wir alle wissen, SQL heilt Deadlocks selbst und ich glaube, es ist wichtig, das Opfer von Dead Lock, Tisch getroffen und so weiter zu finden. –
Jeder Deadlock wird vor der Ausführung von F5 gelöst werden, um Ihren Code auszuführen – sepupic