为什么导入 .bacpac 文件需要数小时时间?

8

我正在开发一个Umbraco 8网站,目前处于非常早期的阶段,使用SQL Server 2017 Express设置了一个极小的数据库。

我已经想要将这个网站迁移到服务器上以便向其他人展示。我使用 SQL Server Management Studio 2018 中的“导出数据层应用程序”选项导出了一个 .bacpac 文件,并将其复制到服务器上。该文件大小为 55kb,所以如果在本地执行此操作,则会在几秒钟内完成。

但是,在服务器上使用“导入数据层应用程序”选项时,数据库恢复需要数小时,并停留在以下步骤:

- Importing package schema and data into database
- Updating Database
- Importing Data
- Processing Import

似乎还停留在处理表 '[dbo].[umbracoUser]',尽管我没有监控整个过程,所以不确定这是否只是几个缓慢导入中的一个。

服务器还运行着 SQL Server 2017 Express,并且我是通过 SQL Server Management Studio 2017 进行导入的。该服务器正在运行 Windows Server 2016。

我注意到了几个数据库存在这个问题,但是很难找到任何解释。

我已经尝试使用 SqlPackage.exe 进行导入,但导入速度也很慢。

谢谢,

Ben


检查 SQL 实例在卡住时的活动情况,以查看是否提供了一些额外信息,例如阻塞。 - Dan Guzman
我也一样,有人能帮我解决这个问题吗? - Theepag
你正在将数据从一个本地 SQL Server 转移到另一个 SQL Server 吗?请不要使用 bacpac,它是一种效率非常低的传输机制。请使用备份文件 .bak - Nick.McDermaid
2个回答

3
当导入发生时,内存使用率飙升至100%,原来这是一个与内存使用相关的问题。虽然导入最终完成了,但我最终还是为导入释放了资源。

1

可以通过更改 SQL Server Management Studio 的版本来解决这个问题。 我在 18.8 上遇到了这个问题,将版本更改为 18.6 后问题得以解决。


可能只是巧合。本应该回答这个问题,但对我来说,那是一个内存问题。在传输过程中,内存占用率飙升到100%,并且这样做需要很长时间才能完成。我释放了一些内存,问题得到了解决。 - 0Neji

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接