sp_depends (Transact-SQL)
適用対象: SQL Server
テーブルまたはビューに依存するビューやプロシージャ、ビューまたはプロシージャによって依存されるテーブルとビューなど、データベース オブジェクトの依存関係に関する情報を表示します。 現在のデータベースの外部にあるオブジェクトへの参照は報告されません。
重要
この機能は、 SQL Serverの将来のバージョンで削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。 代わりに sys.dm_sql_referencing_entities と sys.dm_sql_referenced_entities を使用してください。
構文
sp_depends [ @objname = ] N'objname'
<objname> ::=
{
[ database_name. [ schema_name ] . | schema_name. ]
object_name
}
[ ; ]
引数
[ @objname = ] N'objname'
@objname は nvarchar(776)で、既定値はありません。
database_name
データベースの名前。
schema_name
オブジェクトが属するスキーマの名前。
object_name
依存関係を調べるデータベース オブジェクト。 オブジェクトには、テーブル、ビュー、ストアド プロシージャ、ユーザー定義関数、またはトリガーを指定できます。 object_name は nvarchar(776)で、既定値はありません。
リターン コードの値
0
(成功) または 1
(失敗)。
結果セット
sp_depends
には、2 つの結果セットが表示されます。
次の結果セットは、 @objname が依存するオブジェクトを示しています。
列名 | データ型 | 説明 |
---|---|---|
name |
nvarchar(257) | 依存関係が存在する項目の名前。 |
type |
nvarchar(16) | 項目の種類。 |
updated |
nvarchar(7) | アイテムを更新するかどうかを指定します。 |
selected |
nvarchar(8) | SELECT ステートメントで項目を使用するかどうかを指定します。 |
column |
sysname | 従属性が存在する列またはパラメーター。 |
次の結果セットは、 @objnameに依存するオブジェクトを示しています。
列名 | データ型 | 説明 |
---|---|---|
name |
nvarchar(257) | 依存関係が存在する項目の名前。 |
type |
nvarchar(16) | 項目の種類。 |
アクセス許可
ロール public のメンバーシップが必要です。
例
A. テーブルに対する依存関係を一覧表示する
次の例では、AdventureWorks2022
データベースのSales.Customer
テーブルに依存するデータベース オブジェクトの一覧を示します。 ここではスキーマ名とテーブル名の両方を指定します。
USE AdventureWorks2022;
GO
EXEC sp_depends @objname = N'Sales.Customer';
B. トリガーに対する依存関係を一覧表示する
次の例では、トリガー iWorkOrder
依存するデータベース オブジェクトの一覧を示します。
EXEC sp_depends @objname = N'AdventureWorks2022.Production.iWorkOrder';