Bereiche der Transaktionsisolationsstufe

Welche Regeln gelten für die Festlegung des Gültigkeitsbereichs für Transaktionsisolationsstufen in SQL Server 2005? Ich weiß, was die verschiedenen Ebenen bedeuten, aber nicht, wie man sie außerhalb eines manuell ausgeführten Skripts richtig anwendet. Ich kann keinen Leitfaden für die praktische Verwendung in Code für die Produktionsqualität finden.

Offensichtlich beginnt der Gültigkeitsbereich, wenn Sie einen Befehl wie den folgenden verwenden:

<code>SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED 
</code>

Aber wo hört es auf? Wenn ich die ISO-Ebene in einer gespeicherten Prozedur einstelle und dieser Proc dann einen anderen aufruft, erbt der verschachtelte Proc ihn? Noch besser, wenn ich die ISO-Ebene innerhalb des verschachtelten Proc eskaliere, wird sie dann wieder in den aufrufenden Proc übernommen? Machen Transaktionsbefehle wie BEGIN TRAN, ROLLBACK und COMMIT einen Unterschied?

Wenn ein gespeicherter Prozess von einer Anwendung oder einem Agentenjob aufgerufen wird, bleiben die Änderungen der Isolationsstufe in irgendeiner Weise bestehen? Muss ich am Ende jedes Vorgangs immer auf die Standardeinstellung READ COMMITTED zurücksetzen?

Ich würde es in verschiedenen Situationen testen, aber ich weiß nicht, wie ich die aktuelle Isolationsstufe ablesen soll.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage