有没有人有引用系统信息的有效方法来搜索 SQL Server 2000 实例中所有数据库的存储过程?我目前的任务是将水晶报表迁移到 SSRS,客户有大约 500 个或更多的水晶报表,其存储过程分布在多个数据库中。我知道我可以按文本过滤每个数据库的可编程性文件夹,但我正在寻找一个结果,我可以在其中查询 master.dbo.sysdatabases 并将其引用到 syscomments,我可以在其中指定文本并找到与数据库关联的存储过程。
有没有人有引用系统信息的有效方法来搜索 SQL Server 2000 实例中所有数据库的存储过程?我目前的任务是将水晶报表迁移到 SSRS,客户有大约 500 个或更多的水晶报表,其存储过程分布在多个数据库中。我知道我可以按文本过滤每个数据库的可编程性文件夹,但我正在寻找一个结果,我可以在其中查询 master.dbo.sysdatabases 并将其引用到 syscomments,我可以在其中指定文本并找到与数据库关联的存储过程。
如果有人对光标代码的外观感到好奇,请参阅这篇 MSDN 帖子:
只需使用游标遍历数据库并查询 sysobjects 表:
(不包括游标代码。)或使用(未记录)
sp_MSforeachdb
:(不过不要把它分成两行)
此外,sp_MSforeachdb 有一些已知问题,比如在很长的数据库名称上失败,所以我通常更喜欢游标。