|
|
Публикувано в 20.07.2016 г. 14:02:51 ч.
|
|
|

NOLOCK Когато тази опция е избрана, SQL Server чете или променя данни без никакви заключвания. В този случай потребителят може да прочете данни от нерегистрирана транзакция или връщане назад, известно като "мръсни данни".
ЗАДЪРЖАНЕ Когато тази опция е избрана, SQL Server поддържа тази споделена заключваща система до края на цялата транзакция, без да я освобождава по пътя.
UPDLOCK Когато тази опция е избрана, SQL Server използва заключване за промяна вместо споделено заключване при четене на данни и поддържа тази заключване до края на цялата транзакция или команда. Тази опция гарантира, че множество процеси могат да четат данни едновременно, но само този процес може да ги променя.
TABLOCK Когато тази опция бъде избрана, SQL Server поставя споделено заключване върху цялата таблица, докато командата приключи. Тази опция гарантира, че другите процеси могат само да четат и да не променят данните.
ПАГЛОК Тази опция е по подразбиране и при избране SQL Server използва споделена заключване на страницата.
TABLOCKX (Ексклузивна заключване на маса) Когато тази опция бъде избрана, SQL Server ще заключи цялата таблица, докато командата или транзакцията приключи. Това ще предотврати други процеси да четат или променят данните в таблицата.
HOLDLOCK държи споделената заключваща система, докато цялата транзакция не бъде завършена, и трябва да бъде освободена веднага щом заключеният обект не е необходим, равно на нивото на изолация на СЕРИАЛИЗИРАЕМАТА транзакция
Операторът NOLOCK се изпълнява без издаване на споделено заключване, което позволява мръсни четения, което е равно на нивото на изолация на READ UNCOMMITTED транзакцията
PAGLOCK използва няколко заключвания на страници, при които се използва една заключване на маса
READPAST позволява на SQL сървъра да пропуска заключени линии и да изпълнява транзакции, а за нива на изолация на READ неангажирани транзакции пропуска само RID заключвания, не страници, зони и таблици
ROWLOCK налага използването на rowlock
TABLOCKX налага използването на изключителна заключване на ниво таблица, което предотвратява използването на таблицата от друга транзакция по време на транзакцията
UPLOCK принуждава използването на актуализации при четене на таблица без споделена заключване
Забележка: Разликата между заключването на таблица в база данни SELECT * FROM TABLE WITH (HOLDLOCK) Други транзакции могат да четат таблицата, но не могат да актуализират или изтрият SELECT * FROM TABLE WITH (TABLOCKX) Други транзакции не могат да четат, актуализират и изтриват таблици |
Предишен:Заключвания, мръсни четения, неповторими четения и фалшиви четения в SQLСледващ:SQL Server разглежда задънената ситуация и я освобождава
|