如何在SQL Server中查询所有视图设计以查找特定字符串



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

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

因此,在本例中,我正在寻找一个查询我的所有视图设计的查询,以查找特定字符串"服务器名称"。

感谢您的支持!

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

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.object更改为sys.view。

最新更新