I'm setting up a CI for Azure SQL DB.
When running
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\130>sqlpackage.exe /SourceFile:"MyPackage.dacpac" /Action:Publish /TargetServerName:"my-server.database.windows.net" /TargetDatabaseName:"db-name" /TargetUser:myuser /TargetPassword:"SomeSecurePassword" /TargetTimeout:120
I'm getting
Initializing deployment (Start)
Initializing deployment (Failed)
An error occurred during deployment plan generation. Deployment cannot continue. Failed to import target model db-name. Detailed message The element SYMMETRIC_KEY_NAME is not supported in Microsoft Azure SQL Database v12.
SYMMETRIC_KEY_NAME is defined as:
CREATE SYMMETRIC KEY [SYMMETRIC_KEY_NAME]
AUTHORIZATION [dbo]
WITH ALGORITHM = AES_256
ENCRYPTION BY CERTIFICATE [AAACERT];
It is my understanding that symmetric keys encryption is supported by Azure SQL (https://learn.microsoft.com/en-us/azure/sql-database/sql-database-transact-sql-information) although architecture of certificates storage is different.
Is there a workaround I can use (a parameter for sqlpackage.exe that I can set up on a build agent for instance) or a flag that can suppress this error to bypass this limitation?
So far I've tried:
/p:AllowIncompatiblePlatform=True
/p:ExcludeObjectTypes=Certificates;SymmetricKeys
/p:ScriptDatabaseCompatibility=False
/p:TreatVerificationErrorsAsWarnings=True
/p:UnmodifiableObjectWarnings=False
/p:VerifyDeployment=False
/p:RunDeploymentPlanExecutors=False