Есть ли способ найти использование функции в SQL Server 2008?
Найти использование функции на сервере SQL
Ответ 1
Ответ для SQL Server 2012:
SELECT DISTINCT sc.id,
so.name
FROM syscomments sc
INNER JOIN sysobjects so
ON so.id = sc.id
WHERE sc.TEXT LIKE '%functionname%'
ORDER BY 2
Ответ 2
Использовать в коде:
SELECT * FROM sys.sql_modules WHERE definition LIKE '%MyFunc%'
UNION
SELECT * FROM sys.computed_columns WHERE definition LIKE '%MyFunc%'
UNION
SELECT * FROM sys.check_constraints WHERE definition LIKE '%MyFunc%'
UNION
SELECT * FROM sys.default_constraints WHERE definition LIKE '%MyFunc%'
Я думаю, что я покрыл все базы...
Вы не можете использовать sys.comments, потому что тип nvarchar (4000)
Ответ 3
С SQL2012, использование sp_depends в вашей базе данных будет перечислять все использование внутри.
ех.
- EXEC sp_depends 'FunctionNameToSearch'
- EXEC sp_depends 'TableNameToSearch'
- EXEC sp_depends 'StoredProcNameToSearch'
Ответ 4
Предполагая, что с помощью "использования" вы подразумеваете "статистику использования", возможно, SQL Server Profiler полезен для вас.