Sql 服务器在导入 bacpac 文件时收到 "Archive file cannot be size 0."

Sql Server when importing bacpac file receive "Archive file cannot be size 0."

我正在将 bacpac 文件从我的 Azure SQL 服务器数据库导出到我的本地文件系统。然后,当我尝试将此 bacpac 文件导入 SQL 服务器的本地实例时,出现 "Archive file cannot be size 0." 错误。

我已经尝试通过 GUI 导入数据层应用程序功能进行导入,并通过命令提示符执行 SqlPackage.exe。无论哪种方式,我都收到相同的错误。

有什么想法吗?

这个错误原来是因为bacpac文件里面什么都没有。从 Azure 导出时,导出失败但仍创建了文件。所以我没有意识到它失败了。

当您将 Azure 中的 Sql 数据库导出到 Azure 存储中的 bacpac blob 时,只会向 Azure 提交一个请求。您必须等到该请求完成(如果数据库很大,可能需要一些时间)。如果您尝试在请求完成之前下载文件,文件大小将为 0,SSMS 导入将失败。

如果您最近导出了数据库,则需要等待它完成才能导入。您可以在服务器选项

中的Import/Export历史记录中查看导出状态