запросить блокировку ASE DB и продолжительность удержания блокировки - PullRequest
0 голосов
/ 23 мая 2018

Я ищу sql, который распечатывает все блокировки БД, которые в данный момент удерживаются, а также продолжительность блокировки, удерживаемой для ASE.Я хотел бы периодически запускать этот sql, чтобы мы могли отслеживать состояние БД на предмет блокировок.

Ответы [ 2 ]

0 голосов
/ 27 июня 2018

В системе также хранится процедура sp_object_stats.Из документов :

"Показывает конфликты блокировок, время ожидания блокировки и статистику взаимоблокировок для таблиц и индексов"

Вывод для одного объекта выглядит следующим образом:

    Object Name: pubtune..titles (dbid=7, objid=208003772,lockscheme=Datapages)

  Page Locks     SH_PAGE                UP_PAGE               EX_PAGE$
  ----------    ----------             ----------            ----------
  Grants:         94488                  4052                  4828
  Waits:               532                    500                   776
  Deadlocks:             4                      0                    24
  Wait-time:      20603764 ms           14265708 ms           2831556 ms
  Contention:         0.56%                 10.98%                13.79%

 *** Consider altering pubtune..titles to Datarows locking.

Отображение 10 лучших объектов по умолчанию.

0 голосов
/ 23 мая 2018

См. Таблицу master..monLocks для получения списка предоставленных блокировок и ожидающих (заблокированных) запросов блокировки.

В столбце WaitTime будет указано количество секунд процессаждал запрошенную блокировку.Вы должны быть в состоянии использовать остальные столбцы в этой таблице для построения желаемого запроса (ПРИМЕЧАНИЕ: вам может потребоваться объединиться с другими таблицами ... зависит от того, какую информацию вы ищете).

...