我似乎无法获得视图试图使用的所有表名。
目前,我正在使用INFORMATION_SCHEMA.VIEW_COLUMN_USAGE
来查找使用了哪些表。但是,它只查找当前存在的表。我想知道该视图是否正在尝试使用不存在的表。
View_Column_Usage
只会找到视图中使用的列。您可以检查这些列是否在任何当前表列中,以查找哪些列未使用,但您无法找到哪些表未使用。
有谁知道我可以用来查找视图中使用哪些表但不存在的表?
我似乎无法获得视图试图使用的所有表名。
目前,我正在使用INFORMATION_SCHEMA.VIEW_COLUMN_USAGE
来查找使用了哪些表。但是,它只查找当前存在的表。我想知道该视图是否正在尝试使用不存在的表。
View_Column_Usage
只会找到视图中使用的列。您可以检查这些列是否在任何当前表列中,以查找哪些列未使用,但您无法找到哪些表未使用。
有谁知道我可以用来查找视图中使用哪些表但不存在的表?
据我所知,没有这样的东西可以存储不存在的对象的信息,仅仅是因为它们不存在!我相信我的建议不是确切的解决方案,但我认为它会帮助您完成整个过程:
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
干杯
我在这里找到的脚本似乎可以找到损坏的视图。
http://www.sqlservercentral.com/Forums/Topic785213-146-1.aspx#bm785697