我想知道是否有任何方法可以在服务器的所有数据库中搜索过程(该服务器上只有SQL server数据库)。
到目前为止,我只发现了如何使用Object_id()
在某个数据库中查找存储过程,但是手动搜索每个数据库需要花费太长时间。我还想知道存储过程应用在哪个数据库中。
我找到的代码:
select *
from MyDataBase.sys.objects
where object_id = object_id(N'MyProcedure')
您可以试试下面的代码
CREATE TABLE #SPs (db_name varchar(100), name varchar(100), object_id int)
EXEC sp_msforeachdb 'USE [?];INSERT INTO #SPs select " ?, name, object_id from sys.procedures'
SELECT * FROM #SPs
参见:https://dba.stackexchange.com/questions/130399/script-to-find-the-list-of-stored-procedures-in-all-databases