LoginSignup
7
7

More than 5 years have passed since last update.

ストアド プロシージャの依存関係を確認する

Posted at

ストアド プロシージャの依存関係の表示

SQL Server Management Studio のオブジェクト エクスプローラーで表示する

  1. データベース エンジンのインスタンスに接続し、そのインスタンスを展開する
  2. [データベース] を展開し、プロシージャが属するデータベースを展開し、[プログラミング] を展開する
  3. [ストアド プロシージャ] を展開し、プロシージャを右クリックして、[依存関係の表示] をクリックする

Transacti-SQLで確認する

以下が利用できる権限があること

プロシージャに依存しているオブジェクトを表示する

USE database_name;
SELECT referencing_schema_name, referencing_entity_name, referencing_id, referencing_class_desc, is_caller_dependent
FROM sys.dm_sql_referencing_entities ('procedure_name', 'OBJECT'); 

プロシージャが依存しているオブジェクトを表示する

USE database_name;
SELECT referenced_schema_name, referenced_entity_name,
referenced_minor_name,referenced_minor_id, referenced_class_desc,
is_caller_dependent, is_ambiguous
FROM sys.dm_sql_referencing_entities ('procedure_name', 'OBJECT');

プロシージャが依存しているまたはプロシージャに依存しているオブジェクトを表示する

USE database_name;
SELECT OBJECT_NAME(referencing_id) AS referencing_entity_name, 
    o.type_desc AS referencing_desciption, 
    COALESCE(COL_NAME(referencing_id, referencing_minor_id), '(n/a)') AS referencing_minor_id, 
    referencing_class_desc, referenced_class_desc,
    referenced_server_name, referenced_database_name, referenced_schema_name,
    referenced_entity_name, 
    COALESCE(COL_NAME(referenced_id, referenced_minor_id), '(n/a)') AS referenced_column_name,
    is_caller_dependent, is_ambiguous
FROM sys.sql_expression_dependencies AS sed
INNER JOIN sys.objects AS o ON sed.referencing_id = o.object_id
WHERE referencing_id = OBJECT_ID(N'procedure_name')
7
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7