sql-server - 如何在 Sql Server 2008 R2 存储过程中搜索字符串?

标签 sql-server sql-server-2008 join sql-server-2000 outer-join

我正在将旧版 SQLS2k 迁移到 2008R2,似乎所有数据访问都是通过存储过程完成的,并且任何自定义查询都使用旧版 *= =*外连接语法。有超过一百个过程,所以我不想单独打开每个过程来查看它是否使用该语法(大多数不会),有没有一种方法可以查询元数据以获取过程/函数/ View 列表/triggers,然后循环搜索 *==* 字符串,打印出有问题的对象的名称?

我的背景是oracle,我知道如何在那里找到元数据 View ,但我对Sql Server有点陌生。无法降级兼容版本。

谢谢!

最佳答案

Free Red Gate SQL Search?

或查询sys.sql_modules

SELECT OBJECT_NAME(object_id)
FROM sys.sql_modules
WHERE definition LIKE '%=*%' OR definition LIKE '%*=%'

注意:INFORMATION_SCHEMA View 和系统注释会截断定义,因此不可靠。

关于sql-server - 如何在 Sql Server 2008 R2 存储过程中搜索字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6354256/

相关文章:

mysql - 如何将 MSSQL CTE 查询转换为 MySQL?

sql-server-2008 - 在 SQL Server 2008 中删除 () 之间的字符串,包括 ()

sql - 如何使用数据列表从查询中加入数据?

php - 两张表SQL双连接?

mysql - 多列连接 : Getting additional rows

sql-server - SQL Server 依赖项

sql - 您如何处理数据库表的配置管理?

sql - 如何更正设置 FK 约束的 SQL Server 语法错误?

sql - 左连接的最佳(连接)顺序

c# - 使用 Entity Framework 管理实体访问和权限