SQL Serverには、sys.sql_dependencies
というシステムカタログビューがあります。 エンティティ間の依存関係に関する情報を返します。
Microsoftは、このビューを非推奨としてマークしました。これは、このビューがメンテナンスモードであり、SQLServerの将来のバージョンで削除される可能性があることを意味します。 sys.sql_dependencies
の使用は避けてください 新しい開発作業では、現在それを使用しているアプリケーションを変更して、sys.sql_expression_dependencies
を使用する必要があります。 代わりに。
sys.sql_expression_dependencies
システムカタログビューは、現在のデータベース内のユーザー定義エンティティに対するすべての依存関係を返します。これには、ネイティブにコンパイルされたスカラーユーザー定義関数と他のSQLServerモジュール間の依存関係が含まれます。
このビューを使用して、次のことができます。
- 特定のエンティティに依存するエンティティを返す
- 特定のエンティティが依存するエンティティを返す
たとえば、これを使用して、特定のテーブルを参照するすべてのオブジェクトを返すことができます。また、これを使用して、特定のストアドプロシージャがコード内で参照するすべてのオブジェクトを返すこともできます。
詳細と例については、私の投稿「SQL Serverでの依存関係の検索:sql_expression_dependencies」を参照してください。
現在sys.sql_dependenciesを使用しているかどうかわからない場合は、
システムがsys.sql_dependencies
を使用しているかどうかわからない場合 、いつでもsys.dm_os_performance_counters
を使用できます 見つけるために。このシステム動的管理ビューを使用して、SQLServerの起動以降に廃止された各機能が検出された回数のカウントを返すことができます。詳細と例については、SQLServerインスタンスでまだ使用されている廃止された機能を見つけるための最速の方法を確認してください。
より複雑な方法は、拡張イベントを使用して、廃止された機能の各使用法に関する追加情報を含むログファイルを作成することです。たとえば、廃止された機能を含むSQLステートメント、それを実行したユーザー、実行された時刻、それがあったデータベースなどの情報を記録できます。その方法の詳細な手順については、拡張イベントを使用してSQLServerインスタンスで使用されている非推奨の機能をログに記録するを参照してください。
Microsoftドキュメントリファレンス
- sys.sql_dependencies
- sys.sql_expression_dependencies
- SQLServer2017で廃止されたデータベースエンジン機能
- SQL Server 2016で廃止されたデータベースエンジン機能(2017年のリストと同じ)