SQL Serverデータベースで、他のデータベースへの参照を含むすべてのストアドプロシージャとビューを見つける必要があります。(同義語に置き換える必要があります。)
ストアドプロシージャがたくさんあるので、手動で検索したくありません。
それらを簡単に見つける方法はありますか?
SQL Serverデータベースで、他のデータベースへの参照を含むすべてのストアドプロシージャとビューを見つける必要があります。(同義語に置き換える必要があります。)
ストアドプロシージャがたくさんあるので、手動で検索したくありません。
それらを簡単に見つける方法はありますか?
SQL Serverのバージョンによっては、次のクエリにも値が含まれる場合があります。
SELECT OBJECT_SCHEMA_NAME(referencing_id), OBJECT_NAME(referencing_id)
FROM sys.sql_expression_dependencies
WHERE referenced_database_name = 'YourDatabaseName';
実際には、ビューと手順の検索(@M_Mが指摘したように)の組み合わせが必要になります。これは、潜在的にいくつかを取り除く必要があります。たとえば、データベース名が他の理由でモジュールに自然に表示される可能性のある文字列である場合、sys.sql_modulesは誤検知を表示します。ただし、この回答では、たとえば動的SQLに埋め込まれている場合、データベース名は見つかりません。
いくつかの方法がありますが、開始するのに適した場所はsql_modules
テーブルを検索することです。
SELECT OBJECT_NAME([object_id]), [definition]
FROM sys.sql_modules
WHERE definition like '%MyOtherDBName%'