如何解决如何在Sql Server 2008 R2存储过程中搜索字符串?
| 我正在将旧版sqlS2k迁移到2008R2,看来所有数据访问都是通过存储的proc完成的,任何自定义查询都使用旧的*=
1外部联接语法。有超过一百个proc,所以我不想单独打开每个进程,以查看它是否使用该语法(大多数不会),有没有一种方法可以查询元数据以获取proc /功能列表/ views / triggers,然后循环搜索“ 0”或“ 1”字符串,打印出有问题的对象的名称?
我的背景是oracle,我知道如何在其中找到元数据视图,但是我对sql Server有点陌生。降级兼容版本不是一种选择。
谢谢!
解决方法
免费的Red Gate SQL搜索?
或查询sys.sql_modules
SELECT OBJECT_NAME(object_id)
FROM sys.sql_modules
WHERE definition LIKE \'%=*%\' OR definition LIKE \'%*=%\'
注意:INFORMATION_SCHEMA视图和系统注释会截断该定义,因此不可靠。
, 使用查询的问题是,如果存储过程被加密,除非您正在运行DAC连接类型,否则这些查询将不起作用。
这是第三方工具派上用场的地方,因为它们可以帮助您轻松完成此任务。我使用的是免费的ApexSQL搜索,但我想您对Red Gate或其他任何工具都不会出错。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。