How to find which views are using a certain table in SQL Server (2008)?

后端 未结 7 868
孤街浪徒
孤街浪徒 2021-01-31 13:30

I have to add a few columns to a table and I also need to add these columns to all the views that use this table.

Is it possible to get a list of all the views in a data

相关标签:
7条回答
  • 2021-01-31 14:06
    SELECT VIEW_NAME
    FROM INFORMATION_SCHEMA.VIEW_TABLE_USAGE
    WHERE TABLE_NAME = 'Your Table'
    
    0 讨论(0)
  • 2021-01-31 14:08

    select your table -> view dependencies -> Objects that depend on

    0 讨论(0)
  • 2021-01-31 14:09

    To find table dependencies you can use the sys.sql_expression_dependencies catalog view:

    SELECT 
    referencing_object_name = o.name, 
    referencing_object_type_desc = o.type_desc, 
    referenced_object_name = referenced_entity_name, 
    referenced_object_type_desc =so1.type_desc 
    FROM sys.sql_expression_dependencies sed 
    INNER JOIN sys.views o ON sed.referencing_id = o.object_id 
    LEFT OUTER JOIN sys.views so1 ON sed.referenced_id =so1.object_id 
    WHERE referenced_entity_name = 'Person'  
    

    You can also try out ApexSQL Search a free SSMS and VS add-in that also has the View Dependencies feature. The View Dependencies feature has the ability to visualize all SQL database objects’ relationships, including those between encrypted and system objects, SQL server 2012 specific objects, and objects stored in databases encrypted with Transparent Data Encryption (TDE)

    Disclaimer: I work for ApexSQL as a Support Engineer

    0 讨论(0)
  • 2021-01-31 14:12

    I find this works better:

    SELECT type, *
    FROM sys.objects
    WHERE OBJECT_DEFINITION(object_id) LIKE '%' + @ObjectName + '%'
    AND type IN ('V')
    ORDER BY name
    

    Filtering VIEW_DEFINTION inside INFORMATION_SCHEMA.VIEWS is giving me quite a few false positives.

    0 讨论(0)
  • 2021-01-31 14:12

    Simplest way to find used view or stored procedure for the tableName using below query -

    exec dbo.dbsearch 'Your_Table_Name'
    
    0 讨论(0)
  • 2021-01-31 14:21

    If you need to find database objects (e.g. tables, columns, triggers) by name - have a look at the FREE Red-Gate tool called SQL Search which does this - it searches your entire database for any kind of string(s).

    enter image description here

    enter image description here

    It's a great must-have tool for any DBA or database developer - did I already mention it's absolutely FREE to use for any kind of use??

    0 讨论(0)
提交回复
热议问题