Azure 使用Encrpytion迁移数据库

Azure 使用Encrpytion迁移数据库,azure,encryption,azure-sql-database,Azure,Encryption,Azure Sql Database,最近我得知Azure SQL V12现在支持 使用加密的数据库。我尝试了这里记录的所有方法, 尝试迁移数据库时,会出现以下错误: [dbo].[someitem]无法部署,因为脚本正文已加密 以下是Azure AMA最近的回复, 为了让此功能正常工作,我做错了什么?正如我所相信的,我已经执行了文档中描述的所有步骤。Azure SQL数据库V12支持两种类型的加密: 此处记录的透明数据加密: 单元级加密:和 您正在尝试使用以下哪一种?Azure SQL数据库V12支持两种类型的加密: 此

最近我得知Azure SQL V12现在支持 使用加密的数据库。我尝试了这里记录的所有方法,

尝试迁移数据库时,会出现以下错误: [dbo].[someitem]无法部署,因为脚本正文已加密

以下是Azure AMA最近的回复,


为了让此功能正常工作,我做错了什么?正如我所相信的,我已经执行了文档中描述的所有步骤。

Azure SQL数据库V12支持两种类型的加密:

  • 此处记录的透明数据加密:
  • 单元级加密:和

您正在尝试使用以下哪一种?

Azure SQL数据库V12支持两种类型的加密:

  • 此处记录的透明数据加密:
  • 单元级加密:和

您正在尝试使用以下哪一项?

是否需要在两个不同的Azure SQL DB服务器之间或在本地SQL Server和Azure SQL DB之间迁移数据库

在2台Azure SQL DB服务器之间,您可以通过创建数据库执行真正的备份还原。。。作为…的副本。。。语法()。这是因为密钥在数据库备份中

在SQL Server和Azure SQL DB之间,没有支持移动加密过程或视图的长期计划


如果您能详细说明加密过程和视图的原因,这将有助于我们了解您试图解决的问题。我们在过去遇到的许多场景中,客户希望使用SQL Server进行过程和视图加密,但这些场景不适用于Azure SQL数据库,但我们一直在了解人们在保护其数据库方面面临的新挑战。

您需要在两个不同的Azure SQL DB服务器之间或在内部部署的SQL Server和Azure SQL DB之间迁移数据库吗

在2台Azure SQL DB服务器之间,您可以通过创建数据库执行真正的备份还原。。。作为…的副本。。。语法()。这是因为密钥在数据库备份中

在SQL Server和Azure SQL DB之间,没有支持移动加密过程或视图的长期计划


如果您能详细说明加密过程和视图的原因,这将有助于我们了解您试图解决的问题。我们在过去遇到的许多情形中,客户希望使用SQL Server进行过程和视图加密,但这些情形不适用于Azure SQL数据库,但我们始终了解到人们在保护其数据库方面遇到的新挑战。

感谢您的回复,快速浏览,主要是存储过程和视图。我认为,与AMA中“AppService”所述的SQL的结果类似,“WITH ENCRYPTION”选项不能使用.dacpac或.bacpac格式迁移。它用机器本地的一个键混淆程序和视图。如果您可以解密过程和视图,您可以通过使用CREATE PROCEDURE在Azure SQL DB v12数据库上重新创建它们来自己上载它们。。。使用加密(和视图)。但是迁移向导和工具不会为您解密它们。这会改变吗?例如,目前我们能够在一台计算机上备份一个数据库,并在其他计算机上恢复它,尽管有本地密钥,这仍然有效。我不是这方面的专家,但即使考虑到良好的最终目标,我也有意解密,这听起来像是我个人不想走的路。我个人认为需要一个官方的MS工具来将数据库迁移到Azure。感谢您的回复,快速浏览,主要是存储过程和视图。我认为,与AMA中“AppService”所述的SQL的结果类似,“WITH ENCRYPTION”选项不能使用.dacpac或.bacpac格式迁移。它用机器本地的一个键混淆程序和视图。如果您可以解密过程和视图,您可以通过使用CREATE PROCEDURE在Azure SQL DB v12数据库上重新创建它们来自己上载它们。。。使用加密(和视图)。但是迁移向导和工具不会为您解密它们。这会改变吗?例如,目前我们能够在一台计算机上备份一个数据库,并在其他计算机上恢复它,尽管有本地密钥,这仍然有效。我不是这方面的专家,但即使考虑到良好的最终目标,我也有意解密,这听起来像是我个人不想走的路。我个人觉得需要一个官方的MS工具来将数据库迁移到Azure。嗨,Jack,我们做系统间的集成。1系统,尤其是ERP程序,使用MS SQL作为其数据存储。该公司是一家国际公司,无论哪种方式,他们的系统都使用存储过程和视图来执行其功能的各个部分,我要说的是几百个数据库对象。他们当然会加密,作为其IP保护的一部分。反过来,我们正试图创建一条路径,在那里我们可以潜在地将客户迁移到Azure。99%的客户拥有现有数据库。公司和相关产品周围还有一个庞大的生态系统,因此,有一些公司专门为使用该系统的公司编写非常具体的存储过程和视图。这些公司还在各种情况下再次加密他们的数据库对象以保护他们的IP。许多公司都有很大的动力迁移到云,从我们的角度来看,我们想让Azure成为一个选项,而VM可以部分解决问题,在我们看来,Azure SQL是最好的方法,当然,如果可能的话。根据我个人的经验,我见证了许多公司在SQL中使用加密来保护他们的知识产权,我想进一步补充一点,要求发展中的公司放弃加密,而所有在生态系统中运行的公司也放弃加密,这根本不是一种选择。毕竟加密是有原因的。我们今天不提供将备份文件上传到云端的服务,这将启用您描述的场景。如果您控制了