Информация о блокировках получается с помощью следующего командного файла:
whoTransact.cmd:
@echo off isql -S %1 -U sa -P "???" -Q "script_text"
где script_text представляет собой следующий скрипт:
SELECT
CONVERT(char(12),master..sysprocesses.hostname),
CONVERT(char(12),master..sysprocesses.program_name),
CONVERT(char(12),master..sysdatabases.NAME),
COUNT(*)
FROM
master..syslockinfo, master..sysprocesses, master..sysdatabases
WHERE
master..syslockinfo.req_spid = master..sysprocesses.spid AND
master..syslockinfo.req_ownertype=1 AND
master..sysdatabases.dbid = master..syslockinfo.rsc_dbid AND
master..syslockinfo.rsc_dbid > 2
GROUP BY master..sysdatabases.NAME, master..sysprocesses.program_name, master..sysprocesses.hostname
Следующий командный файл циклически выполняет первый для постоянного отслеживания транзакций: