web-dev-qa-db-ja.com

SQL Serverが実際に使用しているコアの数を確認するにはどうすればよいですか?

SQL Serverを実行している2つのサーバーがあります。

  • サーバー1:SQL Server 2008 R2 Express(4コア)
  • サーバー2:SQL Server 2012 Developer Edition(8コア)

私が知る限り、SQL Server 2008 R2 Expressは1つのコアのみを使用する必要があります。

SQL Server 2012 Developerバージョンでは、8つのコアすべてを使用する必要があります。

ただし、SQL Server 2008 R2 ExpressのSQLクエリ内で次のコマンドを実行すると、4つのコアが表示されます。

select scheduler_id, cpu_id, status, is_online 
from sys.dm_os_schedulers 
where status = 'VISIBLE ONLINE'

正しいコマンドを使用して使用量を測定していますか?

17
Craig Edmonds

Expressエディションは、1コアではなく1プロセッサーによって制限されます。

SQL Serverは、指定されたプロセッサソケット数に、各ソケットの論理CPU数を掛けたものをサポートしています。たとえば、次の表は、この表では単一のプロセッサと見なされます。ソケットごとに2つの論理CPUを備えたシングルコアのハイパースレッドプロセッサ。 2つの論理CPUを備えたデュアルコアプロセッサ。 4つの論理CPUを備えたクアッドコアプロセッサ。 SQL Serverは、プロセッサーごとソケットごとにライセンスされ、論理CPUベースごとではない

http://msdn.Microsoft.com/en-us/library/ms143760(v = sql.105).aspx

そして、はい、sys.dm_os_schedulersを使用して、4つのコアすべてがスケジューラーでマップされるようにすることができます。

7
Stan

2007以降のOSでこのコマンドを使用します。

->> WMIC CPU Get DeviceID,NumberOfCores,NumberOfLogicalProcessors

物理サーバーの場合、DeviceID〜Socket、NumberofCores〜CPU、NumberOfLogicalProcessors〜スレッド。 MSは現在、コアベースのライセンスモデルを使用しています。 CALは範囲外です。さらに詳しい情報が必要な場合は、「Microsoft SQL Server 2012ライセンスガイド」を検索してください。

以下の例は、Standard/Enterpriseの2パック* 4 CPU SQL Serverライセンスのコスト/請求に必要です。合計8コア(CPU)。

DeviceID  NumberOfCores  NumberOfLogicalProcessors
CPU0      4              8
CPU1      4              8

タスクマネージャーの[パフォーマンス]タブまたはリソースモニターの[CPU]タブには、実行中の16個のCPUが表示されます。論理プロセッサ。私がチェックしていたプロセッサである「Intel X5500」を検索します。インテルはすべての仕様をウェブサイトに掲載しています ark.intel.com 必要な情報をx-checkします。

1
gameon6671