【发布时间】:2018-09-04 14:19:07
【问题描述】:
【问题讨论】:
-
错误很简单:“此版本的 SQL Server 不支持无密码的数据库主密钥”。执行的脚本:
CREATE MASTER KEY. -
这是您要求的声明吗?通过密码创建主密钥加密 = 'key';去
标签: sql sql-server azure azure-sql-database
【问题讨论】:
CREATE MASTER KEY.
标签: sql sql-server azure azure-sql-database
您可能在 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 脚本后,您将获得带有“已修补”后缀的新 bacpac 文件。
【讨论】:
在将数据库导出为 bacpac 之前,您需要执行以下步骤:
之后再次导出数据库并将其导入本地 SQL Server。
【讨论】:
我成功解决了这个问题,首先我在 azure db 实例中执行 CREATE MASTER KEY 脚本,然后导出该数据库。然后将该数据库导入本地 SQL 服务器。
【讨论】: