Требования к использованию оптимизированных для памяти таблиц
Область применения: SQL Server
В этой статье описываются требования к внедрению функций в памяти в SQL Server.
Требования
Помимо SQL Server 2022: требования к оборудованию и программному обеспечению, ниже приведены требования к использованию OLTP в памяти:
SQL Server 2016 (13.x) с пакетом обновления 1 (SP 1) и более поздних версий— любой выпуск. Для SQL Server 2014 (12.x) и SQL Server 2016 (13.x) RTM (предварительная версия SP1) требуется выпуск Enterprise, Developer или Evaluation Edition.
Для OLTP в памяти требуется 64-разрядная версия SQL Server.
SQL Server требует достаточно памяти для хранения данных в оптимизированных для памяти таблицах и индексах, а также дополнительной памяти для поддержки рабочей нагрузки в сети. Дополнительные сведения см. в статье Оценка требований к объему памяти для таблиц, оптимизированных для памяти.
При запуске SQL Server на виртуальной машине убедитесь, что на виртуальной машине достаточно памяти, выделенной для поддержки памяти, необходимой для оптимизированных для памяти таблиц и индексов. В зависимости от ведущего приложения виртуальной машины для выделения необходимой памяти может служить параметр конфигурации "Резервирование памяти", а при использовании динамической памяти — "Минимальный объем ОЗУ". Убедитесь, что эти параметры достаточно для потребностей баз данных в SQL Server.
Свободного места на диске требуется вдвое больше, чем для хранимых и оптимизированных для памяти таблиц.
Процессор должен поддерживать инструкцию
cmpxchg16b
по использованию OLTP в памяти. Поддержка всех современных 64-разрядных процессоровcmpxchg16b
.Если вы используете виртуальную машину и SQL Server, отображает ошибку, вызванную старым процессором, просмотрите, имеет ли приложение узла виртуальной машины параметр конфигурации для разрешения
cmpxchg16b
. В противном случае можно использовать Hyper-V, который поддерживаетсяcmpxchg16b
без необходимости изменять параметр конфигурации.In-Memory OLTP устанавливается вместе со службами компонента Database Engine.
Чтобы установить создание отчетов (определение того, следует ли перенести таблицу или хранимую процедуру в память OLTP) и SQL Server Management Studio (для управления OLTP в памяти с помощью SQL Server Management Studio обозреватель объектов), скачайте SQL Server Management Studio (SSMS).
Примечание.
- Дополнительные сведения о данных в памяти в База данных SQL Azure см. в статье "Оптимизация производительности с помощью технологий в памяти" в База данных SQL Azure и блоге: OLTP в памяти в База данных SQL Azure.
- Дополнительные сведения о данных в памяти в Управляемый экземпляр SQL Azure см. в статье "Оптимизация производительности с помощью технологий в памяти" в Управляемый экземпляр SQL Azure.
Важные заметки об использовании OLTP в памяти
В SQL Server 2016 (13.x) и более поздних версиях размер оптимизированных для памяти таблиц не ограничивается, кроме доступной памяти.
В SQL Server 2014 (12.x) общий объем памяти всех устойчивых таблиц в базе данных не должен превышать 250 ГБ. Дополнительные сведения см. в статье Оценка требований к объему памяти для таблиц, оптимизированных для памяти.
Примечание.
Начиная с SQL Server 2016 (13.x) с пакетом обновления 1 (SP 1), выпуски Standard и Express поддерживают OLTP в памяти, но они накладывают квоты на объем памяти, который можно использовать для оптимизированных для памяти таблиц в данной базе данных. В выпуске Standard это 32 ГБ на базу данных; В выпуске Express это 352 МБ на базу данных.
При создании одной или нескольких баз данных с оптимизированными для памяти таблицами необходимо включить мгновенное инициализацию файлов (IFI), предоставив учетной записи запуска службы SQL Server право пользователя SE_MANAGE_VOLUME_NAME . Без ifI файлы хранилища, оптимизированные для памяти (данные и разностные файлы), инициализированы при создании, что может негативно повлиять на производительность рабочей нагрузки. Дополнительные сведения о IFI, в том числе о том, как включить его, см. в статье об инициализации мгновенного файла базы данных.
-
Известная проблема: для баз данных с оптимизированными для памяти таблицами, выполнение резервного копирования журналов транзакций без восстановления и последующее восстановление журнала транзакций с восстановлением может привести к неответственному процессу восстановления базы данных. Эта проблема также может повлиять на функции доставки журналов. Чтобы обойти эту проблему, экземпляр SQL Server можно перезапустить перед началом процесса восстановления.