Getting large recordset static linked data OutOfMemoryExcept

A SQL Server Management Studio add-in to source control your database in Subversion or Team Foundation Server.

Getting large recordset static linked data OutOfMemoryExcept

Postby ccollins » Fri Jul 15, 2011 4:54 pm

Static linked data table with 46K records.

Committed fine.

Getting changes on mine and other dev workstations failing with:
System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
at System.Windows.Forms.Control.Invoke(Delegate method)
at #JLc.#fXA.Invoke(MethodInvoker )
at #JLc.#fXA.#mN7(MethodInvoker )
at #JLc.#PLc.#ETc(Object , #eTb )
at #JLc.#PLc.#t.#Jfb.#EJf()
at RedGate.SQLSourceControl.Engine.SmartAssembly.ExceptionReporting.ErrorReporterBase.Do(Action , Predicate`1 , Boolean )
at RedGate.SQLSourceControl.Engine.SmartAssembly.ExceptionReporting.ErrorReporterBase.DoWithObviousExceptionsRethrowAll(Action action)
at RedGate.SQLSourceControl.CommonUI.Forms.ErrorDialog.DoWithObviousExceptionsRethrowAll(Action action)
at #JLc.#PLc.#CTc(ICancellableOperation`1 , Object )

Retry fails
Close SSMS, open, get latest fails again.
Restart workstation, open ssms, success on one dev workstation, still failing on two others.

<iframe title ="Preview" scrolling="no" marginheight="0" marginwidth="0" frameborder="0" style="width:320px;height:232px;padding:0;background-color:#fcfcfc;" src="^_getlatest.jpg?cid=09d6bd899aabffc8&sc=photos"></iframe>


Posts: 50
Joined: Wed Jun 22, 2005 6:49 pm

Postby james.billings » Mon Jul 18, 2011 2:30 pm

Thanks for your post.

SQL Source Control works with a scripted representation of the data, so on large datasets it can begin to use a fair bit of memory. If you observe that you're getting low on diskspace during the process you can direct the temp files it creates to a different location in theory, by setting an "RGTEMP" environment variable, and pointing it to a bigger disk.

However I'd also have thought that 46k records is a lot for the type of static data that SQL Source Control is designed to work with. The feature is really intended for lookup tables (for instance, a list of country codes, contact types, that kind of thing) - is the data you're trying to work with along these lines, or is it actually transactional data, or just test data you want to share around developers?

If the data is a set of static records that developers maintain, we'd be interested to know as it's a use case we obviously want to be aware of.
Posts: 1122
Joined: Wed Jun 16, 2010 10:10 am
Location: Red Gate

Return to SQL Source Control Previous Versions

Who is online

Users browsing this forum: Google [Bot] and 1 guest