sql – 在所有数据库中搜索存储过程/函数
发布时间:2020-12-12 06:49:44 所属栏目:MsSql教程 来源:网络整理
导读:我想在所有数据库中的所有过程/函数等中搜索特定文本.我设法从这个 answer创建了所需的查询,但看起来OBJECT_DEFINITION(OBJECT_ID(SPECIFIC_NAME))为除当前数据库之外的所有数据库返回NULL. sp_msforeachdb 'SELECT ''?'' AS DB,SPECIFIC_NAME,OBJECT_DEFINIT
我想在所有数据库中的所有过程/函数等中搜索特定文本.我设法从这个
answer创建了所需的查询,但看起来OBJECT_DEFINITION(OBJECT_ID(SPECIFIC_NAME))为除当前数据库之外的所有数据库返回NULL.
sp_msforeachdb 'SELECT ''?'' AS DB,SPECIFIC_NAME,OBJECT_DEFINITION(OBJECT_ID(SPECIFIC_NAME)) FROM [?].INFORMATION_SCHEMA.ROUTINES' 解决方法问题是OBJECT_ID不能以这种方式使用.它仅适用于当前数据库.尝试直接从INFORMATION_SCHEMA.ROUTINES返回ROUTINE_DEFINITION.这个限制为4000个字符.我将尝试在SO上找到我的其他答案,这使我的解决方法使用MS元数据视图.看看这个: Can you search SQL Server 2005 Stored Procedure content? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |