メモリ最適化テーブルを使用するための要件Requirements for Using Memory-Optimized Tables

適用対象: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Azure DB でのインメモリ OLTP の使用については、「 SQL Database でのインメモリ (プレビュー) の使用」を参照してください。For using In-Memory OLTP in Azure DB see Get started with In-Memory in SQL Database.

インメモリ OLTP を使用する場合、「SQL Server のインストールに必要なハードウェアおよびソフトウェア」に加え、以下も要件です。In addition to the Hardware and Software Requirements for Installing SQL Server, the following are requirements to use In-Memory OLTP:

  • SQL Server 2016 (13.x)SQL Server 2016 (13.x) SP1 (以降) のあらゆるエディション。SP1 (or later), any edition. SQL Server 2014 (12.x)SQL Server 2014 (12.x)SQL Server 2016 (13.x)SQL Server 2016 (13.x) RTM (SP1 前) の場合、Enterprise、Developer、または Evaluation エディションが必要です。For SQL Server 2014 (12.x)SQL Server 2014 (12.x) and SQL Server 2016 (13.x)SQL Server 2016 (13.x) RTM (pre-SP1) you need Enterprise, Developer, or Evaluation edition.

    注意

    インメモリ OLTP には、64 ビット版の SQL ServerSQL Server が必要です。In-Memory OLTP requires the 64-bit version of SQL ServerSQL Server.

  • SQL ServerSQL Server には、メモリ最適化テーブルおよびインデックス内にデータを保持するために十分なメモリが必要です。また、オンライン ワークロードに対応するには、追加のメモリが必要です。needs enough memory to hold the data in memory-optimized tables and indexes, as well as additional memory to support the online workload. 詳細については、「 メモリ最適化テーブルのメモリ必要量の推定 」を参照してください。See Estimate Memory Requirements for Memory-Optimized Tables for more information.

  • 仮想マシン (VM) で SQL ServerSQL Server を実行する場合、メモリ最適化テーブルとインデックスに必要なメモリに対応できるように、VM に十分なメモリを割り当てる必要があります。When running SQL ServerSQL Server in a Virtual Machine (VM), ensure there is enough memory allocated to the VM to support the memory needed for memory-optimized tables and indexes. VM ホスト アプリケーションによっては、VM のメモリ割り当てを保証する構成オプションはメモリ予約と呼ばれます。動的メモリを使用する場合は、最小 RAM と呼ばれます。Depending on the VM host application, the configuration option to guarantee memory allocation for the VM could be called Memory Reservation or, when using Dynamic Memory, Minimum RAM. これらの設定が、 SQL ServerSQL Serverのデータベースのニーズを十分に満たしていることを確認します。Make sure these settings are sufficient for the needs of the databases in SQL ServerSQL Server.

  • 持続性メモリ最適化テーブルの 2 倍のサイズの空きディスク領域。Free disk space that is two times the size of your durable memory-optimized tables.

  • インメモリ OLTP を使用するための cmpxchg16b 命令をサポートするプロセッサ。A processor needs to support the instruction cmpxchg16b to use In-Memory OLTP. 最新のすべての 64 ビット プロセッサでは cmpxchg16bがサポートされています。All modern 64-bit processors support cmpxchg16b.

    仮想マシンを使用していて、古いプロセッサが原因のエラーが SQL ServerSQL Server によって表示される場合は、VM ホスト アプリケーションに cmpxchg16bを許可する構成オプションがあるかどうかをご確認ください。If you are using a Virtual Machine and SQL ServerSQL Server displays an error caused by an older processor, see if the VM host application has a configuration option to allow cmpxchg16b. 該当する構成オプションがない場合は、Hyper-V を使用できます。Hyper-V では、構成オプションを変更することなく cmpxchg16b がサポートされています。If not, you could use Hyper-V, which supports cmpxchg16b without needing to modify a configuration option.

  • インメモリ OLTP は データベース エンジン サービスの一部としてインストールされます。In-Memory OLTP is installed as part of Database Engine Services.

    レポートの生成 (「テーブルまたはストアド プロシージャをインメモリ OLTP に移植する必要があるかどうかの確認」) と SQL Server Management StudioSQL Server Management Studio (SQL Server Management StudioSQL Server Management Studio オブジェクト エクスプローラーでインメモリ OLTP を管理する場合) をインストールするには、SQL Server Management Studio (SSMS) をダウンロードします。To install report generation (Determining if a Table or Stored Procedure Should Be Ported to In-Memory OLTP) and SQL Server Management StudioSQL Server Management Studio (to manage In-Memory OLTP via SQL Server Management StudioSQL Server Management Studio Object Explorer), download SQL Server Management Studio (SSMS).

インメモリ OLTPIn-Memory OLTP の使用に関する重要な注意事項Important Notes on using インメモリ OLTPIn-Memory OLTP

  • SQL Server 2016 (13.x)SQL Server 2016 (13.x) 以降、メモリ最適化テーブルのサイズには空きメモリのサイズ以外の制限がありません。Starting SQL Server 2016 (13.x)SQL Server 2016 (13.x), there is no limit on the size of memory-optimized tables, other than available memory.

  • SQL Server 2014 (12.x)SQL Server 2014 (12.x) では、データベース内の持続性のあるすべてのテーブルのメモリ内サイズの合計は 250 GB を超えないようにする必要があります。In SQL Server 2014 (12.x)SQL Server 2014 (12.x), the total in-memory size of all durable tables in a database should not exceed 250 GB. 詳細については、「 メモリ最適化テーブルのメモリ必要量の推定」を参照してください。For more information, see Estimate Memory Requirements for Memory-Optimized Tables.

注意

SQL Server 2016 (13.x)SQL Server 2016 (13.x) SP1 より、Standard エディションと Express エディションではインメモリ OLTP がサポートされていますが、所与のデータベースでメモリ最適化テーブルに利用できるメモリ量にクォータが課せられます。Starting SQL Server 2016 (13.x)SQL Server 2016 (13.x) SP1, Standard and Express Editions support In-Memory OLTP, but they impose quotas on the amount of memory you can use for memory-optimized tables in a given database. Standard エディションの場合、これはデータベースごとに 32GB です。Express エディションの場合、データベースごとに 352MB です。In Standard edition this is 32GB per database; in Express edition this is 352MB per database.

  • メモリ最適化テーブルが含まれるデータベースを 1 つ以上作成する場合は、SQL ServerSQL Server サービス開始アカウントに SE_MANAGE_VOLUME_NAME ユーザー権を与え、ファイルの瞬時初期化 (IFI) を有効にしてください。If you create one or more databases with memory-optimized tables, you should enable Instant File Initialization (IFI) by granting the SQL ServerSQL Server service startup account the SE_MANAGE_VOLUME_NAME user right. IFI なしの場合、メモリ最適化ストレージ ファイル (データ ファイルとデルタ ファイル) が作成時に初期化されるため、ワークロードのパフォーマンスが低下する場合があります。Without IFI, memory-optimized storage files (data and delta files) will be initialized upon creation, which can have negative impact on the performance of your workload. 有効化方法など、IFI に関する詳細については、「データベースのファイルの瞬時初期化」を参照してください。For more information about IFI, including how to enable it, see Database Instant File Initialization.

参照See Also

インメモリ OLTP (インメモリ最適化)In-Memory OLTP (In-Memory Optimization)
データベースのファイルの瞬時初期化Database Instant File Initialization
メモリ アーキテクチャ ガイドMemory Architecture guide