sys.dm_os_sys_info (Transact-SQL)
適用対象: SQL Server Azure SQL データベース Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
コンピューターに関するその他の有用な情報と、SQL Server で使用できるリソースと使用されるリソースのセットを返します。
Note
これを Azure Synapse Analytics または Analytics Platform System (PDW) から呼び出すには、 sys.dm_pdw_nodes_os_sys_info
という名前を使用します。 この構文は、Azure Synapse Analytics のサーバーレス SQL プールでサポートされていません。
列名 | データ型 | 説明とバージョン固有の注意事項 |
---|---|---|
cpu_ticks |
bigint | 現在の CPU チェック数を指定します。 CPU ティックは、プロセッサの RDTSC カウンターから取得されます。 これは単調に増加する数です。 NULL 値は許可されません。 |
ms_ticks |
bigint | コンピューターが起動してからのミリ秒数を指定します。 NULL 値は許可されません。 |
cpu_count |
int | システム上の論理 CPU の数を指定します。 NULL 値は許可されません。 Azure SQL Database では、この列は、データベースまたはエラスティック プールをホストしているマシン上の論理 CPU の数を返す場合があります。 データベースまたはエラスティック プールで使用できる論理 CPU の数を確認するには、sys.dm_user_db_resource_governanceの cpu_limit 列を使用します。 |
hyperthread_ratio |
int | 1 つの物理プロセッサ パッケージによって公開される論理コアまたは物理コアの数の比率を指定します。 NULL 値は許可されません。 |
physical_memory_in_bytes |
bigint | 適用対象: SQL Server 2008 (10.0.x) および SQL Server 2008 R2 (10.50.x)。 マシン上の物理メモリの合計量を指定します。 NULL 値は許可されません。 |
physical_memory_kb |
bigint | 適用対象: SQL Server 2012 (11.x) 以降のバージョン。 マシン上の物理メモリの合計量を指定します。 NULL 値は許可されません。 Azure SQL Database では、この列は、データベースまたはエラスティック プールをホストしているマシン上の物理メモリの合計量を返します。 データベースまたはエラスティック プールで使用できる物理メモリの量を確認するには、sys.dm_os_job_objectの process_memory_limit_mb 列を使用します。 |
virtual_memory_in_bytes |
bigint | 適用対象: SQL Server 2008 (10.0.x) および SQL Server 2008 R2 (10.50.x)。 ユーザー モードでプロセスで使用できる仮想メモリの量。 この値を使用して、3 GB のスイッチを使用して SQL Server が起動されたかどうかを確認できます。 |
virtual_memory_kb |
bigint | 適用対象: SQL Server 2012 (11.x) 以降のバージョン。 ユーザー モードでプロセスで使用できる仮想アドレス空間の合計量を指定します。 NULL 値は許可されません。 |
bpool_committed |
int | 適用対象: SQL Server 2008 (10.0.x) および SQL Server 2008 R2 (10.50.x)。 メモリ マネージャーのコミット済みメモリを KB 単位で表します。 メモリ マネージャーに予約済みメモリは含まれません。 NULL 値は許可されません。 |
committed_kb |
bigint | 適用対象: SQL Server 2012 (11.x) 以降のバージョン。 メモリ マネージャーのコミット済みメモリを KB 単位で表します。 メモリ マネージャーに予約済みメモリは含まれません。 NULL 値は許可されません。 |
bpool_commit_target |
int | 適用対象: SQL Server 2008 (10.0.x) および SQL Server 2008 R2 (10.50.x)。 SQL Server メモリ マネージャーで使用できるメモリの量 (KB 単位) を表します。 |
committed_target_kb |
bigint | 適用対象: SQL Server 2012 (11.x) 以降のバージョン。 SQL Server メモリ マネージャーで使用できるメモリの量 (KB 単位) を表します。 目標量は、次のようないくつかの入力を使用して計算されます。 - 負荷を含むシステムの現在の状態 - 現在のプロセスによって要求されたメモリ - コンピューターにインストールされているメモリの量 - 構成パラメーター committed_target_kb がcommitted_kb より大きい場合、メモリ マネージャーはより多くのメモリを取得しようとします。 committed_target_kb がcommitted_kb より小さい場合、メモリ マネージャーはコミットされたメモリの量を縮小しようとします。 committed_target_kb には、常に盗難用メモリと予約済みメモリが含まれます。 NULL 値は許可されません。 |
bpool_visible |
int | 適用対象: SQL Server 2008 (10.0.x) および SQL Server 2008 R2 (10.50.x)。 プロセス仮想アドレス空間で直接アクセスできるバッファー プール内の 8 KB バッファーの数。 アドレス ウィンドウ拡張 (AWE) を使用しない場合、バッファー プールがそのメモリ ターゲット ( bpool_committed = bpool_commit_target ) を取得すると、 bpool_visible の値は bpool_committed の値と等しくなります。 32 ビット バージョンの SQL Server で AWE を使用する場合、 bpool_visible は、バッファー プールによって割り当てられた物理メモリへのアクセスに使用される AWE マッピング ウィンドウのサイズを表します。 このマッピング ウィンドウのサイズはプロセス アドレス空間によってバインドされるため、表示される量はコミットされた量よりも小さくなります。 この値は、データベース ページ以外の目的で、メモリを消費する内部コンポーネントによってさらに削減できます。 bpool_visible の値が小さすぎると、メモリ不足エラーが発生する可能性があります。 |
visible_target_kb |
bigint | 適用対象: SQL Server 2012 (11.x) 以降のバージョン。committed_target_kb と同じです。 NULL 値は許可されません。 |
stack_size_in_bytes |
int | SQL Server によって作成された各スレッドの呼び出し履歴のサイズを指定します。 NULL 値は許可されません。 |
os_quantum |
bigint | 非プリエンプティブ タスクのクォンタムを表します (ミリ秒単位)。 量子 (秒単位) = os_quantum /CPU クロック速度。 NULL 値は許可されません。 |
os_error_mode |
int | SQL Server プロセスのエラー モードを指定します。 NULL 値は許可されません。 |
os_priority_class |
int | SQL Server プロセスの優先順位クラスを指定します。 Null 許容。32 = 標準。 エラー ログは、SQL Server が通常の優先度ベース (7 ) で開始されていることを示します。128 = 高。 エラー ログには、SQL Server が優先度の高いベース (13 ) で実行されていることが示されています。詳細については、「 優先度ブーストの構成 (サーバー構成オプション)」を参照してください。 |
max_workers_count |
int | 作成できるワーカーの最大数を表します。 NULL 値は許可されません。 |
scheduler_count |
int | SQL Server プロセスで構成されたユーザー スケジューラの数を表します。 NULL 値は許可されません。 |
scheduler_total_count |
int | SQL Server のスケジューラの合計数を表します。 NULL 値は許可されません。 |
deadlock_monitor_serial_number |
int | 現在のデッドロック監視シーケンスの ID を指定します。 NULL 値は許可されません。 |
sqlserver_start_time_ms_ticks |
bigint | SQL Server が最後に開始されたときの ms_tick 番号を表します。 現在の ms_ticks 列と比較します。 NULL 値は許可されません。 |
sqlserver_start_time |
datetime | SQL Server が最後に開始されたローカル システムの日付と時刻を指定します。 NULL 値は許可されません。 他の多くの SQL Server DMV の情報には、前回のデータベース エンジンの起動以降のアクティビティのみが含まれます。 この列を使用して、最後の SQL Server データベース エンジンの起動時間を検索します。 |
affinity_type |
int | 適用対象: SQL Server 2008 R2 (10.50.x) 以降のバージョン。 現在使用中のサーバー CPU プロセス関係の種類を指定します。 NULL 値は許可されません。 詳細については、「 ALTER SERVER CONFIGURATION (Transact-SQL)」を参照してください。 1 = MANUAL 2 = AUTO |
affinity_type_desc |
nvarchar(60) | 適用対象: SQL Server 2008 R2 (10.50.x) 以降のバージョン。affinity_type 列について説明します。 NULL 値は許可されません。MANUAL = 少なくとも 1 つの CPU に対してアフィニティが設定されました。AUTO = SQL Server は CPU 間でスレッドを自由に移動できます。 |
process_kernel_time_ms |
bigint | 適用対象: SQL Server 2008 R2 (10.50.x) 以降のバージョン。 すべての SQL Server スレッドがカーネル モードで費やした合計時間 (ミリ秒)。 この値にはサーバー上のすべてのプロセッサの時間が含まれるため、単一のプロセッサ クロックより大きくなる場合があります。 NULL 値は許可されません。 |
process_user_time_ms |
bigint | 適用対象: SQL Server 2008 R2 (10.50.x) 以降のバージョン。 すべての SQL Server スレッドがユーザー モードで費やした合計時間 (ミリ秒)。 この値にはサーバー上のすべてのプロセッサの時間が含まれるため、単一のプロセッサ クロックより大きくなる場合があります。 NULL 値は許可されません。 |
time_source |
int | 適用対象: SQL Server 2008 R2 (10.50.x) 以降のバージョン。 SQL Server がウォール クロック時間の取得に使用している API を示します。 NULL 値は許可されません。 0 = QUERY_PERFORMANCE_COUNTER 1 = MULTIMEDIA_TIMER |
time_source_desc |
nvarchar(60) | 適用対象: SQL Server 2008 R2 (10.50.x) 以降のバージョン。time_source 列について説明します。 NULL 値は許可されません。QUERY_PERFORMANCE_COUNTER = QueryPerformanceCounter API は、ウォール クロック時間を取得します。MULTIMEDIA_TIMER = ウォール クロック時間を取得する multimedia timer API。 |
virtual_machine_type |
int | 適用対象: SQL Server 2008 R2 (10.50.x) 以降のバージョン。 SQL Server が仮想化環境で実行されているかどうかを示します。 NULL 値は許可されません。 0 = NONE 1 = HYPERVISOR 2 = OTHER |
virtual_machine_type_desc |
nvarchar(60) | 適用対象: SQL Server 2008 R2 (10.50.x) 以降のバージョン。virtual_machine_type 列について説明します。 NULL 値は許可されません。NONE = SQL Server が仮想マシン内で実行されていません。HYPERVISOR = SQL Server は、ハイパーバイザーを実行している OS (ハードウェア支援型仮想化を使用するホスト OS) によってホストされている仮想マシン内で実行されています。OTHER = SQL Server は、Microsoft Virtual PC などのハードウェア アシスタントを使用しない OS によってホストされている仮想マシン内で実行されています。 |
softnuma_configuration |
int | 適用対象: SQL Server 2016 (13.x) 以降のバージョン。 NUMA ノードの構成方法を指定します。 NULL 値は許可されません。 0 = OFF は、ハードウェアの既定値を示します1 = 自動ソフト NUMA2 = レジストリ経由の手動ソフト NUMA |
softnuma_configuration_desc |
nvarchar(60) | 適用対象: SQL Server 2016 (13.x) 以降のバージョン。OFF = ソフト NUMA 機能がオフON = SQL Server は、ソフト NUMA の NUMA ノード サイズを自動的に決定しますMANUAL = 手動で構成されたソフト NUMA |
process_physical_affinity |
nvarchar(3072) | 適用対象: SQL Server 2017 以降 (14.x)。 単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。 |
sql_memory_model |
int | 適用対象: SQL Server 2012 (11.x) SP4、SQL Server 2016 (13.x) SP1 以降のバージョン。 SQL Server がメモリの割り当てに使用するメモリ モデルを指定します。 NULL 値は許可されません。 1 = 従来のメモリ モデル2 = メモリ内のページをロックする3 = メモリ内の大きなページ |
sql_memory_model_desc |
nvarchar(60) | 適用対象: SQL Server 2012 (11.x) SP4、SQL Server 2016 (13.x) SP1 以降のバージョン。 SQL Server がメモリの割り当てに使用するメモリ モデルを指定します。 NULL 値は許可されません。 CONVENTIONAL = SQL Server は、従来のメモリ モデルを使用してメモリを割り当てます。 これは、起動時に SQL Server サービス アカウントにメモリ内のロック ページ権限がない場合の既定のデータベース エンジンメモリ モデルです。LOCK_PAGES = SQL Server はメモリ内のロック ページを使用してメモリを割り当てます。 これは、SQL Server の起動時に SQL Server サービス アカウントに "メモリ内のページのロック" 特権がある場合の既定のデータベース エンジン メモリ マネージャーです。LARGE_PAGES = SQL Server はメモリ内の大きなページを使用してメモリを割り当てます。 SQL Server では、サーバーの起動時に SQL Server サービス アカウントに "メモリ内のページのロック" 特権があり、トレース フラグ 834 が有効になっている場合にのみ、Large Pages アロケーターを使用して、Enterprise Edition でのみメモリを割り当てます。 |
pdw_node_id |
int | 適用対象: Azure Synapse Analytics、Analytics Platform System (PDW) このディストリビューションがオンになっているノードの識別子。 |
socket_count |
int | 適用対象: SQL Server 2016 (13.x) SP2 以降のバージョン。 システムで使用可能なプロセッサー・ソケットの数を指定します。 |
cores_per_socket |
int | 適用対象: SQL Server 2016 (13.x) SP2 以降のバージョン。 システムで使用可能なソケットあたりのプロセッサ数を指定します。 |
numa_node_count |
int | 適用対象: SQL Server 2016 (13.x) SP2 以降のバージョン。 システムで使用できる NUMA ノードの数を指定します。 この列には、物理 NUMA ノードとソフト NUMA ノードが含まれます。 |
container_type |
int | 適用対象: SQL Server 2017 (14.x) 以降のバージョン。 SQL Server が内部で実行されているコンテナーの種類を指定します。 NULL 値は許可されません。 0 (既定値) = NONE 1 = LINUX CONTAINER 2 = WINDOWS SERVER CONTAINER 3 = HYPER-V CONTAINER |
container_type_desc |
nvarchar(60) | 適用対象: SQL Server 2017 (14.x) 以降のバージョン。container_type 列について説明します。 NULL 値は許可されません。NONE = SQL Server がコンテナーで実行されていません。LINUX CONTAINER = SQL Server は Linux コンテナーで実行されています。WINDOWS SERVER CONTAINER = SQL Server は Windows Server コンテナーで実行されています。HYPER-V CONTAINER = SQL Server は Hyper-V コンテナーで実行されています。 |
アクセス許可
SQL Server 2019 (15.x) 以前のバージョンと SQL Managed Instance では、 VIEW SERVER STATE
アクセス許可が必要です。
SQL Server 2022 (16.x) とその以降のバージョンでは、サーバーに対する VIEW SERVER PERFORMANCE STATE
権限が必要です。
Azure SQL Database Basic、S0、S1 サービス目標、および弾性プール内のデータベースの場合サーバー管理者アカウント、Microsoft Entra 管理者アカウント、または##MS_ServerStateReader##
サーバー ロールのメンバーシップが必要です。 他のすべての SQL Database サービス目標では、データベースに対する VIEW DATABASE STATE
アクセス許可または ##MS_ServerStateReader##
サーバー ロールのメンバーシップのいずれかが必要です。