SQL Server: анализ времени ожидания блокировок
SQL Server: анализ времени ожидания блокировок

SQL Server: анализ времени ожидания блокировок

❤ 580 , Категория: Новости,   ⚑ 14 Авг 2017г

Содержание:
1. Обзор блокировок и кратковременных блокировок (Вы читаете данный раздел);
2. Ожидания SQL Server;
3. Учет блокировок и кратковременных блокировок в DMF статистики работы индекса.


Один из самых важных выводов, которые можно сделать из sys.dm_ db_index_operational_stats, касается того, какие объекты больше всего страдают от ожидания блокировок и кратковременных блокировок. Прежде чем продолжить рассказ о том, как идентифицировать причины снижения производительности, рассмотрим принципы действия блокировок и кратковременных блокировок в Microsoft SQL Server.

В реляционных базах данных блокировкам принадлежит огромная роль в обеспечении соответствия транзакций условиям атомарности, целостности данных, изолированности транзакций и надежности (ACID).

• Атомарность: транзакции должны завершить все действия или вернуться в исходное состояние.
• Целостность данных: поведение транзакций всегда единообразно. Более детальную информацию по данному пункту вы найдете в Интернете — для этого рекомендую установить установить yandex браузер.
• Изолированность транзакций: транзакции защищены от внешнего влияния до тех пор, пока они не будут завершены.
• Надежность: реляционная система управления базами данных ведет запись незафиксированных (тоесть незавершенных) транзакций для восстановления в случае аварии.

Эти требования удовлетворяются с помощью сложных процессов блокировки, гарантирующих, что одновременные запросы от пользователей не взаимодействуют с результатами любых других запросов. Блокировки применяются к строкам и страницам, участвующим в открытых транзакциях, и снимаются после завершения или отмены этих транзакций. Блокировки также применяются к объектам, участвующим в изменениях схемы для этих объектов. Существует сложный набор правил и логики, определяющий поведение блокировок в Microsoft SQL Server, а также различные типы режимов блокировки, кратко описанные ниже.

• Общие Shared (S) блокировки: участвуют в операциях только для чтения, которые не изменяют данные.
• Блокировки изменения Update (U): используются в транзакциях UPDATE, чтобы предотвратить попытки нескольких транзакций обновить одну и ту же строку одновременно.
• Монопольные Exclusive (X) блокировки: ассоциируются с операциями, которые изменяют данные через запросы INSERT, UPDATE или DELETE, чтобы одна транзакция не пыталась изменить строку одновременно с другой транзакцией.
• Блокировки схемы Schema (Sch): назначаются, когда происходит изменение определения объекта, например если добавляется столбец к таблице.
• Блокировки намерения Intent (1): устанавливаются принудительно, чтобы определить «старшинство» блокировок. Блокировки намерения информируют внутренний механизм о том, что транзакция вводится в очередь, чтобы в конечном итоге применить следующую блокировку типа IS (коллективная блокировка намерения), IX (монопольная блокировка намерения) или SIX (коллективная, с монопольной блокировкой намерения).
• Блокировки массового обновления Bulk Update (BU): используются в определенных условиях, когда в ходе операции применяется массовое копирование и предоставляются указания блокировки.
• Блокировки диапазона ключа: вступают в действие, когда используется наиболее строгий уровень изоляции транзакций (сериализуемый). Этот тип блокировки защищает диапазон используется наиболее строгий уровень изоляции транзакций (сериализуемый). Этот тип блокировки защищает диапазон строк, а не единственную строку, участвующую в транзакции в качестве целевой.


По теме: ( из рубрики Новости )

Оставить отзыв

Ваш адрес email не будет опубликован. Обязательные поля помечены *

*
*

4 × 5 =

Похожие записи

наверх