sys.dm_os_sys_info (Transact-SQL)

適用対象: SQL Server Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics 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 int 適用対象: SQL Server 2012 (11.x) 以降。

メモリ マネージャーのコミット済みメモリをキロバイト (KB) 単位で表します。 メモリ マネージャー内の予約済みメモリは含まれません。 NULL 値は許可されません。
bpool_commit_target int 適用対象: SQL Server 2008 (10.0.x) ~ SQL Server 2008 R2 (10.50.x)。

メモリ マネージャーで使用できるメモリの量 (KB 単位) SQL Server表します。
committed_target_kb int 適用対象: SQL Server 2012 (11.x) 以降。

メモリ マネージャーで使用できるメモリの量 (KB 単位) SQL Server表します。 ターゲット量は、次のようなさまざまな入力を使用して計算されます。

- 負荷を含むシステムの現在の状態

- 現在のプロセスによって要求されたメモリ

- コンピューターにインストールされているメモリの量

- 構成パラメーター

が よりcommitted_kb大きい場合committed_target_kb、メモリ マネージャーは追加のメモリを取得しようとします。 が よりcommitted_kb小さい場合committed_target_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 の値と等しくなります。SQL Serverの 32 ビット バージョンで AWE を使用する場合、bpool_visibleは、バッファー プールによって割り当てられた物理メモリへのアクセスに使用される AWE マッピング ウィンドウのサイズを表します。 このマッピング ウィンドウのサイズはプロセス アドレス空間によってバインドされるため、目に見える量はコミットされた量よりも小さくなり、データベース ページ以外の目的でメモリを消費する内部コンポーネントによってさらに削減できます。 bpool_visibleの値が低すぎると、メモリ不足エラーが発生する可能性があります。
visible_target_kb int 適用対象: SQL Server 2012 (11.x) 以降。

は と committed_target_kb同じです。 NULL 値は許可されません。
stack_size_in_bytes int SQL Serverによって作成された各スレッドの呼び出し履歴のサイズを指定します。 NULL 値は許可されません。
os_quantum bigint 非プリエンプティブ タスクのクォンタムを表します (ミリ秒単位)。 Quantum (秒単位) = 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)。)

詳細については、「 priority boost サーバー構成オプションの構成」を参照してください。
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 最後に開始したときのms_tick番号SQL Server表します。 現在 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 varchar(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 = 壁時計の時刻を取得する マルチメディア タイマー 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 = 自動ソフト NUMA

2 = レジストリ経由の手動ソフト 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(120) 適用対象: SQL Server 2012 (11.x) SP4、SQL Server 2016 (13.x) SP1 以降。

メモリを割り当てるためにSQL Serverによって使用されるメモリ モデルを指定します。 NULL 値は許可されません。

CONVENTIONAL = SQL Serverは、従来のメモリ モデルを使用してメモリを割り当てます。 これは、SQL Server サービス アカウントに起動時にメモリ内のロック ページ権限がない場合の既定の SQL メモリ モデルです。
LOCK_PAGES = メモリ内のロック ページを使用してメモリを割り当てるSQL Server。 これは、SQL Serverサービス アカウントが、SQL Serverの起動時にメモリ内のロック ページ権限を持っている場合の既定の sql メモリ マネージャーです。
LARGE_PAGES = SQL Serverは、メモリ内の大きなページを使用してメモリを割り当てます。 SQL Serverは、サーバーの起動時とトレース フラグ 834 がオンになっているときに、SQL Server サービス アカウントがメモリ内のページのロック特権を持っている場合にのみ、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 ノードが含まれます。

アクセス許可

SQL Server と SQL Managed Instance では、VIEW SERVER STATE アクセス許可が必要です。

SQL Database BasicS0、および S1 のサービス目標、およびエラスティック プール内のデータベースの場合、サーバー管理者アカウント、Azure Active Directory 管理者アカウント、または ##MS_ServerStateReader##サーバー ロールのメンバーシップが必要です。 他のすべての SQL Database サービス目標では、データベースに対する VIEW DATABASE STATE アクセス許可または ##MS_ServerStateReader## サーバー ロールのメンバーシップのいずれかが必要です。

参照

動的管理ビューと動的管理関数 (Transact-SQL)
SQL Server オペレーティングシステム関連の動的管理ビュー (Transact-sql)