我已经成功地从Azure DB中以.bacpac格式导出了我的数据库备份,但是当我要导入该.bacpac时,它会抛出一个错误。

发布于 2018-09-04 22:26:13
你可能在你的Azure SQL上启用了blob审计,对吧?
请看这篇文章:Exported database from Azure SQL failed to be imported to Azure SQL or to local SQL Server
摘自那篇文章的:
原因:
这是由Azure SQL DB和本地SQL Server安装之间的不同行为导致的
没有密码的主密钥是Azure SQL DB的唯一功能,而本地SQL Server安装必须对主密钥进行密码加密。
解决方案:
选项1
若要减少到Azure SQL DB的导入,请使用从Azure门户导入。
若要减少对本地SQL Server安装的导入,可以更改现有主密钥并向其添加密码加密。
应在导出数据库之前完成此操作
ALTER MASTER KEY ADD ENCRYPTION BY PASSWORD = '<PasswordHere>';
选项2对于短期缓解,我们为您提供了执行以下操作的PowerShell脚本:
从bacpac中删除主密钥对象
从bacpac中删除凭据对象
在bacpac上运行这个PS脚本之后,您将拥有一个带有"patched“后缀的新bacpac文件。
发布于 2018-09-04 23:57:08
在将数据库导出为bacpac之前,您需要执行以下步骤:
之后,再次导出数据库并将其导入到本地SQL Server上。
发布于 2018-09-06 13:29:58
我成功地解决了这个问题,首先我在azure db实例中执行CREATE MASTER KEY script,然后导出该数据库。然后将该数据库导入到本地SQL服务器。
https://stackoverflow.com/questions/52168410
复制相似问题