テーブルの依存関係を表示する

適用対象: SQL Server 2016 (13.x) 以降 Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

SQL Server では、SQL Server Management Studio または Transact-SQL を使用してテーブルの依存関係を表示できます。

アクセス許可

データベース上の VIEW DEFINITION 権限と、データベースの sys.sql_expression_dependencies に対する SELECT 権限が必要です。 既定では、SELECT 権限は db_owner 固定データベース ロールのメンバーだけに与えられます。 SELECT 権限および VIEW DEFINITION 権限が別のユーザーに与えられている場合、権限が許可されているユーザーはデータベース内のすべての依存関係を表示できます。

SQL Server Management Studio を使用する

テーブルが依存しているオブジェクトを表示する

  1. オブジェクト エクスプローラーで、 [データベース]を展開し、データベース、 [テーブル]の順に展開します。

  2. テーブルを右クリックし、[依存関係の表示] を選択します。

  3. [オブジェクトの依存関係<object name>] ダイアログ ボックスで、[<object name> に依存するオブジェクト] または [<object name> が依存するオブジェクト] を選択します。

  4. [依存関係] グリッドでオブジェクトをクリックします。 オブジェクトの種類 ("トリガー" や "ストアド プロシージャ" など) が、 [種類] ボックスに表示されます。

Note

  • オブジェクト エクスプローラーを使用した依存関係の表示>依存関係の表示は、Azure Synapse Analytics ではサポートされていません。代わりに、sys.sql_expression_dependencies を使用します。 Azure Synapse Analytics SQL プール では、この一覧の中から、テーブル、ビュー、フィルター選択された統計情報、および Transact-SQL ストアド プロシージャのエンティティ型がサポートされます。 依存関係情報は、テーブル、ビュー、およびフィルター選択された統計情報に対してのみ作成および管理されます。

Transact-SQL の使用

テーブルに依存するオブジェクトを表示する

  1. オブジェクト エクスプローラーで、 データベース エンジンのインスタンスに接続します。

  2. 標準バーで、 [新しいクエリ] を選択します。

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] を選択します。

    USE AdventureWorks2022;
    GO
    SELECT * FROM sys.sql_expression_dependencies
    WHERE referencing_id = OBJECT_ID(N'Production.vProductAndDescription');
    GO
    

テーブルの依存関係を表示する

  1. オブジェクト エクスプローラーで、 データベース エンジンのインスタンスに接続します。

  2. 標準バーで、 [新しいクエリ] を選択します。

  3. 次の例では、 Production.Productテーブルに依存するオブジェクトを返します。 次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] を選択します。

    USE AdventureWorks2022;
    GO
    SELECT * FROM sys.sql_expression_dependencies
    WHERE referenced_id = OBJECT_ID(N'Production.Product');
    GO