SQL Server 2012 のデータベースの 1 つ (データベース A) が間もなく廃止されます。私は、データベース A をデータ ソースとして使用するデータベース B のすべてのビューと StoredProc を分析しようとしています。この情報を取得するクエリを作成するにはどうすればよいですか。ありがとう
質問する
256 次
2 に答える
2
以下を使用して、SQL Server 2008 でオブジェクトとその依存関係を取得します。
select *
from (select referenced_database_name, o.name as ViewName, ed.referenced_entity_name as TableName
from sys.sql_expression_dependencies ed join
sys.objects o
on ed.referencing_id = o.object_id
where referenced_database_name is not null
) vdep
フィルタを追加して、関心のあるデータベースまたは関心のないデータベースを除外できます。
where referenced_database_name = 'A'
于 2013-04-03T15:38:18.320 に答える
0
非常に簡単な方法は、プロシージャ テキストをクエリすることです。
select p.name
from sys.procedures p
inner join sys.syscomments c ON (p.object_id = c.id)
where c.text like '%database.%' or c.text like '%[database].%'
同じクエリを同様に実行できますsys.views
。データベース名と私が提供した単純なアルゴリズムによっては、非常に良い結果が得られる場合とそうでない場合があります。
sp_depends がデータベースで機能するかどうかはわかりませんが、データベースに対してもクエリを実行できる依存関係があると思いますが、その方法はわかりません。
于 2013-04-03T15:34:18.680 に答える