我似乎无法获得视图正在尝试使用的所有表名。
目前,我正在使用INFORMATION_SCHEMA.VIEW_COLUMN_USAGE
查找使用的表。但是,它只查找当前存在的表。我想知道该视图是否正在尝试使用不存在的表。
View_Column_Usage
只会查找视图中使用的列。您可以检查这些列是否在任何当前表列中,以查找未使用的列,但无法找到未使用的列。
有没有人知道我可以用来查找视图中使用哪些表但不存在的表?
答案 0 :(得分:0)
据我所知,没有这样的东西可以存储不存在的对象的信息,仅仅因为它们不存在!我相信我的建议不是确切的解决方案,但我认为它会帮助你完成这个过程:
Select *
From INFORMATION_SCHEMA.VIEWS
Left Outer Join
sys.objects
On objects.type = 'U'
And views.view_definition Like '%' + objects.name + '%'
Where objects.name Is Null
干杯
答案 1 :(得分:0)
我在这里找到的脚本似乎可以找到被破坏的视图。
http://www.sqlservercentral.com/Forums/Topic785213-146-1.aspx#bm785697