Как исправить ошибку Msg 41337, уровень 16, состояние 100 в таблице создания оптимизации памяти в SQL Server

Я хочу использовать таблицу оптимизации памяти, и у меня возникла ошибка ниже - как ее исправить? Любая идея будет полезна.

Msg 41337, уровень 16, состояние 100, строка 1
Невозможно создать таблицы, оптимизированные для памяти. Чтобы создать таблицы, оптимизированные для памяти, в базе данных должна быть MEMORY_OPTIMIZED_FILEGROUP, которая находится в оперативном режиме и имеет по крайней мере один контейнер.

Код:

CREATE TABLE dbo.Account
(  
    AccountID INT IDENTITY(1, 1) PRIMARY KEY NONCLUSTERED
) WITH (MEMORY_OPTIMIZED=ON)

1 ответ

Решение

Вы должны сначала создать файловую группу:

Создать FileGroup:

imoltp - это образец базы данных

ALTER DATABASE imoltp ADD FILEGROUP imoltp_mod
    CONTAINS MEMORY_OPTIMIZED_DATA;

Добавьте файл базы данных в свою файловую группу:

ALTER DATABASE imoltp ADD FILE (
    name='imoltp_mod1', filename='c:\data\imoltp_mod1')
    TO FILEGROUP imoltp_mod;

Создать таблицу оптимизации памяти:

CREATE TABLE dbo.Account(   
    AccountID INT IDENTITY(1,1) PRIMARY KEY NONCLUSTERED
    ) WITH (MEMORY_OPTIMIZED=ON)

взгляните на это, чтобы получить дополнительную информацию:https://docs.microsoft.com/en-us/sql/relational-databases/in-memory-oltp/creating-a-memory-optimized-table-and-a-natively-compiled-stored-procedure?view=sql-server-ver15 для более подробной информации

Другие вопросы по тегам