我正在尝试使用我在网上找到的代码刷新所有视图:
DECLARE @ViewName VARCHAR(256)
DECLARE cViews CURSOR READ_ONLY FOR SELECT name from sys.views
OPEN cViews
FETCH NEXT FROM cViews INTO @ViewName
WHILE @@FETCH_STATUS != -1
BEGIN
EXEC SP_REFRESHVIEW @ViewName
PRINT 'View ''' + @ViewName + ''' has been refreshed.'
FETCH NEXT FROM cViews INTO @ViewName
END
CLOSE cViews
DEALLOCATE cViews
Run Code Online (Sandbox Code Playgroud)
我收到错误Error Message: Invalid column name 'CloseDate'.
,但它没有告诉我哪个视图有错误。我如何找到具有无效列名称的无效列名称的所有视图的名称?谢谢你。
您可以尝试将数据库导入 SSDT 数据库项目并构建该项目。它应该报告此类事情。
或者你可以尝试
SELECT *
FROM sys.views
CROSS APPLY sys.dm_sql_referenced_entities (
CONCAT(QUOTENAME(SCHEMA_NAME(SCHEMA_ID)), '.', QUOTENAME(NAME)),
'OBJECT')
Run Code Online (Sandbox Code Playgroud)
然后仔细阅读错误输出
归档时间: |
|
查看次数: |
1526 次 |
最近记录: |