Разделяемая блокировка - Большая Энциклопедия Нефти и Газа, статья, страница 1
Если тебе трудно грызть гранит науки - попробуй пососать. Законы Мерфи (еще...)

Разделяемая блокировка

Cтраница 1


Разделяемые блокировки полезны в операциях только для чтения, но не очень нужны при модификации данных. В таких ситуациях SQL-сервер выбирает более мощный механизм блокирования информации.  [1]

Теперь SQL-сервер сохраняет активной разделяемую блокировку для таблицы customer flights активной до окончания всей транзакции. Это означает, что блокировка остается даже при обращении к другим таблицам. Этот режим сильно ограничивает работ) параллельных пользователей, и при неправильном применении он чреват многочисленными проблемами.  [2]

Установка PAGLOCK указывает SQL-серверу на необходимость формирования разделяемых блокировок на уровне страниц ( page), а не на табличном уровне. В результате значительно повышается число блокировок в транзакции, следовательно, существует вероятность исчерпать этот ресурс. Однако повышается и параллельность работы, так как появляется возможность модифицировать другие, незаблокированные страницы таблицы.  [3]

Когда задана установка UPDLOCK, SQL-сервер вместо более мягких разделяемых блокировок ( установка по умолчанию) применяет блокировки обновления для всех нужных страниц.  [4]

При помощи этого запроса для таблицы customer flights устанавливается разделяемая блокировка до тех пор, пока не будут считаны все указанные строки.  [5]

Блокировка такого типа сообщает о готовности процесса к установлению разделяемой блокировки для страницы.  [6]

SQL-сервер создает целевую блокировку, планируя запросить исключающую или разделяемую блокировку страницы. Целевая блокировка сообщает другим процессам, что они не могут установить свои исключающие блокировки для указанного ресурса.  [7]

Задание этого параметра означает, что оператор SELECT не будет запрашивать разделяемые блокировки для страниц данных. Кроме того, если во время выполнения запрос встречается существующая блокировка, то она игнорируется и информация все равно возвращается. Не забывайте, что данный процесс влияет на целостность данных, так как программа может выбирать строки-фантомы. Более подробно об уровне изоляции транзакций READ UNCOMMITTED рассказано в этой главе выше.  [8]

Ранее было описано, как SQL-сервер применяет обновляющую блокировку для резервирования страницы, которую необходимо изменить. Изменить в данном контексте означает ввести, обновить или удалить информацию. Когда первым в операции обновления данных идет оператор SELECT, то вместо более привычных разделяемых блокировок в этом операторе можно указать обновляющие. Применение в запросе обновляющих блокировок гарантирует, что данные, к которым обращается запрос, не будут изменены другими пользователями или процессами. Обновляющие блокировки сохраняют исходное состояние данных до их обновления.  [9]



Страницы:      1