|
NOLOCK Когда этот параметр отмечен, SQL Server не добавляет блокировок при чтении или изменении данных. В этом случае пользователь может читать данные из незавершенной транзакции или отката, так называемые "грязные данные".
HOLDLOCK Когда эта опция отмечена, SQL Server будет удерживать общую блокировку до конца всей транзакции, не освобождая ее по пути.
UPDLOCK Когда эта опция отмечена, SQL Server использует блокировку модификации вместо общей блокировки при чтении данных и удерживает эту блокировку до конца всей транзакции или команды. Эта опция гарантирует, что несколько процессов могут читать данные одновременно, но только этот процесс может изменять данные.
TABLOCK Когда эта опция отмечена, SQL Server накладывает общую блокировку на всю таблицу до конца выполнения команды. Эта опция гарантирует, что другие процессы могут только читать, но не изменять данные.
PAGLOCK Эта опция используется по умолчанию. Если она отмечена, SQL Server использует общую блокировку страницы.
TABLOCKX (блокировка исключения таблиц) Когда эта опция отмечена, SQL Server накладывает исключительную блокировку на всю таблицу до завершения команды или транзакции. Это не позволит другим процессам читать или изменять данные в таблице.
HOLDLOCK Удерживает общую блокировку до завершения транзакции и должна быть освобождена, как только заблокированный объект станет не нужен, что равно уровню изоляции транзакции SERIALIZABLE.
Выполнение оператора NOLOCK не устанавливает общую блокировку, разрешая грязное чтение, что соответствует уровню изоляции транзакции READ UNCOMMITTED.
PAGLOCK При использовании табличной блокировки используется несколько блокировок страниц.
READPAST Позволяет sql-серверу пропустить все заблокированные строки и выполнить транзакцию, применяется к уровню изоляции транзакции READ UNCOMMITTED, пропускает только RID-блокировки, но не страничные, региональные и табличные блокировки.
ROWLOCK Принудительное использование блокировок строк
TABLOCKX Принуждает использовать эксклюзивную блокировку на уровне таблицы, которая запрещает любой другой транзакции использовать таблицу в течение всего времени транзакции.
UPLOCK Принудительное использование обновлений при чтении таблицы без использования общей блокировки.
Примечание: Разница между блокировкой таблицы в базе данных SELECT * FROM table WITH (HOLDLOCK) Другие транзакции могут читать таблицу, но не могут ее обновлять или удалять. SELECT * FROM table WITH (TABLOCKX) Другие транзакции не могут читать таблицу, но не могут ее обновлять или удалять. |
Предыдущая: Win10 удаленный рабочий стол двухэкранный дисплейNext: .NET/C# на основе Nethereum для создания учетной записи ETH-кошелька и проверки пароля [с исходным кодом].
|