2016-05-25 49 views
-1

如何查找任何無效的視圖(因爲視圖是在沒有「使用模式綁定」的情況下創建的),並且一個或多個基礎列已更改?這是用於SQL Server 2012的。如何查找無效視圖?

+0

哪個數據庫? – SSD

+0

檢查此問題http://stackoverflow.com/questions/26967458/how-to-know-whether-the-created-view-is-valid-or-not – SSD

+0

@Saeidsamadidana。 。 。我們假設這是SQL Server從問題的表述中看出來的,但是OP應該明確指出。 –

回答

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 */