2

我似乎无法获得视图试图使用的所有表名。

目前,我正在使用INFORMATION_SCHEMA.VIEW_COLUMN_USAGE来查找使用了哪些表。但是,它只查找当前存在的表。我想知道该视图是否正在尝试使用不存在的表。

View_Column_Usage只会找到视图中使用的列。您可以检查这些列是否在任何当前表列中,以查找哪些列未使用,但您无法找到哪些表未使用。

有谁知道我可以用来查找视图中使用哪些表但不存在的表?

4

2 回答 2

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

干杯

于 2012-11-07T17:46:55.340 回答
0

我在这里找到的脚本似乎可以找到损坏的视图。

http://www.sqlservercentral.com/Forums/Topic785213-146-1.aspx#bm785697

于 2012-11-07T18:21:51.187 回答