Подсказки блокировки задают тип блокировки, используемый Database Engine для блокировки данных таблицы. Подсказки блокировки на уровне таблицы могут быть использованы, когда запрашивается точная регулировка типов блокировки для требуемого ресурса. (Подсказки блокировки перекрывают текущий уровень изоляции транзакции для данной сессии.)
Все подсказки блокировки записываются как часть предложения from в операторе select. Вы можете использовать следующие подсказки блокировки:
♦ updlock устанавливает блокировку обновлений для каждой строки таблицы в процессе операций чтения. Все блокировки обновлений сохраняются до завершения транзакции;
♦ tab lock (tablockx) устанавливает разделяемую (или исключительную) блокировку таблицы для всей таблицы. Все блокировки сохраняются до завершения транзакции;
♦ rowlock заменяет существующую разделяемую блокировку таблицы на разделяемые блокировки строк для каждой указанной строки таблицы;
♦ paglock заменяет разделяемую блокировку таблицы на разделяемые блокировки страниц для каждой страницы, содержащей указанные строки;
♦ nolock - синоним для readuncommitted;
♦ holdlock- синоним для repeatableread;
♦ xlock указывает, что исключительные блокировки будут установлены и сохранены до завершения транзакции. Если xlock указано вместе с rowlock, paglock или tablock, то применяется исключительная блокировка для соответствующего уровня гранулярности;
♦ readpast указывает, что Database Engine не читает строки, заблокированные другими транзакциями.