首页 > 解决方案 > Azure Pipeline DB Build 随机失败并出现 EsentVersionStoreOutOfMemoryException:版本存储内存不足

问题描述

我们为 SSDT DACPAC 项目构建了 Azure DevOps Pipeline,设置为在持续集成上运行。它已经运行了几年,我们定期随机看到以下错误导致构建失败:

Microsoft.Isam.Esent.Interop.EsentVersionStoreOutOfMemoryException: Version store out of memory (cleanup already attempted)
   at Microsoft.Isam.Esent.Interop.Api.Check(Int32 err)
   at Microsoft.Isam.Esent.Interop.Api.JetUpdate(JET_SESID sesid, JET_TABLEID tableid, Byte[] bookmark, Int32 bookmarkSize, Int32& actualBookmarkSize)
   at Microsoft.Isam.Esent.Interop.Update.Save(Byte[] bookmark, Int32 bookmarkSize, Int32& actualBookmarkSize)
   ...

到目前为止,我们的解决方法是重新排队一个新的构建。99% 的时间可以解决问题。直到今天。现在,我连续 3 次将新的 CI 构建排队,每次它都因相同的异常而失败。该项目在本地构建,因此管道构建过程存在一些问题。

是否可以在我们的 MSBuild Pipeline 构建过程中进行一些修复以消除此错误?

标签: azure-devopssql-server-data-toolsazure-pipelines-build-taskazure-devops-hosted-agent

解决方案


使用“/p:Storage=File”,这将使用更少的内存


推荐阅读