Frage

Gibt es eine Möglichkeit SQL Server zu sagen, die (nolock) Hinweis oder jeden in einer gespeicherten Prozedur wählen zu benutzen?

ist ziemlich ermüdend es zu jedem hinzuzufügen ein jeder wählen ....

War es hilfreich?

Lösung 4

Google ....

Wie nolock Hinweis für SQL Server-Anmeldungen erzwingen

scheint der beste Weg, um dies zu erreichen, ist zur Ausgabe von a

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

andere Idee ???

ps

eine weitere Frage im Zusammenhang ...

NOLOCK vs. Transaktionsisolationsstufe

Andere Tipps

Wie andere zu Recht sagen, einen globalen (nolock) erfolgte READ UNCOMMITTED verwendet wird.

Bevor jedoch diesen Weg nach unten geht, es lohnt sich erste READ COMMITTED SNAPSHOT versuchen. Das bedeutet, Du liest, wird nicht durch Einsätze / Aktualisierungen im Gang gesperrt werden und bedeutet, dass die Daten nicht verschmutzt sind, einfach veraltet.

Ich denke, das ist das, was Sie suchen ...

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

Sie verwenden möchten die folgenden Syntax :

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

fand ich dies an dem NOLOCK-Tabellenhinweis sucht sie hier . Die WITH (NOLOCK) Tabelle hint entspricht die Isolationsstufe einstellen UNCOMMITTED zu lesenden. Hier ist der Ausschnitt aus MSDN :

  

NOLOCK   Entspricht READUNCOMMITTED. Weitere Informationen finden Sie READUNCOMMITTED später in diesem Thema.

Sie können jedoch auf mit falschen Daten beenden. Am 2005 ist es vorzuziehen, die Snapshot-Isolation zu verwenden: „Wenn Snapshot Isolation hilft und wenn es verletzt“ http://www.devx.com/dbzone/Article/32957

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