Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 блокировок нет, а они есть  [new]
Алексей2003
Member

Откуда: Москва
Сообщений: 5637
выполняю запрос:
показывает на каждый спид по 1 строке, в objname NULL, в количестве 1, это не блокировки таблиц, по идее.
select OBJECT_NAME(rsc_objid) objname, so.name, req_spid, COUNT(*)
from sys.syslockinfo sli
left join sys.sysobjects so on sli.rsc_objid = so.id
where rsc_dbid = 7
GROUP BY OBJECT_NAME(rsc_objid), so.name, req_spid
order by 4 desc, 1 desc

дальше пытаюсь документ записать, он не проводится, пишет превышен интервал ожидания блокировок. профайлером пытаюсь поймать события Lock:Timeout , не выдает вообще ничего по объектам. только в Object2 показывает длинные идшники, которые не относятся ни к объектам, ни к индексам.

что заблокировано?

для спящего время бодрствования равносильно сну
21 сен 12, 11:40    [13200693]     Ответить | Цитировать Сообщить модератору
 Re: блокировок нет, а они есть  [new]
invm
Member

Откуда: Москва
Сообщений: 9646
Вам нужно анализировать строки из sys.dm_tran_locks с request_status = 'WAIT'
21 сен 12, 11:46    [13200749]     Ответить | Цитировать Сообщить модератору
 Re: блокировок нет, а они есть  [new]
Алексей2003
Member

Откуда: Москва
Сообщений: 5637
пусто..
21 сен 12, 11:53    [13200818]     Ответить | Цитировать Сообщить модератору
 Re: блокировок нет, а они есть  [new]
invm
Member

Откуда: Москва
Сообщений: 9646
Все замечательно отлавливается. Например:

Первая сессия
use tempdb;
go

create table dbo.TestTable (i int);
go

begin tran;
select * from dbo.TestTable with (tablockx);
waitfor delay '00:00:30';
rollback;
go

drop table dbo.TestTable;
go


Вторая сессия
use tempdb;
go

set lock_timeout -1;
select * from dbo.TestTable;
go


В третьей сессии смотрим кто и на чем ожидает
select
 object_name(resource_associated_entity_id, resource_database_id), *
from
 sys.dm_tran_locks
where
 resource_database_id = db_id('tempdb') and
 request_status = N'WAIT';
21 сен 12, 12:40    [13201261]     Ответить | Цитировать Сообщить модератору
 Re: блокировок нет, а они есть  [new]
Алексей2003
Member

Откуда: Москва
Сообщений: 5637
я же не спорю что все отлавливается, только запрос выдает пусто.
первый раз такое поведение вижу.
впрочем решилось все перезапуском SQL сервера.
осталась непонятка, что суслика не видно, а он есть.
21 сен 12, 12:51    [13201357]     Ответить | Цитировать Сообщить модератору
 Re: блокировок нет, а они есть  [new]
invm
Member

Откуда: Москва
Сообщений: 9646
Алексей2003,

Ну тогда попробуйте натравить профайлер на отлов событий Lock: Timeout.
21 сен 12, 13:04    [13201494]     Ответить | Цитировать Сообщить модератору
 Re: блокировок нет, а они есть  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Алексей2003
я же не спорю что все отлавливается, только запрос выдает пусто.
первый раз такое поведение вижу.
впрочем решилось все перезапуском SQL сервера.
осталась непонятка, что суслика не видно, а он есть.
А версию сервера можно увидеть?
21 сен 12, 13:31    [13201927]     Ответить | Цитировать Сообщить модератору
 Re: блокировок нет, а они есть  [new]
Алексей2003
Member

Откуда: Москва
Сообщений: 5637
Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64)
Apr 2 2010 15:48:46
Copyright (c) Microsoft Corporation
Developer Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)
21 сен 12, 17:06    [13203900]     Ответить | Цитировать Сообщить модератору
 Re: блокировок нет, а они есть  [new]
Алексей2003
Member

Откуда: Москва
Сообщений: 5637
invm
Алексей2003,

Ну тогда попробуйте натравить профайлер на отлов событий Lock: Timeout.

написал в начальном посте про то, что не дало результата..
21 сен 12, 17:07    [13203909]     Ответить | Цитировать Сообщить модератору
 Re: блокировок нет, а они есть  [new]
invm
Member

Откуда: Москва
Сообщений: 9646
Алексей2003,

Ага, невнимательно прочитал.

У вас RTM. Обновить бы до SP2.
21 сен 12, 17:11    [13203925]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить