如何在 SQL Server 中查找使用“我的数据库”的存储过程
Posted
技术标签:
【中文标题】如何在 SQL Server 中查找使用“我的数据库”的存储过程【英文标题】:How to find stored procedures which are using 'My Database' in SQL Server 【发布时间】:2016-08-04 15:34:19 【问题描述】:有什么方法可以找到引用My Database
创建了多少存储过程?
如果我将数据库名称从My Database
更改为No Database
,如何将所有引用我的旧数据库名称的存储过程修改为新数据库名称?
【问题讨论】:
Query to list all stored procedures的可能重复 可以帮助(手动)使用免费搜索工具(例如 Redgate SQL Search)完成您的目标 【参考方案1】:如果您的存储过程中实际上包含文本“我的数据库”,您可以使用它,将“ADB”替换为“数据库名称”:
SELECT DISTINCT o.name AS Object_Name,o.type_desc
FROM sys.sql_modules m
INNER JOIN sys.objects o
ON m.object_id=o.object_id
WHERE m.definition Like '%ABD%'
【讨论】:
谢谢。此查询会调出所有存储过程。如何使用我的新数据库名称修改这些存储过程?? 您可以使用其他系统视图进行替换。我建议遵循 Mike Guthrie 关于使用 Redgate SQL Search 等搜索工具的建议。您也可以使用它修改存储的过程。以上是关于如何在 SQL Server 中查找使用“我的数据库”的存储过程的主要内容,如果未能解决你的问题,请参考以下文章