如何查找无效的视图?

时间:2016-05-25 16:29:26

标签: sql-server views

如何找到任何无效的视图(因为视图是在没有'with schema binding'的情况下创建的)并且一个或多个基础列已更改?这适用于SQL Server 2012。

1 个答案:

答案 0 :(得分:0)

您可以使用SSMS生成包含所有视图定义的脚本并按原样运行 - 可能您会遇到一些编译错误。

或尝试这样的事情:

DECLARE @sql VARCHAR(MAX)

SET @sql = ((
SELECT 'select top 1 v.* from ' + quotename(object_schema_name(o.object_id)) + '.' + QUOTENAME(o.name) + ' v
'
FROM sys.objects o
WHERE o.type = 'V'
ORDER BY o.name
FOR XML PATH(''), TYPE).value('.', 'varchar(max)'))

PRINT @sql

/* exec @sql */