Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / deadlock и объекты / 5 сообщений из 5, страница 1 из 1
16.10.2002, 08:58:14
    #32058616
Dimanch
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
deadlock и объекты
Подскажите пожалуйста, как мне отслеживать, на какие объекты наложены блокировки в сессиях, блокирующих друг друга
...
Рейтинг: 0 / 0
16.10.2002, 09:42:31
    #32058631
Белов Владимир
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
deadlock и объекты
sp_lock
есть поля
spid - процесс
dbid - идентификатор БД смотри в master..sysdatabases
ObjId - идентификатор объекта смотри в dbo.sysobjects в базе с ID dbid

запрос я думаю сможешь написать
...
Рейтинг: 0 / 0
16.10.2002, 16:47:38
    #32058854
Dimanch
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
deadlock и объекты
Это понятно, но проблема в том, что мне надо отлавливать критичные на предмет deadlocks места. Не хочется писать job, который будет вести статистику по блокировкам, и затем искать в ней нужный (deadlock) случай. А когда deadlock произошел, одна из сессий ведь уже "умерла". Просто, может, есть более простой способ, чем самостоятельно вести подобный журнал блокировок. В профайлере, к сожалению, не удалось вывести идентификатор заблокированного объекта.
...
Рейтинг: 0 / 0
16.10.2002, 21:55:24
    #32058985
George N
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
deadlock и объекты
deadlock отлавливать не нужно. SQL сам их отловит и довольно быстро (дело пары секунд после возникновения максимум). Сделает RollBack той транзакции, которую откатить легче. Или ту, у которой стоит SET DEADLOCK PRIORITY LOW.

Другое дело, что код нужно писать так, чтоб их избегать по возможности...

Однако мне кажется, что вы говорите об обычных, а не взаимных блокировках. Можно поставить SET LOCK_TIMEOUT, чтоб долгоиграющие процессы не лочили всем остальным жизнь... (важно, например, для web-серверов)
...
Рейтинг: 0 / 0
17.10.2002, 11:17:53
    #32059106
Dimanch
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
deadlock и объекты
Нет, я как раз имею в виду взаимоблокировки. А статистика мне нужна именно для того, чтобы код попробовать переписать, чтобы снизить вероятность deadlocks. А так как код достаточно объемный, желательно более-менее точно локализовать узкое место. Вопрос в сущности в том, как зафиксировать заблокированные объекты для случая deadlocks.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / deadlock и объекты / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]