5

この SQL Server には多くのストアド プロシージャがすべてのデータベースに分散しており、これらのネストされたストアド プロシージャが互いにどのように連鎖されているかを見つける方法を探しています。

同じ問題を抱えていて、各ストアド プロシージャを開いて他のどのストアド プロシージャが実行されているかを確認するのではなく、痛みのない方法でそのような情報を取得する方法を見つけた人がいるかどうか疑問に思います。

ありがとう

4

2 に答える 2

4

アプローチ #1

テーブル名を右クリックし、[依存関係の表示] を選択します。以下に示すように、Employee テーブルの依存関係を確認します。

ここに画像の説明を入力


アプローチ #2

SELECT 
        routine_name, 
        routine_type 

FROM    INFORMATION_SCHEMA.ROUTINES

WHERE   ROUTINE_DEFINITION LIKE '%Your Object Name%'

アプローチ #3

EXEC sp_depends 'Your Object Name'

アプローチ #4

SELECT referencing_schema_name, referencing_entity_name,
referencing_id, referencing_class_desc, is_caller_dependent
FROM sys.dm_sql_referencing_entities ('Your Object Name', 'OBJECT');
于 2012-07-11T17:09:12.540 に答える
0

必要な情報に応じて、sys.sql_expression_dependencies カタログ ビューに対してクエリを実行するか、sys.dm_sql_referenced_entities または sys.dm_sql_referencing_entities 動的管理関数を使用できます。

直接的および間接的な依存関係 (連鎖した依存関係) の SQL クエリのさまざまな例を含む、これらに関する情報は、次の場所にあります: Reporting SQL Dependencies .

于 2012-07-11T14:19:02.227 に答える