Требования для использования таблиц, оптимизированных для памятиRequirements for Using Memory-Optimized Tables

Применимо к:Applies to: даSQL ServerSQL Server (все поддерживаемые версии) yesSQL ServerSQL Server (all supported versions) Применимо к:Applies to: даSQL ServerSQL Server (все поддерживаемые версии) yesSQL ServerSQL Server (all supported versions)

Использование выполняющихся в памяти OLTP в базе данных Azure описано в статье In-Memory OLTP (оптимизация в памяти).For using In-Memory OLTP in Azure DB see Get started with In-Memory in SQL Database.

Помимо требований к оборудованию и программному обеспечению для установки SQL Server, для использования выполняющейся в памяти OLTP необходимо следующее.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) с пакетом обновления 1 (SP1) или более поздней версии.SQL Server 2016 (13.x);SQL Server 2016 (13.x) 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 (с предварительным пакетом обновления 1, 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.

  • Если SQL ServerSQL Server запускается на виртуальной машине, объем памяти, выделенный такой машине, должен быть достаточным для того, чтобы обеспечить память, необходимую для оптимизированных для памяти таблиц и индексов.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. В зависимости от ведущего приложения виртуальной машины для выделения необходимой памяти может служить параметр конфигурации "Резервирование памяти", а при использовании динамической памяти — "Минимальный объем ОЗУ".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.

  • Свободного места на диске требуется вдвое больше, чем для хранимых и оптимизированных для памяти таблиц.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 отображает ошибку, вызванную более старым процессором, проверьте, разрешена ли в ведущем приложении виртуальной машины инструкция 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, где cmpxchg16b поддерживается без изменения параметров конфигурации.If not, you could use Hyper-V, which supports cmpxchg16b without needing to modify a configuration option.

  • In-Memory OLTP устанавливается вместе со службами компонента Database Engine.In-Memory OLTP is installed as part of Database Engine Services.

    Для установки средств создания отчетов (как определить, следует ли перенести таблицу или хранимую процедуру в выполняющуюся в памяти OLTP) и SQL Server Management StudioSQL Server Management Studio (для управления выполняющейся в памяти OLTP с помощью обозревателя объектов SQL Server Management StudioSQL Server Management Studio) скачайте 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 OLTPImportant 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 ГБ.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) с пакетом обновления 1 (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 это ограничение равно 32 ГБ на базу данных; в выпуске Express — 352 МБ на базу данных.In Standard edition this is 32GB per database; in Express edition this is 352MB per database.

  • Если создается одна база данных с оптимизированными для памяти таблицами или несколько, необходимо включить мгновенную инициализацию файлов (предоставьте стартовой учетной записи служб SQL ServerSQL Server пользовательское право SE_MANAGE_VOLUME_NAME).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