Sdílet prostřednictvím


Úrovně izolace transakcí

Applies to:SQL ServerAzure SQL Managed Instance

SQL Server nezaručuje, že v dotazech, které přistupují k metadatům prostřednictvím zobrazení katalogu, zobrazení kompatibility, zobrazení schématu informací, metadat generujících předdefinované funkce, se nedoručí.

Databázový stroj SQL Serveru interně respektuje READ COMMITTED pouze úroveň izolace pro přístup k metadatům. Pokud transakce má úroveň izolace, která je například SERIALIZABLE a v rámci transakce, je proveden pokus o přístup k metadatům pomocí zobrazení katalogu nebo metadat generujících předdefinované funkce, tyto dotazy se spustí, dokud nebudou dokončeny jako READ COMMITTED. V rámci izolace snímků ale může přístup k metadatům selhat kvůli souběžných operacím DDL. Důvodem je to, že metadata nejsou ve verzi. Přístup k následujícím krokům v rámci izolace snímků proto může selhat:

  • Catalog views
  • Compatibility views
  • Zobrazení schématu informací
  • Metadata generující předdefinované funkce
  • sp_help skupina uložených procedur
  • Procedury nativního klientského katalogu SQL Serveru
  • Zobrazení a funkce dynamické správy

Další informace o úrovních izolace naleznete v tématu SET TRANSACTION ISOLATION LEVEL.

Následující tabulka obsahuje souhrn přístupu k metadatům v různých úrovních izolace.

Isolation level Supported Honored
READ UNCOMMITTED No Not guaranteed
READ COMMITTED Yes Yes
REPEATABLE READ No No
SNAPSHOT ISOLATION No No
SERIALIZABLE No No