web-dev-qa-db-ja.com

SQL Server ExpressのメモリとインスタンスあたりのCPU制限はありますか?

サーバーに8 GBのRAM=があり、SQL Server Expressの4つのインスタンスを実行している場合、SQL Serverで使用される合計メモリ制限は1GBまたは4GBですか?

このような複数のインスタンスを実行して、各データベースがリソースをより有効に利用できるようにすることをお勧めします(サーバーに十分なリソースがあると仮定)。

32
wizzardmr42

サーバーに8 GBのRAM=があり、SQL Expressの4つのインスタンスを実行している場合、SQL Serverで使用される合計メモリ制限は1GBまたは4GBですか?

各インスタンスはバッファプールに最大1GBのメモリを使用できます 。すべてのメモリ割り当てがバッファプールを経由するわけではないため、各インスタンスは合計で1 GBを少し超える量を使用できます。あなたのケースでは、バッファープールの4つのインスタンスによって使用される最大メモリは4GBです。

BOL extract

確認するために、SQL Server 2008 Expressデータベースエンジンの2つのインスタンスを開始し、(個別の)バッファプールをロードするためにいくつかのアクティビティを実行してから、 DBCC MEMORYSTATUS を使用する、または sys.dm_os_buffer_descriptors DMVを使用してバッファーの数をカウントするなど、さまざまな方法でインスタンスごとのメモリ使用率。

以下の物理メモリ使用量の数値は、データベースエンジンの各インスタンスでシステムDMV sys.dm_os_process_memory に対する同時クエリを使用して取得されました:

SELECT 
    dopm.physical_memory_in_use_kb 
FROM sys.dm_os_process_memory AS dopm;

出力:

╔═══════════╦═══════════╗
║ Instance1 ║ Instance2 ║
╠═══════════╬═══════════╣
║   1102872 ║   1059812 ║
╚═══════════╩═══════════╝

前述のように、物理メモリの合計使用量にはバッファプールの使用量だけではないため、これらの値はそれぞれ1GBをわずかに超えています。

このような複数のインスタンスを実行して、各データベースがリソースをより有効に利用できるようにすることをお勧めします(サーバーに十分なリソースがあると仮定)。

各インスタンスのデータベースが機能的に独立している場合、少なくともこの方法でExpressの複数のインスタンスを実行することは可能ですが、構成に注意を払う必要があり、メンテナンスがより複雑になる場合があります。

意図した使用法がライセンスと一致する場合は、フル機能の(そして非常に安価な)Developer Editionなどの別のエディションを使用したほうがよい場合があります。この点について明確な答えを得るには、状況についてもっと詳しく言う必要があります。

27
Paul White 9

個別のプロセスがあるため、すべてのインスタンスは個別にカウントされます。

7
TomTom