大規模データベースのメモリ管理

SQL Server では、Address Windowing Extensions (AWE) API を使用して非常に大きなサイズの物理メモリをサポートします。SQL Server は、32 ビットの Microsoft Windows オペレーティング システム (MicrosoftWindows XP Professional、Windows 2000 Standard Edition、Windows 2000 Advanced Server、Windows 2000 Datacenter Server、Windows Server 2003 Enterprise Edition、Windows Server 2003 Datacenter Edition のいずれか) で実行された場合、最大 64 GB の物理メモリをサポートします。

SQL Server が、Windows Server 2003 オペレーティング システムのいずれかのエディションで実行されている場合、AWE マップ メモリが動的に割り当てられます。つまり、SQL Server でのメモリ使用とシステム全体のメモリ要件とのバランスを取るために、バッファ プールにより AWE マップ メモリが動的に管理されます。

AWE は、32 ビット アプリケーションからは 4 GB を超えるプロセス アドレス空間にはアクセスできないという、32 ビット アプリケーション特有の制限事項に対処します (32 ビット ポインタでは 4 GB を超えるメモリ アドレスを保持できません)。

AWE を使用すると、アプリケーションでは、オペレーティング システムの許容最大量まで物理メモリを非ページ メモリとして直接確保できます。SQL Server では、AWE を使用することで、ディスク上のシステム ページ ファイルから読み取らずに、多くの情報をキャッシュできます。その結果、データ アクセスが高速になり、パフォーマンスが向上し、ディスク アクセスの頻度が少なくなります。

注意

64 ビット アプリケーションではメモリへのアクセスが 4 GB に制限されていないので、AWE は必要ありません。

AWE API の詳細については、MSDN Web サイトにアクセスし、「Address Windowing Extensions」を検索してください。

SQL Server による NUMA (non-uniform memory access) への対応の詳細については、「Non-Uniform Memory Access について」を参照してください。

このセクションの内容