在多个 MS SQL 数据库中搜索视图以使用 Order BY 并记录哪个视图使用了它

在多个 MS SQL 数据库中搜索视图以使用 Order BY 并记录哪个视图使用了它

在将一些旧数据库迁移到新服务器的过程中,我们知道某些数据库中的某些视图可能正在使用ORDER BY,但我们不确定哪个/在哪里。我们希望记录哪些数据库中的哪些视图正在使用它(或至少是哪些数据库),以便我们可以联系到将来可能需要更新其代码的人员。

是否有一个聪明的方法来实现这一自动化?

提前致谢,

答案1

此代码将显示具有指定子句的视图:

SELECT v.name, m.definition    
FROM sys.views v
INNER JOIN sys.sql_modules m ON m.object_id = v.object_id
where m.definition like '%ORDER BY%'

或者您可以将所有视图编写到一个窗口中,然后在编辑器中按文本进行搜索。

相关内容