DB Schema Compare Error: 'Version store out of

2020-03-12 03:11发布

问题:

Below is an error that I have been receiving while doing a schema compare in Visual Studio 2013 Professional w/ Update 3. I am using version 2008 R2 DB server and I am utilizing SSMS 2014.

This error was persistent for a couple weeks continually popping up more and more frequently. So I reformatted my machine... guess what.. once everything was setup again, I received the error again!

Please help me understand what I can do to resolve this issue. Thank you!


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.JetDelete(JET_SESID sesid, JET_TABLEID tableid)
   at Microsoft.Data.Tools.Schema.SchemaModel.ModelStore.EseResultSet.Delete()
   at Microsoft.Data.Tools.Schema.SchemaModel.ModelStore.EseCommand.<>c__DisplayClass1b2.<DeleteRows>b__1b1(EseResultSet rs)
   at Microsoft.Data.Tools.Schema.SchemaModel.ModelStore.EseCommand.RunQueryImpl(Func1 stopProcessing, Action1 action, Object[] keys)
   at Microsoft.Data.Tools.Schema.SchemaModel.ModelStore.EseCommand.DeleteRows(Object[] keys)
   at Microsoft.Data.Tools.Schema.SchemaModel.ModelStore.CoreDelete(ModelElement element, IList1 elementsToSignal)
   at Microsoft.Data.Tools.Schema.SchemaModel.ModelStore.DeleteElement(ModelElement element, Boolean includeHierarchical)
   at Microsoft.Data.Tools.Schema.SchemaModel.ModelElement.Delete(Boolean deleteHierarchicalChildren)
   at Microsoft.Data.Tools.Schema.SchemaModel.DataSchemaModel.UnloadExternals(String fileName)
   at Microsoft.Data.Tools.Schema.SchemaModel.DataSchemaModel.OnCustomDataRemoved(CustomSchemaData customData)
   at Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlSchemaModel.OnCustomDataRemoved(CustomSchemaData customData)
   at Microsoft.Data.Tools.Schema.SchemaModel.DataSchemaModel.RemoveCustomData(CustomSchemaData customData)
   at Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlModelBuilder.Clear(CustomSchemaData dataToDelete)
   at Microsoft.Data.Tools.Schema.SchemaModel.ModelBuilder.AddOrUpdate(CustomSchemaData customSchemaData)
   at Microsoft.Data.Tools.Schema.Utilities.Sql.Jobs.ModelBuilderJob.RunImpl()
------ Exception Data --------
Key : error
Value : VersionStoreOutOfMemory

回答1:

I've searched for solutions myself and never found anything helpful online. After doing some experimenting I found one setting change that allows me to compare and compile my very stubborn projects. I went into the properties of the SqlProj project, down to the "SQLCLR Build" tab and clicked on the "Advanced..." button. In the Output section I changed the "Debug Info" dropdown to be "pdb-only". That improved it for me quite a bit, but I still get the occasional crash.



回答2:

I have regularly seen this problem in our database builds within TeamCity. Following advice from this article https://connect.microsoft.com/SQLServer/feedback/details/749108/msbuild-fails-randomly-with-version-store-out-of-memory-cleanup-already-attempted-errors-msb4018 I have since configured the MSBuild command with the additional parameter /p:CmdLineInMemoryStorage=true. The build process does appear to be more reliable now.