создание таблицы памяти SQL Visual Studio - PullRequest
0 голосов
/ 03 сентября 2018

Я пытаюсь настроить проект базы данных SQL (с использованием Visual Studio 2017).

Я хочу, чтобы это создало dacpac, который мог бы работать на SQL Server или Azure SQL, создавало бы базу данных с нуля с одной публикацией.

Однако я сталкиваюсь с несколькими проблемами:

  • Я не могу создать таблицу, оптимизированную для памяти, если нет существующей базы данных (и таблиц). При запуске этого (SQL Server):

    CREATE TABLE [dbo].[TicketReservationDetail] (
        TicketReservationID BIGINT  NOT NULL,
        TicketReservationDetailID BIGINT IDENTITY   NOT NULL,
        Quantity    INT             NOT NULL,
        FlightID    INT             NOT NULL,
        Comment      NVARCHAR (1000),
    
    CONSTRAINT [PK_TicketReservationDetail]  PRIMARY KEY NONCLUSTERED HASH
            ([TicketReservationDetailID]) WITH (BUCKET_COUNT=10000000)
    ) WITH (MEMORY_OPTIMIZED=ON);
    GO
    ALTER DATABASE [$(DatabaseName)] ADD FILEGROUP [mod] CONTAINS MEMORY_OPTIMIZED_DATA
    

Это дает мне это:

(63,1): SQL72014: .Net SqlClient Data Provider: Msg 10794, Level 16, State 125, Line 1 The operation 'AUTO_CLOSE' is not supported with databases that have a MEMORY_OPTIMIZED_DATA filegroup.
(63,0): SQL72045: Script execution error.  The executed script:
ALTER DATABASE [$(DatabaseName)]
     ADD FILEGROUP [mod] CONTAINS MEMORY_OPTIMIZED_DATA;

An error occurred while the batch was being executed.

Тем не менее, если я сначала опубликую таблицу дисков, то приведенный выше SQL будет работать просто отлично.

Я пробовал использовать сценарий предварительного развертывания, в котором я бы создал схему таблицы дисков, Он публикует таблицу дисков и завершается неудачно, когда пытается опубликовать фактическую схему таблицы, оптимизированную для памяти.

Я использовал пример базы данных из: Заказ билетов

Любые идеи или предложения будут оценены.

...