我正在尝试从 Azure 导出 bacpac 并在 SQLEXPRESS 2016 上本地恢复它。当我尝试恢复它时,虽然我从 SSMS 中的导入数据层应用程序向导中收到以下错误:
无法导入包。
警告 SQL72012:对象 [TestBacPacDB_Data] 存在于目标中,但即使您选中了“为目标数据库中但不在源中的对象生成删除语句”复选框,它也不会被删除。
警告 SQL72012:对象 [TestBacPacDB_Log] 存在于目标中,但即使您选择了“为目标数据库中但不在源中的对象生成删除语句”,它也不会被删除
错误 SQL72014:.Net SqlClient 数据提供程序:消息 33161,级别 15,状态 1,行 1 此版本的 SQL Server 不支持无密码的数据库主密钥。错误 SQL72045:脚本执行错误。执行脚本:CREATE MASTER KEY;
经过一番挖掘,我发现已将凭据和主密钥添加到数据库中。凭据名称引用了一个 blob 存储容器,所以我想可能在某个时候设置了审核,将容器作为外部资源或类似的东西。
我想删除此凭据,以便可以在本地恢复数据库,但数据库会抛出一个错误,说明它正在使用中。我已尝试禁用 Azure 中的日志记录,但仍无法删除凭据。
我知道 Azure 有时需要时间来关闭资源,所以也许这就是原因,但我想知道是否有其他人遇到过类似的问题。
我试图避免必须为主密钥设置密码,因为我不关心本地的凭据,如以下问题:SSMS 2016 Error Importing Azure SQL v12 bacpac: master keys without password not supported