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

Откуда:
Сообщений: 891
Здравствуйте.

Версия сервера:
Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64) Apr 2 2010 15:48:46 Copyright (c) Microsoft Corporation Standard Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: )

Подскажите пожалуйста, понять в чем разница:
С помощью монитора активности SSMS отловили блокировку.

Запросы:
SELECT *
  FROM sys.dm_tran_locks
 WHERE request_status = 'WAIT'


SELECT *
  FROM master.dbo.sysprocesses (nolock) 
 WHERE blocked > 0


видят эту блокировку.

так как SQLServer 2008-ой
делаю запрос содержимого INPUTBUFFER в таком виде:

EXEC ('dbcc inputbuffer (' + @spid + ') with no_infomsgs')


получаю:
myDb.dbo.DeleteCheckedItems;1

Но если посмотреть содержимое запроса из монитора активности SSMS то оно будет другим (по одному и тому же "spid").

Подскажите, может смотрю не туда?
31 окт 18, 13:04    [21720221]     Ответить | Цитировать Сообщить модератору
 Re: Доступ к запросу вызвавшего блокировку  [new]
invm
Member

Откуда: Москва
Сообщений: 9347
MAULER,

Берете из sys.dm_exec_requests значения sql_handle, statement_start_offset, statement_end_offset и с помощью sys.dm_exec_sql_text получаете искомое.
31 окт 18, 13:18    [21720241]     Ответить | Цитировать Сообщить модератору
 Re: Доступ к запросу вызвавшего блокировку  [new]
MAULER
Member

Откуда:
Сообщений: 891
invm,
Благодарю.
31 окт 18, 14:26    [21720337]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить