Dela via


Transaktionsisoleringsnivåer

Applies to:SQL ServerAzure SQL Managed Instance

SQL Server garanterar inte att låstips kommer att respekteras i frågor som kommer åt metadata via katalogvyer, kompatibilitetsvyer, informationsschemavyer, inbyggda funktioner som genererar metadata.

Internt respekterar READ COMMITTED SQL Server Database Engine endast isoleringsnivån för metadataåtkomst. Om en transaktion har en isoleringsnivå som till exempel SERIALIZABLE är och inom transaktionen görs ett försök att komma åt metadata med hjälp av katalogvyer eller inbyggda funktioner som genererar metadata, körs dessa frågor tills de har slutförts som READ COMMITTED. Men under ögonblicksbildisolering kan åtkomsten till metadata misslyckas på grund av samtidiga DDL-åtgärder. Det beror på att metadata inte är versionshanterade. Det kan därför misslyckas att komma åt följande under ögonblicksbildisolering:

  • Catalog views
  • Compatibility views
  • Informationsschemavyer
  • Inbyggda funktioner för metadatautsändande
  • sp_help grupp med lagrade procedurer
  • Procedurer för SQL Server Native Client-katalog
  • Dynamiska hanteringsvyer och funktioner

Mer information om isoleringsnivåer finns i SET TRANSACTION ISOLATION LEVEL.

Följande tabell innehåller en sammanfattning av metadataåtkomst under olika isoleringsnivåer.

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