Transaktionsisolationsstufen
Gilt für: SQL Server Azure SQL Managed Instance
In SQL Server werden Sperrhinweise in Abfragen, die über Katalogsichten, Kompatibilitätssichten, Informationsschemasichten oder Metadaten ausgebende integrierte Funktionen auf Metadaten zugreifen, nicht mit Sicherheit berücksichtigt.
Intern berücksichtigt SQL Server-Datenbank-Engine beim Zugriff auf Metadaten nur die Isolationsstufe READ COMMITTED. Wenn eine Transaktion beispielsweise die Isolationsstufe SERIALIZABLE besitzt und innerhalb der Transaktion versucht wird, über Katalogsichten oder Metadaten ausgebende integrierte Funktionen auf Metadaten zuzugreifen, werden die entsprechenden Abfragen ausgeführt, bis sie als READ COMMITTED abgeschlossen sind. Bei der Momentaufnahmeisolation kann der Zugriff auf Metadaten jedoch aufgrund von gleichzeitigen DDL-Vorgängen einen Fehler erzeugen. Der Grund dafür ist, dass Metadaten nicht versionsspezifisch sind. Daher besteht das Risiko, dass bei der Momentaufnahmeisolation der Zugriff über folgende Sichten und Funktionen zu einem Fehler führt:
Katalogansichten
Kompatibilitätssichten
Informationsschemasichten
Metadaten ausgebende integrierte Funktionen
Die sp_help-Gruppe gespeicherter Prozeduren
SQL Server Native Client-Katalogprozeduren
Dynamische Verwaltungssichten (DMVs, Dynamic Management Views) und -funktionen
Weitere Informationen zu Isolationsstufen in SQL Server finden Sie unter SET TRANSACTION ISOLATION LEVEL (Transact-SQL).
Die folgende Tabelle fasst den Zugriff auf Metadaten bei verschiedenen Isolationsstufen zusammen.
Isolationsstufe | Unterstützt | Berücksichtigt |
---|---|---|
READ UNCOMMITTED | Nein | Nicht mit Sicherheit berücksichtigt |
READ COMMITTED | Ja | Ja |
REPEATABLE READ | Nein | Nein |
MOMENTAUFNAHMEN ISOLATION | Nein | Nein |
SERIALIZABLE | Nein | Nein |