Я использую SSDT для публикации DACPAC в экземпляре PaaS Azure SQL.
Трудно точно определить, к какой именно версии SSDT привязана данная командная строка, но она равна "150", то есть "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\150\sqlpackage.exe"
При передаче параметров /p:DatabaseServiceObjective
и /p:DatabaseEdition
я наблюдаю следующее поведение:
- Если база данных не существует, база данных создается и публикуется вцель / редакция предоставленной услуги.
- Если база данных уже существует, но имеет другой выпуск SO /, она успешно публикуется, но выпуск SO / остается неизменным.
I 'я не видел ничего в документации, которая выражала бы, что это правильное поведение, но я также не видел ничего, что выражало бы, что это некорректное поведение.
Конкретная командная строка, которую я используюдля этого:
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\150\sqlpackage.exe" /Action:Publish <elided connection string stuff for brevity> /p:ExcludeObjectTypes=RoleMembership;Permissions;ApplicationRoles;Users;Logins /p:IncludeCompositeObjects=true /p:AllowIncompatiblePlatform=true /p:DatabaseServiceObjective=P1 /p:DatabaseEdition=Premium
Есть ли флаг командной строки, который я пропускаю, который включает этот сценарий?Или эти параметры публикации специально предназначены только для работы, когда база данных еще не существует?Как я уже сказал, в документации нет указаний на то, что я делаю что-то не так или пытаюсь реализовать неподдерживаемый сценарий.
Пожалуйста, поймите, что мне известны другие варианты, которые мне нужнообновить атрибуты базы данных (шаблоны ARM, Azure PowerShell и т. д.), поэтому я не ищу инструкции по обновлению этих атрибутов базы данных.