Найти использование функции на сервере SQL

Есть ли способ найти использование функции в SQL Server 2008?

Ответ 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 

enter image description here

Ответ 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 полезен для вас.