У меня есть список из примерно 350 хранимых процедур, таких как:
usp_SP1,
usp_SP2
...
Я хочу просмотреть каждую из них, чтобы выяснить, вызывает ли какая-либо из них другие хранимые процедуры или другие базы данных?
Полагаю, я бы искал строку типа «exec что-то» в каждом из них или в конкретном имени базы данных.ех.some_other_database
Как мне сделать это, чтобы дать мне список хранимых процедур, которые вызывают другие хранимые процедуры или содержат какую-то конкретную строку?ех."какое-то другое имя базы данных"
Я могу запустить это ниже, но он находит только текст.Есть ли способ, которым я могу гарантировать, что это вызов exec, а не просто текст?
USE [Your_DB];
GO
SELECT
ROUTINE_NAME, ROUTINE_DEFINITION
FROM
INFORMATION_SCHEMA.ROUTINES
WHERE
ROUTINE_DEFINITION LIKE '%exec %'
AND ROUTINE_TYPE = 'PROCEDURE'
AND ROUTINE_NAME IN ('usp_SP1', 'usp_SP2')
GO