Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
11.08.2021, 14:13
|
|||
|---|---|---|---|
Как собрать статистику блокировок, которые накладываем сессия? |
|||
|
#18+
Всем привет. Есть задача собрать статистику какие объекты блокируются во время выполнения ночного расчета. Есть джоб, которые состоит из 50 шагов, выполняется исключительно в ночное время, возможно ли собрать статистику в разрезе шага, о том, какие типы блокировок и на какие объекты вызывала сессия во время своей работы? Например, в начале шага я получаю SPID сессии, возможно ли используя T-SQL запустить трассировку этой сессии с сохранением результата Session Locks? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.08.2021, 14:31
|
|||
|---|---|---|---|
Как собрать статистику блокировок, которые накладываем сессия? |
|||
|
#18+
teCa, Собственно чуть уточню. Сейчас задумка такая. Вначале шага я получаю SPID и передаю его в сервис брокер, который с момента старта мерджит данные из sys.dm_tran_locks, в конце шага я отключаю СБ. По идее, я получу все объекты с типами блокировок на них и временем. Нужно лишь придумать обработку, которая завершит работу внутри СБ если случится ошибка внутри шага. Но может я изобретаю велосипед и можно это сделать другими средствами предусмотренными в MS SQL? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.08.2021, 14:53
|
|||
|---|---|---|---|
|
|||
Как собрать статистику блокировок, которые накладываем сессия? |
|||
|
#18+
Посмотрите Extended Events. Там можно много чего собирать, отбирая данные по учетке, базе данных...Запускаете задачу под отдельной учеткой и можно собирать данные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.08.2021, 21:48
|
|||
|---|---|---|---|
Как собрать статистику блокировок, которые накладываем сессия? |
|||
|
#18+
teCa, создавайте программно xEvent сессию на событие lock_accuqired с фильтром на ваш SPID, после обрабатывайте полученные данные и удаляйте сессию. решение с постоянным мониторингом sys.dm_tran_locks может пропустить события блокировки ресурсов, особенно если сервер нагруженный выборка из этого dmv может быть долгой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.08.2021, 12:19
|
|||
|---|---|---|---|
Как собрать статистику блокировок, которые накладываем сессия? |
|||
|
#18+
felix_ff teCa, создавайте программно xEvent сессию на событие lock_accuqired с фильтром на ваш SPID, после обрабатывайте полученные данные и удаляйте сессию. решение с постоянным мониторингом sys.dm_tran_locks может пропустить события блокировки ресурсов, особенно если сервер нагруженный выборка из этого dmv может быть долгой. Пошел вашим путем, сделал 2 хранимки, первая создает трассировку с фильтром по SPID, вторая хранимка завершает трассировку: авторexec [dbo].[CREATE_xEVENT_SESSION_by_SPID] 338,'test' waitfor delay '00:00:10' exec [dbo].[STOP_xEVENT_SESSION_by_NAME] 'test' В итоге получаю трассировку с 10000 записей, как мне теперь прочитать эти данные и можно ли читать их в табличном виде? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.08.2021, 00:53
|
|||
|---|---|---|---|
Как собрать статистику блокировок, которые накладываем сессия? |
|||
|
#18+
teCa, ну вы цель то для x-сессии указали? если файл то https://docs.microsoft.com/ru-ru/sql/relational-databases/system-functions/sys-fn-xe-file-target-read-file-transact-sql?view=sql-server-ver15 если ring_buffer то sys.dm_xe_session_targets + xml-methods ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=46&mobile=1&tid=1684406]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 271ms |
| total: | 389ms |

| 0 / 0 |
