システムの動的管理ビュー
HTTPS:// docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/system-dynamic-management-views?view=sql-server-2017
適用: SQL Serverの AzureのSQLデータベース AzureのSQLデータウェアハウス 並列データウェアハウス
動的管理ビューおよび関数は、サーバーインスタンスの状態を監視問題を診断し、パフォーマンスのチューニングに使用することができ、サーバの状態情報を返します。
重要
動的管理ビューおよび関数は、内部、実装固有の状態データを返します。彼らのスキーマと、彼らは、SQL Serverの将来のリリースで変更される可能性が返すデータ。したがって、将来のリリースで動的管理ビューおよび機能は、このリリースの動的管理ビューおよび機能と互換性がないかもしれません。たとえば、SQL Serverの将来のリリースでは、Microsoftが列リストの末尾に列を追加することにより、任意の動的管理ビューの定義を拡張することがあります。私たちは、構文を使用しないことをお勧めします SELECT * FROM dynamic_management_view_name
列の数が変化し、アプリケーションを壊す可能性が返したため、生産コードで。
動的管理ビューおよび関数の2種類があります。
-
サーバースコープの動的管理ビューおよび関数。これらは、サーバー上のVIEW SERVER STATE権限が必要です。
-
データベーススコープの動的管理ビューおよび関数。これらは、データベースに対するVIEW DATABASE 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;
必要なアクセス許可
動的管理ビューまたは関数を照会するには、対象とVIEWのSERVER STATEまたはVIEWのDATABASE STATE権限に対するSELECT権限が必要です。これは、あなたが選択的にユーザーのアクセスを制限したり、動的管理ビューおよび機能にログインすることができます。これを行うには、最初にマスターにユーザーを作成し、あなたがそれらにアクセスさせたくない動的管理ビューまたは機能上のユーザーのSELECT権限を拒否。この後、ユーザは関係なく、ユーザのデータベースコンテキストの、これらの動的管理ビューまたは関数から選択することができません。
注意
DENYが優先されるため、ユーザーがViewサーバSTATE権限を付与されたが、VIEWのDATABASE STATE権限を拒否された場合、ユーザーはサーバーレベルの情報ではなく、データベース・レベルの情報を見ることができます。
このセクションで
動的管理ビューおよび関数は次のカテゴリに分類されています。