如何查询我的所有视图设计以在 SQL 服务器中查找特定字符串?

How can I query all my view designs looking for a particular string in SQL Server?

我们的 SQL 服务器数据库中有基于另一个系统视图创建的视图。由于另一个系统将被替换,我需要找到基于另一个系统构建的视图列表。

当我打开基于另一个系统视图构建的现有视图的设计时,我可以看到另一个系统服务器名称。

因此,在这种情况下,我正在寻找一个查询来查询我的所有视图设计以查找特定字符串 'Server Name'。

感谢您的支持!

好的,根据我的理解,您正在寻找视图定义中的一些字符串,如果是这种情况,您可以执行以下操作:

SELECT 
    QUOTENAME(OBJECT_SCHEMA_NAME(o.object_id)) + '.' + QUOTENAME(o.name) AS [ObjectName],
    o.type_desc AS [ObjectType]
FROM sys.objects AS o -- Will check all objects, inlcuding Views
WHERE OBJECT_DEFINITION(o.object_id) LIKE '%cfs%' -- string in the definition

请注意,我正在检查 sys.objects 而不是 sys.views 以在其他对象(如过程、表等)中查找相同的关键字。您可以将 sys.objects 更改为 sys.views 如果您只对视图感兴趣。