列出所有不存在但在视图sql server中使用的表

时间:2012-11-07 17:27:41

标签: sql sql-server database sql-server-2005

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

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

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

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

2 个答案:

答案 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