Megosztás:


Tranzakciós izolációs szintek

Applies to:SQL ServerAzure SQL Managed Instance

Az SQL Server nem garantálja, hogy a zárolási tippeket a katalógusnézeteken, kompatibilitási nézeteken, információsséma-nézeteken, beépített függvényeket metaadatokkal kibocsátó lekérdezéseken keresztül érheti el.

Az SQL Server adatbázismotor belsőleg csak a metaadatokhoz való hozzáférés elkülönítési READ COMMITTED szintjét tartja tiszteletben. Ha egy tranzakció elkülönítési szintje például SERIALIZABLE a tranzakción belül, katalógusnézetek vagy beépített függvényeket kibocsátó metaadatok használatával próbál hozzáférni a metaadatokhoz, ezek a lekérdezések addig futnak, amíg be nem fejeződnek READ COMMITTED. A pillanatképek elkülönítése esetén azonban a metaadatokhoz való hozzáférés az egyidejű DDL-műveletek miatt meghiúsulhat. Ennek az az oka, hogy a metaadatok nem verziószámozottak. Ezért előfordulhat, hogy a pillanatkép-elkülönítés során az alábbi adatok elérése sikertelen lehet:

  • Catalog views
  • Compatibility views
  • Információs sémanézetek
  • Beépített függvények metaadatainak kibocsátása
  • sp_help tárolt eljárások csoportja
  • Natív SQL Server-ügyfélkatalógus eljárásai
  • Dinamikus felügyeleti nézetek és függvények

További információ az elkülönítési szintekről: SET TRANSACTION ISOLATION LEVEL.

Az alábbi táblázat összefoglalja a metaadatok hozzáférését különböző elkülönítési szinteken.

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