Freigeben über


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