Tranzakciós izolációs szintek

A következőkre vonatkozik: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:

  • Katalógusnézetek
  • Kompatibilitási nézetek
  • 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óért az elszigeteltségi szintekről lásd: 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.

Elkülönítési szint Supported Tisztelet
READ UNCOMMITTED No Nem garantált
READ COMMITTED Yes Yes
REPEATABLE READ No No
SNAPSHOT ISOLATION No No
SERIALIZABLE No No