現在オフラインです。再接続するためにインターネットの接続を待っています

SQL Server 2012 以降のメモリ構成およびサイジングに関する考慮事項

重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。

英語版 KB:2663912
概要
Microsoft SQL Server では、自動的かつ動的なメモリが、現在のメモリ要件、SQL Server の内部コンポーネントとシステムの負荷に基づいて、管理を実行します。SQL Server には、特定のアプリケーションの動作パターンと高度な要件を特定の位置の微調整を支援するためにメモリ関連の構成オプションも用意されています。次のようなさまざまな構成オプションがあります。
  • sp_configure オプション (最大サーバー メモリ (MB)最小サーバー メモリ (MB)では、 awe が有効になっている)
  • g -起動時のパラメーター (memory_to_reserve)
  • ロックされたページ

Microsoft SQL Server 2012年では、管理者がこれらのメモリ オプションを構成する方法に影響するメモリ マネージャーでの変更について説明します。SQL Server 2012 にアップグレードする前、または、新しくインストールした SQL Server 2012 を構成する前に、こちらで説明されている変更内容を確認してください。

注: <b>この資料は、Microsoft SQL Server 2014年にも適用されます。
詳細
SQL Server 2012 には、特定の種類のメモリ割り当てを考慮する方法とこれらの種類の割り当てで使用できるメモリの最大量を制御するメモリ構成オプションにおける変更も導入されています。SQL Server 2012 での変更は、SQL CLR およびマルチページ割り当てからのメモリ割り当て要求に特有なものです。SQL Server 2012 には、(割り当て要求の 8 KB 未満、および、 8 KB を超える) シングル ページと複数ページ両方の割り当てを管理する新しいページ アロケーターがあります。したがって、SQL Server 2012 には別々の「マルチページ割り当て」カテゴリはありません。

"最大サーバー メモリ (MB)] と [最小サーバー メモリ (MB)] に変更

(SQL Server 2005、SQL Server 2008、および SQL Server 2008 R2) の SQL Server の以前のバージョンでは、次の構成オプションは、バッファー プールが消費する物理メモリの制限を決定します。SQL Server データベース エンジン プロセスによってコミットされるこの場合、物理メモリ内の物理メモリについて説明していることに注意してください。
  • 最大サーバー メモリ (MB)
  • 最小サーバー メモリ (MB)
通常、このような構成オプションには、された SQL Server プロセス内から 8 KB 以下のメモリの割り当てのみが含まれています。これらの割り当て werealso と呼ばれる"single_page_allocations"SQL Server のメモリ マネージャーは、8 KB のページ サイズを使用します。この構成には、次のメモリ割り当て要求が含まれていませんでした。
  • SQL Server の複数のページの割り当て: 割り当てが 8 KB 以上を要求することができます。
  • CLR の割り当て: このような割り当ては、SQL CLR ヒープおよび CLR の初期化中に作成されるグローバル インスタンスの割り当て。
  • SQL Server プロセス内のスレッドのスタック用のメモリ割り当てです。
  • メモリ割り当て要求が Windows に直接加えられた: Windows のヒープの使用状況と、SQL Server プロセスに読み込まれているモジュールによる直接の仮想割り当てが含まれます。このようなメモリの割り当て要求の例には、拡張ストアド プロシージャ Dll でオートメーション プロシージャ (sp_OA 呼び出し)、およびリンク サーバーのプロバイダーからの割り当てを使用して作成されたオブジェクトからの割り当てが含まれます。

SQL Server 2012年以降では、複数ページの割り当ておよび CLR の割り当ても含まれての最大サーバー メモリ (MB)最小サーバー メモリ (MB)によって制御されるメモリの制限。この変更は、SQL Server のメモリ マネージャーを通過するすべてのメモリ要件の正確なサイズ変更機能を提供します。慎重に SQL Server 2012年にアップグレードした後、現在の最大サーバー メモリ (MB)最小サーバー メモリ (MB)の値を確認します。SQL Server 2012年は、ここで含まれていて、アカウントを以前のバージョンと比較して多くのメモリ割り当てのためこのような値を確認する必要があります。これらの変更は、SQL Server 2012年の 32 ビットと 64 ビットの両方のバージョンに適用されます。

次の表は、最大サーバー メモリ (MB)最小サーバー メモリ (MB)の構成オプションを使用して特定の種類のメモリの割り当てを制御するかどうかを示します。
メモリの割り当ての種類SQL Server 2005 、SQL Server 2008 、SQL、Server 2008 R2SQL Server 2012、SQL Server 2014
単一ページの割り当て[はい]「サイズ」ページ割り当てを統合して、
マルチページ割り当てNo「サイズ」ページ割り当てを統合して、
CLR の割り当てNo[はい]
スレッド スタックのメモリNoNo
Windows からの直接の割り当てNoNo
SQL Server 2012年およびそれ以降のバージョンは、最大サーバー メモリの設定で指定されている値より多くのメモリを割り当てることがあります。合計サーバー メモリ (KB)の値は、ターゲット サーバー メモリ (KB)の設定 (指定されている最大サーバー メモリの量によって) に既に達しているときに、この現象が発生する可能性があります。メモリの断片化が発生したため (8 KB を超える) の複数ページのメモリ要求の需要を満たすために連続した空きメモリの不足がある場合は、SQL Server がメモリ要求を拒否するのではなくオーバー コミットを実行できます。

この割り当てを実行するとすぐにリソース モニターは、割り当てられたメモリを解放するのには開始し、合計サーバー メモリ (KB)の値の表題ターゲット サーバー メモリ (KB)の仕様を表示しようとしています。したがって、SQL Server のメモリ使用量ことが簡単に exceedthe最大サーバー メモリの設定。このような場合は、最大サーバー メモリおよびターゲット サーバー メモリ (KB)設定合計サーバー メモリ (KB)のパフォーマンス カウンターの読み取りを超えています。

次の操作中にこの現象が発生通常します。
  • 大規模な Columnstore インデックスのクエリ
  • Columnstore インデックス (re) のビルド、ハッシュや並べ替え操作を実行するのには大量のメモリを使用します。
  • 大規模なメモリ バッファーを必要とするバックアップ ・ オペレーション
  • 大規模な入力パラメーターを格納する必要がある操作のトレース

2014 の SQL Server 用の累積的な更新プログラム 8SQL Server 2014 SP1 用の累積的な更新 1上記の概要で説明するようより高速なメモリのリリースでの改善を導入しました。また、2014 の SQL Server 用の累積的な更新プログラム 9オーバー コミットに関連するメモリ割り当ての問題に対処します。詳細については、次のマイクロソフト サポート技術情報記事を参照してください。
最大サーバー メモリの設定によって制御されるメモリの一部の詳細についてを参照してください、 サーバー メモリのサーバー構成オプション トピックのオンライン書籍です。

"Memory_to_reserve"に変更


(SQL Server 2005、SQL Server 2008、および SQL Server 2008 R2) の 32 ビットの SQL Server の以前のバージョンで SQL Server のメモリ マネージャーのプロセスの仮想アドレス空間の一部が設定次の割り当て要求。
  • SQL Server の複数のページの割り当て: 割り当てが 8 KB 以上を要求することができます。
  • CLR の割り当て: このような割り当ては、SQL CLR ヒープおよび CLR の初期化中に作成されるグローバル インスタンスの割り当て。
  • SQL Server プロセス内のスレッドのスタック用のメモリ割り当てです。
  • メモリ割り当て要求が Windows に直接加えられた: Windows のヒープの使用状況と直接の仮想割り当てが、SQL Server プロセスに読み込まれているモジュールによって行われた、これらの割り当て要求が含まれます。このようなメモリの割り当て要求の例には、拡張ストアド プロシージャ Dll でオートメーション プロシージャ (sp_OA 呼び出し)、およびリンク サーバーのプロバイダーからの割り当てを使用して作成されたオブジェクトからの割り当てが含まれます。

これらの割り当て用に予約されている仮想アドレス空間は、 memory_to_reserveの構成オプションによって決まります。SQL Server を使用する既定値は、256 MB です。既定値を無効にするには、SQL Server のスタートアップ パラメーター -gを使用します。仮想アドレス空間のこの部分とも呼ばれます「メモリのまま」または「バッファー プール以外の地域」。

SQL Server 2012 に、8 KB より大きい値を処理する新しい [すべてのサイズ] ページ アロケーター割り当てがあるため 、 memory_to_reserve 値はこの複数のページ割り当てを含めません。この変更を除く他のすべてはこの構成オプションを使用して同じです。

次の表は、SQL Server プロセスの仮想アドレス空間のmemory_to_reserve地域に特定の種類のメモリの割り当てがあるかどうかを示します。
メモリの割り当ての種類SQL Server 2005、SQL Server 2008、SQL Server 2008 R2SQL Server 2012、SQL Server 2014
単一ページの割り当てNo「サイズ」ページ割り当てを統合して、
マルチページ割り当て[はい]「サイズ」ページ割り当てを統合して、
CLR の割り当て[はい][はい]
スレッド スタックのメモリ[はい][はい]
Windows からの直接の割り当て[はい][はい]

他のメモリ関連の構成オプションの変更

「awe enabled」オプションを使用するために SQL Server 2005、SQL Server 2008、または SQL Server 2008 R2 を構成した場合は、この構成オプションの重要な変更点を理解するために次の資料を確認してください。

「ロックされたページ」機能を使用する SQL Server 2005、SQL Server 2008、または SQL Server 2008 R2 を構成した場合は、このコンフィギュレーション オプションの重要な変更点を理解するのには次の資料を確認してください。

SQL Server のさまざまなエディションの最大メモリ使用率

SQL Server のさまざまなエディションでは、さまざまなリソースを使用することで最大数の制限があります。SQL Server のエディションごとの最大メモリ使用量に適用されている制限があります。たとえば、SQL Server 2008 R2 Standard Edition のインスタンスは、最大 64 GB のメモリのみを使用できます。完全な詳細については、次の MSDN web ページに移動します。SQL Server 2012 以降 では、これらのメモリの制限は、データベース キャッシュ (バッファー プール) にのみ適用されます。SQL Server のメモリ マネージャーのキャッシュの残りの部分では、これらのエディションの制限で指定されているより多くのメモリを使用できます。など、SQL Server 2012 Express edition は、データベース キャッシュの 1.4 GB の最大サイズのみを使用できます。プロシージャ キャッシュ、メタデータのキャッシュ、およびなど) などの他のキャッシュは、「最大サーバー メモリ」の構成で指定されたサイズまでメモリを消費できます。

警告: この記事は自動翻訳されています

プロパティ

文書番号:2663912 - 最終更新日: 04/18/2016 21:24:00 - リビジョン: 7.0

Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2014 Enterprise

  • kbtshoot kbmt KB2663912 KbMtja
フィードバック