sql - 使用 bacpac 导入数据层应用程序

标签 sql sql-server azure azure-sql-database

我已成功从 Azure DB 以 .bacpac 形式导出数据库备份,但当我要导入该 .bacpac 时,它会抛出错误。

This is the error that I facing while import .bacpac

最佳答案

您可能在 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 安装之间的不同行为引起的

无密码的主 key 是 Azure SQL DB 独有的功能,而本地 SQL Server 安装必须对主 key 进行密码加密。

分辨率:

选项 1
为了减轻对 Azure SQL DB 的导入,请使用从 Azure 门户导入。

为了减轻对本地 SQL Server 安装的导入,您可以更改现有主 key 并向其添加密码加密。

这应该在导出数据库之前完成

ALTER MASTER KEY ADD ENCRYPTION BY PASSWORD = '<PasswordHere>';

选项 2 为了进行短期缓解,我们为您提供了执行以下操作的 PowerShell 脚本:

从 bacpac 中删除主 key 对象
从 bacpac 中删除凭证对象

在 bacpac 上运行此 PS 脚本后,您将获得带有“patched”后缀的新 bacpac 文件。

关于sql - 使用 bacpac 导入数据层应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52168410/

相关文章:

sql-server - 将多行合并为一行

VS2013 服务器资源管理器中缺少 Azure Web 应用程序

azure - OAuth 应用程序身份扩展类

azure - 错误 - 访问被拒绝 - 部署到 Azure 应用服务

sql - 使用 Groovy 批处理异构 SQL 准备语句?

MySQL:INSERT INTO 表(SELECT * FROM other_table)附加了自定义值?

sql - ms sql 上 SP 性能问题中的 UDF

SQL 更新查询 - 聚合可能不会出现在 UPDATE 语句的集合列表中

php - 如何在 MYSQL 中使用 1 个查询更新多个表

sql - 如何以交叉的方式确定行之间的月份差异