Přečíst bez závazku
- Pokud se data mění v jedné transakci, výběr těchto dat (v jiné transakci nebo bez transakce) nebude čekat na dokončení první transakce a vrátí datové záznamy o nepotvrzených transakcích.
- Pokud se data načítají v jedné transakci, aktualizace těchto dat v jiné transakci nebudou čekat na dokončení první transakce.
- Sdílené zámky se nepoužívají. Identické s nastavením t on NOLOCK nápověda pro všechny výběry ve čtení potvrzeno.
- Výhradní zámky jsou povoleny během provádění příkazu a deaktivovány na konci o z transakce .
Read Committed + read_committed_snapshot off
(změnit databázi xxx nastavit read_committed_snapshot off)
- Pokud se data mění v jedné transakci, výběr těchto dat (v jiné transakci nebo bez transakce) počká na dokončení první transakce. Vybrat vyvolejte pomocí NOCHECK nápověda vrátí upravená, ale nepotvrzená data.
- Pokud se data načítají v jedné transakci, aktualizace těchto dat v jiné transakci nebudou čekat na dokončení první transakce.
- Sdílené zámky jsou povoleny během provádění příkazu a deaktivovány na konci příkazu nt provedení .
- Exkluzivní zámky jsou aktivovány během provádění příkazu a deaktivovány na konci transakce .
Read Committed + read_committed_snapshot on
(změnit databázi xxx nastavit read_committed_snapshot on)
- Pokud se data mění v jedné transakci, výběr těchto dat (v jiné transakci nebo bez transakce) nebude čekat na dokončení první transakce a vrátí hodnoty v momentě t z zahájení transakce . Vyberte pomocí ten Nápověda NOCHECK vrátí upravená, ale nepotvrzená data.
- Pokud se data načítají v jedné transakci, aktualizace těchto dat v jiné transakci nebudou čekat na dokončení první transakce.
- Sdílené zámky se nepoužívají. Místo toho je použit mechanismus Row Versioning – data aktualizovaných záznamů jsou uložena v tempdb .
- Exkluzivní zámky jsou aktivovány během provádění příkazu a jsou deaktivovány na konci transakce .
Opakovatelné čtení
- Pokud se data mění v jedné transakci, výběr těchto dat (v jiné transakci nebo bez transakce) počká na dokončení první transakce. Vyberte pomocí ten Nápověda NOLOCK vrátí upravená, ale nepotvrzená data.
- Pokud jsou data čtena v jedné transakci, aktualizace těchto dat v jiné transakci počká na dokončení první transakce.
- Sdílené zámky jsou povoleny během provádění příkazu a deaktivovány na konci transakce , na rozdíl od Read Committed.
- Exkluzivní zámky jsou aktivovány během provádění příkazu a deaktivovány na konci transakce .
Serializovatelný
- Pokud se data mění v jedné transakci, výběr těchto dat (v jiné transakci nebo bez transakce) počká na dokončení první transakce. Vyberte pomocí Nápověda NOLOCK bude vrátit upravená, ale nepotvrzená data.
- Pokud jsou data čtena v jedné transakci, aktualizace těchto dat v jiné transakci počká na dokončení první transakce.
- Sdílené zámky jsou povoleny během provádění příkazu a deaktivovány na konci transakce .
- Exkluzivní zámky jsou aktivovány během provádění příkazu a jsou deaktivovány na konci transakce.
- Exkluzivní zámky rozsahu jsou povoleny pro klíče, které splňují rozsah kritérií dotazu. Vkládání nových záznamů spadajících do tohoto rozsahu není povoleno. Totožné s nastavením ten HOLDLO CK nápověda pro všechny SELECTy v Přečtěte si Committed.
Snímek
(změnit databázi xxx nastavit allow_snapshot_isolation na)
- Pokud se data mění v jedné transakci, výběr těchto dat (v jiné transakci nebo bez transakce) nebude čekat na dokončení první transakce. a vrátí hodnoty v tuto chvíli z zahájení transakce . Vyberte pomocí Nápověda NOLOCK bude vrátit upravená, ale nepotvrzená data.
- Pokud se data načítají v jedné transakci, aktualizace těchto dat v jiné transakci nebudou čekat na dokončení první transakce.
- Sdílené zámky se nepoužívají. Místo toho je použit mechanismus Row Versioning – data aktualizovaných záznamů jsou uložena v tempdb .
- Výhradní zámky jsou aktivovány během provádění příkazu a deaktivovány na konci transakce.
Testováno na MSSQL 2014.