適用対象: SQL Server 2016 (13.x) 以降
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Microsoft Fabric の SQL データベース
SQL Server Management Studio または Transact-SQL を使用して、SQL Server データベース エンジンでテーブルの依存関係を表示できます。
アクセス許可
データベース上の VIEW DEFINITION
権限と、データベースの SELECT
に対する sys.sql_expression_dependencies
権限が必要です。 既定では、SELECT
権限は db_owner 固定データベース ロールのメンバーだけに与えられます。 SELECT
権限および VIEW DEFINITION
権限が別のユーザーに与えられている場合、権限が許可されているユーザーはデータベース内のすべての依存関係を表示できます。
SQL Server Management Studio を使用します。
テーブルが依存しているオブジェクトを表示する
オブジェクト エクスプローラーで、 [データベース]を展開し、データベース、 [テーブル]の順に展開します。
テーブルを右クリックし、[依存関係の表示] を選択します。
[オブジェクトの依存関係<オブジェクト名>] ダイアログ ボックスで、[>に依存するオブジェクト] または [> が依存するオブジェクト] を選択します。
[依存関係] グリッドでオブジェクトをクリックします。 オブジェクトの種類 ("トリガー" や "ストアド プロシージャ" など) が、 [種類] ボックスに表示されます。
Note
オブジェクト エクスプローラー>View Dependencies を使用した依存関係の表示は、Azure Synapse Analytics ではサポートされていません。 代わりに、 sys.sql_expression_dependencies を使用します。 Azure Synapse Analytics SQL プール では、この一覧の中から、テーブル、ビュー、フィルター選択された統計情報、および Transact-SQL ストアド プロシージャのエンティティ型がサポートされます。 依存関係情報は、テーブル、ビュー、およびフィルター選択された統計情報に対してのみ作成および管理されます。
Transact-SQL の使用
この記事のコード サンプルでは、AdventureWorks2022
または AdventureWorksDW2022
サンプル データベースを使用します。このサンプル データベースは、Microsoft SQL Server サンプルとコミュニティ プロジェクト ホーム ページからダウンロードできます。
テーブルの依存関係を表示する
オブジェクト エクスプローラーで、 データベース エンジンのインスタンスに接続します。
標準バーで、 [新しいクエリ] を選択します。
次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] を選択します。
USE AdventureWorks2022; GO SELECT * FROM sys.sql_expression_dependencies WHERE referencing_id = OBJECT_ID(N'Production.vProductAndDescription'); GO
テーブルに依存するオブジェクトを表示する
オブジェクト エクスプローラーで、 データベース エンジンのインスタンスに接続します。
標準バーで、 [新しいクエリ] を選択します。
次の例では、
Production.Product
テーブルに依存するオブジェクトを返します。 次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] を選択します。USE AdventureWorks2022; GO SELECT * FROM sys.sql_expression_dependencies WHERE referenced_id = OBJECT_ID(N'Production.Product'); GO