SQL Server 2005 - найдите, какие хранимые процессы запускаются в определенной таблице - PullRequest
3 голосов
/ 29 июля 2010
  • Есть ли быстрый способ, который я могу найти какие хранимые процедуры выполняются до конкретная таблица в моей базе данных?
  • База данных очень большая, с множеством таблиц и SPROCS ....

Ответы [ 2 ]

4 голосов
/ 29 июля 2010

Если вы хотите ограничить поиск хранимыми процедурами, вы можете сделать это:

SELECT name
FROM sys.objects
WHERE type = 'P'
    AND OBJECT_DEFINITION(object_id) LIKE '%name_of_your_table%'
ORDER BY name

Если вы хотите включить другие модули SQL - для примеров, функций, триггеров, представлений и т. Д. - тогдаВы можете изменить запрос на WHERE type IN ('P', 'FN', 'IF', 'TF', 'V') и т. д. или использовать альтернативу, приведенную в Ответ Мартина .

3 голосов
/ 29 июля 2010

Комбинация просмотра зависимостей и просмотра текста ваших объектов должна сделать это.

select * from sys.sql_modules
where 
definition like '%tableName%'
/*AND objectproperty(object_id,'isprocedure')=1 to just look at procedures*/

exec sp_depends 'tableName'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...