加密存储过程时无法导出 SQL Azure 数据库

Can't export SQL Azure database when stored procedure is encrypted

我想将我的 SQL Azure 数据库导出到一个文件 test.bacpac,但我失败了:

One or more unsupported elements were found in the schema used as part of a data package.
Error SQL71564: Error validating element [dbo].[IsMyUserExisted]: The element [dbo].[IsMyUserExisted] cannot be deployed as the script body is encrypted.

问题是,为什么我不能像 SQL Server 2008、2017 等那样备份我的数据库(只备份数据库,然后恢复数据库)。

   "C:\Program Files (x86)\Microsoft Visual Studio19\Preview\Common7\IDE\Extensions\Microsoft\SQLDB\DAC0\SqlPackage.exe" /a:Export /ssn:"servername" /sdn:"databasename" /su:"username" /sp:"passwordhere" /tf:"myfile.bacpac" ExcludeObjectsTypes=StoredProcedures 

但是 属性 ExcludeObjectsTypes=StoredProcedures 无效

我也尝试了“/p:ExcludeObjectsTypes=StoredProcedures”,但仍然出现错误。

Azure SQL 数据库不支持用于迁移存储过程、用户定义的函数、触发器或视图等对象的 WITH ENCRYPTION 选项。因此,无法迁移使用该选项编译的对象。您将需要删除 WITH ENCRYPTION 选项。

这意味着Azure SQL不支持包含这些加密对象的export/migrate数据库,我们总是会得到这样的错误:

您必须解密此程序然后备份数据库。数据库恢复后,找到这个存储过程,重新加密

请参考此博客:https://thomaslarock.com/2013/05/migrate-encrypted-procedures-azure-sql-database/

HTH.