|
|
|
deadlock и объекты
|
|||
|---|---|---|---|
|
#18+
Подскажите пожалуйста, как мне отслеживать, на какие объекты наложены блокировки в сессиях, блокирующих друг друга ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2002, 08:58:14 |
|
||
|
deadlock и объекты
|
|||
|---|---|---|---|
|
#18+
sp_lock есть поля spid - процесс dbid - идентификатор БД смотри в master..sysdatabases ObjId - идентификатор объекта смотри в dbo.sysobjects в базе с ID dbid запрос я думаю сможешь написать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2002, 09:42:31 |
|
||
|
deadlock и объекты
|
|||
|---|---|---|---|
|
#18+
Это понятно, но проблема в том, что мне надо отлавливать критичные на предмет deadlocks места. Не хочется писать job, который будет вести статистику по блокировкам, и затем искать в ней нужный (deadlock) случай. А когда deadlock произошел, одна из сессий ведь уже "умерла". Просто, может, есть более простой способ, чем самостоятельно вести подобный журнал блокировок. В профайлере, к сожалению, не удалось вывести идентификатор заблокированного объекта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2002, 16:47:38 |
|
||
|
deadlock и объекты
|
|||
|---|---|---|---|
|
#18+
deadlock отлавливать не нужно. SQL сам их отловит и довольно быстро (дело пары секунд после возникновения максимум). Сделает RollBack той транзакции, которую откатить легче. Или ту, у которой стоит SET DEADLOCK PRIORITY LOW. Другое дело, что код нужно писать так, чтоб их избегать по возможности... Однако мне кажется, что вы говорите об обычных, а не взаимных блокировках. Можно поставить SET LOCK_TIMEOUT, чтоб долгоиграющие процессы не лочили всем остальным жизнь... (важно, например, для web-серверов) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2002, 21:55:24 |
|
||
|
deadlock и объекты
|
|||
|---|---|---|---|
|
#18+
Нет, я как раз имею в виду взаимоблокировки. А статистика мне нужна именно для того, чтобы код попробовать переписать, чтобы снизить вероятность deadlocks. А так как код достаточно объемный, желательно более-менее точно локализовать узкое место. Вопрос в сущности в том, как зафиксировать заблокированные объекты для случая deadlocks. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2002, 11:17:53 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32058616&tid=1819539]: |
0ms |
get settings: |
11ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 379ms |

| 0 / 0 |
