如何查找包含指定用户定义函数的SQL Server数据库?
查找SQL Server中函数所属数据库的查询语句
以下是可直接使用的查询语句,输入目标函数名后,会遍历所有数据库并返回该函数所在的数据库、架构及函数类型:
-- 替换为你要查找的函数名称 DECLARE @TargetFunction NVARCHAR(128) = 'YourFunctionName'; -- 遍历所有数据库查询目标函数 EXEC sp_msforeachdb ' USE [?]; SELECT DB_NAME() AS 数据库名称, SCHEMA_NAME(s.schema_id) AS 架构名称, o.name AS 函数名称, CASE o.type WHEN ''FN'' THEN ''标量函数'' WHEN ''IF'' THEN ''内联表值函数'' WHEN ''TF'' THEN ''表值函数'' WHEN ''FS'' THEN ''CLR标量函数'' WHEN ''FT'' THEN ''CLR表值函数'' END AS 函数类型 FROM sys.objects o INNER JOIN sys.schemas s ON o.schema_id = s.schema_id WHERE o.name = ''' + @TargetFunction + ''' AND o.type IN (''FN'', ''IF'', ''TF'', ''FS'', ''FT''); '
使用说明:
- 将
@TargetFunction变量的值替换为你要查找的函数名 - 执行后,结果集会列出所有包含该函数的数据库信息;若无结果,则说明该函数不存在于当前实例的任何数据库中
- 支持查找各类SQL Server函数:标量、表值、CLR函数等
内容的提问来源于stack exchange,提问作者Azhar Majeed
相关产品推荐
相关产品推荐

