2014-10-29 3 views
0

У меня возникли проблемы с моим приложением и SQL Server (2008 R2).Как определить, какие хранимые процедуры выполняются (MSSQL 2008 R2)

У меня есть ошибка, из-за которой хранимая процедура терпит неудачу из-за неверно сконфигурированной переменной SQLCMD, но вызов хранимой процедуры находится в сборке, для которой у меня нет исходного кода.

Есть ли способ посмотреть, какие хранимые процедуры выполняются? Или есть способ определить с помощью SQL-запроса, какие хранимые процедуры были выполнены и когда?

Я действительно застрял. Пожалуйста помоги!

M

+0

Запустите трассировку в SQL Profiler, которая покажет все выполняемые запросы – radar

+0

Профилировщик имеет высокие накладные расходы, вы также можете сделать это с помощью трассировки на стороне сервера, но это более активно. –

ответ

0

Вы можете попробовать запустить это против вашей базы данных:

select OBJECT_NAME([object_id], database_id), last_execution_time, execution_count 
from  sys.dm_exec_procedure_stats 
order by last_execution_time desc 

Документация: http://msdn.microsoft.com/en-us/library/cc280701.aspx

Это дает вам снимок во время исполнения, что было последнего запуска и сколько раз он был выполнен с момента последнего компиляции. В таблице, к сожалению, не содержится журнала, в котором хранимые процедуры запускаются, только когда они были запущены последней и другой полезной информацией.

Для более привлекательного подхода вы можете посмотреть SQL Server Audit, новую функцию для SQL Server 2008. У меня нет большого опыта работы с ней, но это должно дать вам отправную точку, если вы супер застряли.