//

MS SQL Server, ожидания кратковременных блокировок, скрипт

Очень простой скрипт, полезен своими комментариями. Временами очень удобен.

 

—https://msdn.microsoft.com/ru-ru/library/ms175066(v=sql.120).aspx
—Возвращает сведения обо всех случаях ожидания кратковременных блокировок, систематизированных по классам.
—Dmitry Gorchilin
—20151013, DP.UA
;with [SumLatch] as (select sum(wait_time_ms) as SumLatch
FROM sys.dm_os_latch_stats
)
select 100.*wait_time_ms/SumLatch.SumLatch as ‘%OfLatch’,
wait_time_ms,latch_class,
case latch_class
when ‘ALLOC_CREATE_RINGBUF’ then ‘Используется внутренними механизмами SQL Server для инициализации синхронизации процесса создания кольцевого буфера размещения.’
when ‘ALLOC_CREATE_FREESPACE_CACHE’ then ‘Используется для инициализации синхронизации кэшей свободного внутреннего пространства для куч.’
when ‘ALLOC_CACHE_MANAGER’ then ‘Используется для синхронизации проверок внутренней связности.’
when ‘ALLOC_FREESPACE_CACHE’ then ‘Используется для синхронизации доступа к кэшу страниц со свободным пространством для размещения куч и больших двоичных объектов (BLOBs). Состязание за доступ к кратковременным блокировкам этого класса может происходить в случаях, когда несколько соединений одновременно пытаются ввести строки в кучу или в BLOB. Снизить состязание можно с помощью секционирования соответствующего объекта. Каждая секция имеет собственную кратковременную блокировку. В ходе секционирования вставки будут распределены по нескольким кратковременным блокировкам.’
when ‘ALLOC_EXTENT_CACHE’ then ‘Используется для синхронизации доступа к кэшу экстентов, который содержит нераспределенные страницы. Состязание за доступ к кратковременным блокировкам этого класса может происходить в случаях, когда несколько соединений одновременно пытаются выделить страницы данных в одну и ту же единицу распределения. Снизить состязание можно с помощью секционирования объекта, в состав которого входит данная единица распределения.’
when ‘ACCESS_METHODS_DATASET_PARENT’ then ‘Используется для синхронизации доступа дочернего набора данных к родительскому набору данных при выполнении параллельных операций.’
when ‘ACCESS_METHODS_HOBT_FACTORY’ then ‘Используется для синхронизации доступа к внутренней хэш-таблице.’
when ‘ACCESS_METHODS_HOBT’ then ‘Используется для синхронизации доступа к хранимому в памяти представлению HoBt.’
when ‘ACCESS_METHODS_HOBT_COUNT’ then ‘Используется для синхронизации доступа к памяти HoBt и к счетчикам строк.’
when ‘ACCESS_METHODS_HOBT_VIRTUAL_ROOT’ then ‘Используется для синхронизации доступа к абстракции корневой страницы внутреннего сбалансированного дерева. ‘
when ‘ACCESS_METHODS_CACHE_ONLY_HOBT_ALLOC’ then ‘Используется для синхронизации доступа к рабочим таблицам.’
when ‘ACCESS_METHODS_BULK_ALLOC’ then ‘Используется для синхронизации доступа между механизмами массового выделения пространства.’
when ‘ACCESS_METHODS_SCAN_RANGE_GENERATOR’ then ‘Используется для синхронизации доступа к генератору диапазонов при выполнении параллельного сканирования.’
when ‘ACCESS_METHODS_KEY_RANGE_GENERATOR’ then ‘Используется для синхронизации доступа к операциям упреждающего чтения при выполнении параллельного просмотра важнейших диапазонов.’
when ‘APPEND_ONLY_STORAGE_INSERT_POINT’ then ‘Используется для синхронизации вставок в быстродействующие блоки памяти, заполняемые только путем присоединения новых записей.’
when ‘APPEND_ONLY_STORAGE_FIRST_ALLOC’ then ‘Используется для синхронизации первого размещения в блоке памяти, заполняемом только путем присоединения новых записей. ‘
when ‘APPEND_ONLY_STORAGE_UNIT_MANAGER’ then ‘Используется для синхронизации доступа к структурам внутренних данных внутри диспетчера быстродействующих блоков памяти, заполняемых только путем присоединения новых записей.’
when ‘APPEND_ONLY_STORAGE_MANAGER’ then ‘Используется для синхронизации операций сжатия в диспетчере быстродействующих блоков памяти, заполняемых только путем присоединения новых записей.’
when ‘BACKUP_RESULT_SET’ then ‘Используется для синхронизации параллельных резервных копий результирующих наборов.’
when ‘BACKUP_TAPE_POOL’ then ‘Используется для синхронизации пулов лент резервных копий.’
when ‘BACKUP_LOG_REDO’ then ‘Используется для синхронизации операций повтора журнала резервного копирования.’
when ‘BACKUP_INSTANCE_ID’ then ‘Используется для синхронизации создания ID экземпляров счетчиков системного монитора резервного копирования.’
when ‘BACKUP_MANAGER’ then ‘Используется для синхронизации внутреннего диспетчера резервного копирования.’
when ‘BACKUP_MANAGER_DIFFERENTIAL’ then ‘Используется для синхронизации операций разностных резервных копий с DBCC.’
when ‘BACKUP_OPERATION’ then ‘Используется для синхронизации внутренней структуры данных при проведении операций резервного копирования, таких как резервное копирование базы данных, журналов или файлов.’
when ‘BACKUP_FILE_HANDLE’ then ‘Используется для синхронизации операций по открытию файлов при выполнении операций восстановления.’
when ‘BUFFER’ then ‘Используется для синхронизации краткосрочного доступа к страницам баз данных. Кратковременная блокировка буфера необходима перед считыванием или модификацией любой страницы базы данных. Конфликт кратковременной блокировки буферов может указывать на наличие ряда проблем, в числе которых — «горячие» страницы и низкая производительность подсистемы ввода-вывода.’
when » then »
when » then ‘Этот класс кратковременных блокировок охватывает все возможные способы использования кратковременных блокировок страниц. Представление sys.dm_os_wait_stats устанавливает различие между ожиданиями кратковременных блокировок страниц, вызванными операциями ввода-вывода и операциями чтения и записи на данной странице.’
when ‘BUFFER_POOL_GROW’ then ‘Используется для синхронизации внутреннего диспетчера буферов при выполнении операций увеличения буферного пула.’
when ‘DATABASE_CHECKPOINT’ then ‘Используется для сериализации контрольных точек внутри базы данных.’
when ‘CLR_PROCEDURE_HASHTABLE’ then ‘Только для внутреннего использования.’
when ‘CLR_UDX_STORE’ then ‘Только для внутреннего использования.’
when ‘CLR_DATAT_ACCESS’ then ‘Только для внутреннего использования.’
when ‘CLR_XVAR_PROXY_LIST’ then ‘Только для внутреннего использования.’
when ‘DBCC_CHECK_AGGREGATE’ then ‘Только для внутреннего использования.’
when ‘DBCC_CHECK_RESULTSET’ then ‘Только для внутреннего использования.’
when ‘DBCC_CHECK_TABLE’ then ‘Только для внутреннего использования.’
when ‘DBCC_CHECK_TABLE_INIT’ then ‘Только для внутреннего использования.’
when ‘DBCC_CHECK_TRACE_LIST’ then ‘Только для внутреннего использования.’
when ‘DBCC_FILE_CHECK_OBJECT’ then ‘Только для внутреннего использования.’
when ‘DBCC_PERF’ then ‘Используется для синхронизации счетчиков внутреннего системного монитора.’
when ‘DBCC_PFS_STATUS’ then ‘Только для внутреннего использования.’
when ‘DBCC_OBJECT_METADATA’ then ‘Только для внутреннего использования.’
when ‘DBCC_HASH_DLL’ then ‘Только для внутреннего использования.’
when ‘EVENTING_CACHE’ then ‘Только для внутреннего использования.’
when ‘FCB’ then ‘Используется для синхронизации доступа к блоку управления файлами.’
when ‘FCB_REPLICA’ then ‘Только для внутреннего использования.’
when ‘FGCB_ALLOC’ then ‘Используется для синхронизации доступа к данным, размещенным внутри файловой группы в порядке круговой очереди.’
when ‘FGCB_ADD_REMOVE’ then ‘Используется для синхронизации доступа к файловым группам для выполнения над файлами операций ADD и DROP.’
when ‘FILEGROUP_MANAGER’ then ‘Только для внутреннего использования.’
when ‘FILE_MANAGER’ then ‘Только для внутреннего использования.’
when ‘FILESTREAM_FCB’ then ‘Только для внутреннего использования.’
when ‘FILESTREAM_FILE_MANAGER’ then ‘Только для внутреннего использования.’
when ‘FILESTREAM_GHOST_FILES’ then ‘Только для внутреннего использования.’
when ‘FILESTREAM_DFS_ROOT’ then ‘Только для внутреннего использования.’
when ‘LOG_MANAGER’ then ‘Только для внутреннего использования.’
when ‘FULLTEXT_DOCUMENT_ID’ then ‘Только для внутреннего использования.’
when ‘FULLTEXT_DOCUMENT_ID_TRANSACTION’ then ‘Только для внутреннего использования.’
when ‘FULLTEXT_DOCUMENT_ID_NOTIFY’ then ‘Только для внутреннего использования.’
when ‘FULLTEXT_LOGS’ then ‘Только для внутреннего использования.’
when ‘FULLTEXT_CRAWL_LOG’ then ‘Только для внутреннего использования.’
when ‘FULLTEXT_ADMIN’ then ‘Только для внутреннего использования.’
when ‘FULLTEXT_AMDIN_COMMAND_CACHE’ then ‘Только для внутреннего использования.’
when ‘FULLTEXT_LANGUAGE_TABLE’ then ‘Только для внутреннего использования.’
when ‘FULLTEXT_CRAWL_DM_LIST’ then ‘Только для внутреннего использования.’
when ‘FULLTEXT_CRAWL_CATALOG’ then ‘Только для внутреннего использования.’
when ‘FULLTEXT_FILE_MANAGER’ then ‘Только для внутреннего использования.’
when ‘DATABASE_MIRRORING_REDO’ then ‘Только для внутреннего использования.’
when ‘DATABASE_MIRRORING_SERVER’ then ‘Только для внутреннего использования.’
when ‘DATABASE_MIRRORING_CONNECTION’ then ‘Только для внутреннего использования.’
when ‘DATABASE_MIRRORING_STREAM’ then ‘Только для внутреннего использования.’
when ‘QUERY_OPTIMIZER_VD_MANAGER’ then ‘Только для внутреннего использования.’
when ‘QUERY_OPTIMIZER_ID_MANAGER’ then ‘Только для внутреннего использования.’
when ‘QUERY_OPTIMIZER_VIEW_REP’ then ‘Только для внутреннего использования.’
when ‘RECOVERY_BAD_PAGE_TABLE’ then ‘Только для внутреннего использования.’
when ‘RECOVERY_MANAGER’ then ‘Только для внутреннего использования.’
when ‘SECURITY_OPERATION_RULE_TABLE’ then ‘Только для внутреннего использования.’
when ‘SECURITY_OBJPERM_CACHE’ then ‘Только для внутреннего использования.’
when ‘SECURITY_CRYPTO’ then ‘Только для внутреннего использования.’
when ‘SECURITY_KEY_RING’ then ‘Только для внутреннего использования.’
when ‘SECURITY_KEY_LIST’ then ‘Только для внутреннего использования.’
when ‘SERVICE_BROKER_CONNECTION_RECEIVE’ then ‘Только для внутреннего использования.’
when ‘SERVICE_BROKER_TRANSMISSION’ then ‘Только для внутреннего использования.’
when ‘SERVICE_BROKER_TRANSMISSION_UPDATE’ then ‘Только для внутреннего использования.’
when ‘SERVICE_BROKER_TRANSMISSION_STATE’ then ‘Только для внутреннего использования.’
when ‘SERVICE_BROKER_TRANSMISSION_ERRORS’ then ‘Только для внутреннего использования.’
when ‘SSBXmitWork’ then ‘Только для внутреннего использования.’
when ‘SERVICE_BROKER_MESSAGE_TRANSMISSION’ then ‘Только для внутреннего использования.’
when ‘SERVICE_BROKER_MAP_MANAGER’ then ‘Только для внутреннего использования.’
when ‘SERVICE_BROKER_HOST_NAME’ then ‘Только для внутреннего использования.’
when ‘SERVICE_BROKER_READ_CACHE’ then ‘Только для внутреннего использования.’
when ‘SERVICE_BROKER_WAITFOR_MANAGER’ then ‘Только для внутреннего использования.’
when ‘SERVICE_BROKER_WAITFOR_TRANSACTION_DATA’ then ‘Только для внутреннего использования.’
when ‘SERVICE_BROKER_TRANSMISSION_TRANSACTION_DATA’ then ‘Только для внутреннего использования.’
when ‘SERVICE_BROKER_TRANSPORT’ then ‘Только для внутреннего использования.’
when ‘SERVICE_BROKER_MIRROR_ROUTE’ then ‘Только для внутреннего использования.’
when ‘TRACE_ID’ then ‘Только для внутреннего использования.’
when ‘TRACE_AUDIT_ID’ then ‘Только для внутреннего использования.’
when ‘TRACE’ then ‘Только для внутреннего использования.’
when ‘TRACE_CONTROLLER’ then ‘Только для внутреннего использования.’
when ‘TRACE_EVENT_QUEUE’ then ‘Только для внутреннего использования.’
when ‘TRANSACTION_DISTRIBUTED_MARK’ then ‘Только для внутреннего использования.’
when ‘TRANSACTION_OUTCOME’ then ‘Только для внутреннего использования.’
when ‘NESTING_TRANSACTION_READONLY’ then ‘Только для внутреннего использования.’
when ‘NESTING_TRANSACTION_FULL’ then ‘Только для внутреннего использования.’
when ‘MSQL_TRANSACTION_MANAGER’ then ‘Только для внутреннего использования.’
when ‘DATABASE_AUTONAME_MANAGER’ then ‘Только для внутреннего использования.’
when ‘UTILITY_DYNAMIC_VECTOR’ then ‘Только для внутреннего использования.’
when ‘UTILITY_SPARSE_BITMAP’ then ‘Только для внутреннего использования.’
when ‘UTILITY_DATABASE_DROP’ then ‘Только для внутреннего использования.’
when ‘UTILITY_DYNAMIC_MANAGER_VIEW’ then ‘Только для внутреннего использования.’
when ‘UTILITY_DEBUG_FILESTREAM’ then ‘Только для внутреннего использования.’
when ‘UTILITY_LOCK_INFORMATION’ then ‘Только для внутреннего использования.’
when ‘VERSIONING_TRANSACTION’ then ‘Только для внутреннего использования.’
when ‘VERSIONING_TRANSACTION_LIST’ then ‘Только для внутреннего использования.’
when ‘VERSIONING_TRANSACTION_CHAIN’ then ‘Только для внутреннего использования.’
when ‘VERSIONING_STATE’ then ‘Только для внутреннего использования.’
when ‘VERSIONING_STATE_CHANGE’ then ‘Только для внутреннего использования.’
when ‘KTM_VIRTUAL_CLOCK’ then ‘Только для внутреннего использования.’
else ‘***’ end as ‘Description’
from sys.dm_os_latch_stats,SumLatch
where wait_time_ms>0
order by wait_time_ms DESC

Богатый опыт работы с Sybase Replication Server, Sybase ASE Server, MS SQL Server

Опубликовано в SQL
23 comments on “MS SQL Server, ожидания кратковременных блокировок, скрипт
  1. Hello! My name is MaryMarkova, our compane need to advertise on your website. What is your prices? Thank you. Best regards, Mary.

  2. Hello! My name is AnnaMarkova, our company need to advertise on your website. What is your prices? Thank you. Best regards, Mary.

  3. От администратора: хорошие люди просили помочь.

    Продажа металлочерепицы и профнастила, Запорожье и Запорожская область

    http://www.digger.dp.ua/profnastil/

    Предлагаем со склада в Запорожье круг абразивный, круг отрезной, круг алмазный, сетку абразивную, бумагу наждачную, ленту шлифовальную, уровни строительные, лестницы

    http://www.digger.dp.ua/wp-content/uploads/ZA/z_instrument_1.htm

    From admin: good people are asked to help.
    Sale of metal and corrugated board, Zaporozhye and Zaporozhye region
    We offer from a warehouse in Kiev Circles abrasive, Cutting wheels, diamond circle, abrasive mesh sandpaper, sanding belt, construction levels, stairs

  4. Alicewab:

    Hi! My name is Alice, to me 18 and I very love hot dirty sex!

    Go to my site: vip-file-xxx.org

  5. Kavelwar:

    Купил 4 года назад по одной вечной ссылке на сайте http://menetie.ru/ и http://housemilan.ru/ — спустя 4 года что я вижу: первый сайт вообще прекратил свое существование, вместо сайта где покупалась ссылка появился каталог говнорефератов. Второй сайт работает как и работал, но вечная ссылка снята. Не рекомендую никому иметь дело с владельцами этих сайтов.

  6. Yeah … Suffice controversial, would argue with the author …

    [url=http://forum.ferodevices.com/forum/main-forum/65877-cialis-price-rising] Shdeto I have something like that already seen
    [/url]

    http://elegy14.com/forums/viewtopic.php?f=11&t=171763 djhf784yh3oh873

  7. Продаём просрочку дешево! Купить просроченные продукты питания с переклеенной датой
    Тухлые продукты продают тут: https://fiberam-market.ru fiberam@bk.ru
    Здесь продают вялые цветы: http://www.цветы-здесь.рф/
    Трамадол без рецепта, наркоту купить можно здесь: http://fiberam-farma.ru
    Просрочка купить: admin@fiberam-market.ru
    Отзывы: https://market.yandex.ru/shop/293752/reviews?sort_by=rank

  8. WOW reading this makes me glad I found a woman willing to settle for me…I would be horribly inadequate at dating i my 30’s. I do shit even I think is creepy….

  9. яндекс ПС [url=https://www.sevastopol.club/]Форум Севастополя[/url]

  10. Enigma — Шаблоны WordPress. Скачать бесплатно премиум шаблон Вордпресс [url=http://ruwordpress.ru/enigma/]Show more…[/url]

  11. MS SQL Server, ожидания кратковременных блокировок, скрипт | DiggerSite

  12. Fed up of typing «who can write my essay» in the search bar? Would you like to have a reliable helper always by your side? Essayerudite.com will come as an excellent solution to this problem.
    We do our best to keep you satisfied with the service we provide.

  13. Prezzo compresse con ricetta, consiglio acquisto online e vendita milano, acquistare generico online tranne vendita italia. Vendita generico online anche online spedizione veloce, miglior sito per comprare generico e generico in italia contrassegno nonostante come acquistare

  14. Hello! Thank you for your articles! This is rather inviting! Continue to eradicate more, with impatience I wishes mark time exchange for news from you.

  15. Здравствуйте! Хочу предложить Вам свою услугу раскрутки вашего сайта ссылками. На данный момент есть профильный и статейный тарифы.
    Если хотите продвинуться, отпишите пожалуйста на электр. ящик: proxrum @ mail.ru (уберите пробелы). Если нет, то смотрите новинки кино http://novinki-kino.com/ !:)
    ———-
    С Уважением!

Добавить комментарий

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

*