Transaktionsisoleringsnivåer

gäller för: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 Databasmotor för SQL Server 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:

  • Katalogvyer
  • Kompatibilitetsvyer
  • 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

För mer information om isoleringsnivåer, se SET TRANSACTION ISOLATION LEVEL.

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

Isoleringsnivå Supported Hedrade
READ UNCOMMITTED No Inte garanterat
READ COMMITTED Yes Yes
REPEATABLE READ No No
SNAPSHOT ISOLATION No No
SERIALIZABLE No No