Недопустимое использование параметра flush_interval_seconds в операторе ALTER DATABASE.

Я создал проект базы данных в Visual Studio, но когда я публикую, я получаю сообщение об ошибке:

Недопустимое использование параметра flush_interval_seconds в операторе ALTER DATABASE.

И сгенерированный код:

Сообщение 153, уровень 15, состояние 5, строка 5
Недопустимое использование параметра flush_interval_seconds в инструкции ALTER DATABASE.
(43,0): SQL72045: ошибка выполнения сценария. Исполняемый скрипт:

IF EXISTS (SELECT 1
           FROM   [master].[dbo].[sysdatabases]
           WHERE  [name] = N'$(DatabaseName)')
    BEGIN
        ALTER DATABASE [$(DatabaseName)]
            SET QUERY_STORE (DATA_FLUSH_INTERVAL_SECONDS = 0, INTERVAL_LENGTH_MINUTES = 0) 
            WITH ROLLBACK IMMEDIATE;
    END

SQL72014: поставщик данных .Net SqlClient:
Сообщение 153, уровень 16, состояние 6, строка 5
Недопустимое использование параметра interval_length_minutes в инструкции ALTER DATABASE.

(43,0): SQL72045: ошибка выполнения скрипта. Исполняемый скрипт:

IF EXISTS (SELECT 1
           FROM   [master].[dbo].[sysdatabases]
           WHERE  [name] = N'$(DatabaseName)')
    BEGIN
        ALTER DATABASE [$(DatabaseName)]
            SET QUERY_STORE (DATA_FLUSH_INTERVAL_SECONDS = 0, INTERVAL_LENGTH_MINUTES = 0) 
            WITH ROLLBACK IMMEDIATE;
    END

Произошла ошибка во время выполнения пакета.

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

Изменить: указанный выше SQL автоматически генерируется при публикации базы данных из Visual Studio.


person Keith    schedule 27.01.2019    source источник
comment
Этот SQL вы написали или он сгенерирован Visual Studio?   -  person sticky bit    schedule 27.01.2019
comment
Извините, я должен был сказать, что это автоматически сгенерированный SQL, когда БД публикуется из Visual Studio.   -  person Keith    schedule 27.01.2019


Ответы (2)


Вы можете настроить его с помощью Visual Studio.

Обозреватель решений-> Проект базы данных -> Щелчок правой кнопкой мыши -> Свойства -> Параметры проекта -> Параметры базы данных -> Хранилище запросов

Измените 0 на желаемое значение.


Связанные: SSDT: параметры проекта SQL и Настройки проекта базы данных

Если это не работает, это означает, что у вас есть собственный сценарий SQL в папке Pre/Post Deployment.

person Lukasz Szozda    schedule 27.01.2019
comment
Спасибо, именно эти настройки мне были нужны, но я не мог найти. - person Keith; 27.01.2019
comment
@ Leonidas199x Да, они скрыты. Другой вариант - отредактировать XML-версию направления проекта БД, но я не рекомендую этого делать :) - person Lukasz Szozda; 27.01.2019

Нулевое значение для DATA_FLUSH_INTERVAL_SECONDS не имеет смысла, так как это значение предназначено для асинхронного сброса. Я думаю, что 60 секунд - это минимум. Кроме того, 1 минута является минимумом для INTERVAL_LENGTH_MINUTES, размера временного окна статистики фиксированной длины.

person Dan Guzman    schedule 27.01.2019
comment
Спасибо - я должен был добавить, этот код автоматически генерируется визуальной студией, я его не писал. - person Keith; 27.01.2019