システム動的管理ビュー
適用対象:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Microsoft Fabric の SQL エンドポイント
Microsoft Fabric のウェアハウス
動的管理ビュー (DMV) および関数では、サーバーの状態情報が返されます。それを使って、サーバー インスタンスの正常性を監視したり、問題を診断したり、パフォーマンスをチューニングしたりできます。
重要
動的管理ビューおよび関数では、内部の実装固有の状態データが返されます。 それらのスキーマと返されるデータは、SQL Server の今後のリリースで変更される可能性があります。 そのため、今後のリリースの動的管理ビューおよび関数は、このリリースの動的管理ビューおよび関数と互換性がなくなる可能性があります。 たとえば、今後の SQL Server のリリースでは、Microsoft により、列のリストの末尾に列を追加することで動的管理ビューの定義が拡張される可能性があります。 返される列の数が変わってアプリケーションが中断されるおそれがあるため、運用環境のコードで SELECT * FROM dynamic_management_view_name
という構文を使うことはお勧めしません。
動的管理ビューと動的管理関数には 2 つの種類があります。
サーバー スコープの動的管理ビューと動的管理関数。 これらには、サーバーでの VIEW SERVER STATE 権限が必要です。 SQL Server 2022 以降では、VIEW SERVER PERFORMANCE STATE が必要です。セキュリティに関連するいくつかの DMV では、VIEW SERVER SECURITY STATE が必要です。
データベース スコープの動的管理ビューと動的管理関数。 これらには、データベースに対する VIEW DATABASE STATE 権限が必要です。 SQL Server 2022 以降では、VIEW DATABASE PERFORMANCE STATE が必要です。セキュリティに関連するいくつかの DMV では、VIEW DATABASE SECURITY STATE が必要です。
動的管理ビューのクエリ
動的管理ビューは、2 部構成、3 部構成、または 4 部構成の名前を使用して Transact-SQL ステートメントで参照できます。 一方、動的管理関数は、2 部構成の名前または 3 部構成の名前を使用して、Transact-SQL ステートメントで参照できます。 動的管理ビューおよび関数は、1 部構成の名前を使用して Transact-SQL ステートメントで参照することはできません。
すべての動的管理ビューと動的管理関数は sys スキーマに含まれ、dm_* という名前付け規則に従います。 動的管理ビューまたは動的管理関数を使用するときには、sys スキーマを使用して、ビューまたは関数の名前にプレフィックスを付ける必要があります。 たとえば、動的管理ビュー dm_os_wait_stats をクエリするには、次のクエリを実行します。
SELECT wait_type, wait_time_ms
FROM sys.dm_os_wait_stats;
必要なアクセス許可
動的管理ビューまたは関数に対してクエリを実行するには、オブジェクトに対する SELECT 権限と、VIEW SERVER STATE 権限または VIEW DATABASE STATE 権限が必要です。 これらの権限を使用することにより、動的管理ビューと動的管理関数に対するユーザーまたはログインのアクセスを選択的に制限できます。 これを行うには、まず master にユーザーを作成し、次にアクセスを禁止する動的管理ビューまたは動的管理関数に対するユーザーの SELECT 権限を拒否します。 その後は、ユーザーのデータベース コンテキストに関係なく、ユーザーはこれらの動的管理ビューまたは関数から SELECT することはできません。
注意
DENY が優先されるため、ユーザーに VIEW SERVER STATE 権限が付与されていても、VIEW DATABASE STATE 権限が拒否されている場合は、ユーザーはサーバー レベルの情報は表示できますが、データベース レベルの情報は表示できません。
このセクションの内容
動的管理ビューおよび関数は、次のカテゴリに分類されています。
AlwaysOn 可用性グループの動的管理ビューおよび関数 (Transact-SQL)
変更データのキャプチャに関連した動的管理ビュー (Transact-SQL)
共通言語ランタイム関連の動的管理ビュー (Transact-SQL)
データベース ミラーリング関連の動的管理ビュー (Transact-SQL)
データベース関連の動的管理ビュー (Transact-SQL)
実行関連の動的管理ビューおよび関数 (Transact-SQL)
Filestream および FileTable の動的管理ビュー (Transact-SQL)
フルテキスト検索とセマンティック検索の動的管理ビューおよび関数 (Transact-SQL)
geo レプリケーションの動的管理ビューおよび関数 (Azure SQL Database)
インデックス関連の動的管理ビューおよび関数 (Transact-SQL)
メモリ最適化テーブルの動的管理ビュー (Transact-SQL)
オブジェクト関連の動的管理ビューおよび関数 (Transact-SQL)
クエリ通知関連の動的管理ビュー (Transact-SQL)
レプリケーション関連の動的管理ビュー (Transact-SQL)
リソース ガバナー関連の動的管理ビュー (Transact-SQL)
セキュリティ関連の動的管理ビューおよび関数 (Transact-SQL)
サーバー関連の動的管理ビューおよび関数 (Transact-SQL)
Service Broker 関連の動的管理ビュー (Transact-SQL)
空間データ関連の動的管理ビューおよび関数 (Transact-SQL)
Azure Synapse Analytics と Parallel Data Warehouse の動的管理ビュー (Transact-SQL)
SQL Server オペレーティングシステム関連の動的管理ビュー (Transact-sql)
次の手順
GRANT (サーバーの権限の許可) (Transact-SQL)
GRANT (データベースの権限の許可) (Transact-SQL)
システム ビュー (Transact-SQL)