【发布时间】:2016-01-07 10:43:56
【问题描述】:
我刚刚将 .bacpac 文件恢复到本地 SQL 服务器实例 (64b v12.0.4213),备份来自 azure sql 实例。
它失败了几次,出现 OOM 异常。我关闭了我机器上的所有东西,在还原结束时,SQL Server 服务实例从一个 700MB 的文件中消耗了 13GB 的内存!
幸运地完成了恢复,但似乎内存没有被释放/垃圾收集。在我写这篇文章时,它仍然是 12GB。
这是一个已知问题吗?有什么办法可以恢复.bacpac 并选择要忽略的表?您可以通过正常的数据恢复来做到这一点,最令人反感的表是 dbo.[Logs] 表,obvs。
【问题讨论】:
-
你试过用 sqlcmd 代替 ssms 吗?虽然对于这么小的数据库来说这很奇怪,但是众所周知 ssms 在大查询、数据库还原等方面存在问题。“但似乎内存没有被释放/垃圾收集”-SQLServer 或 SSMS 使用的内存?
-
SQLServer 而不是 SSMS,它在 win perf 工具中与 SQLServer 服务实例相关联。
-
SQLServer 内存不足——当他获得内存时,他几乎从不归还(并且有充分的理由)。关于您的问题:不完全是您的情况,但您是否尝试过 support.microsoft.com/en-us/kb/2874903 的解决方法?
标签: sql-server ssms azure-sql-database data-tier-applications