Getting large recordset static linked data OutOfMemoryExcept

SSRS 2008 R2 SSMS
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="https://skydrive.live.com/embedphoto.aspx/RedGate/cmrconfig^_getlatest.jpg?cid=09d6bd899aabffc8&sc=photos"></iframe&gt;

[img]<iframe%20title%20="Preview"%20scrolling="no"%20marginheight="0"%20marginwidth="0"%20frameborder="0"%20style="width:320px;height:232px;padding:0;background-color:#fcfcfc;"%20src="https://skydrive.live.com/embedphoto.aspx/RedGate/cmrconfig^_getlatest.jpg?cid=09d6bd899aabffc8&sc=photos"></iframe>[/img]

selectembed.aspx?cid=09D6BD899AABFFC8&resid=9D6BD899AABFFC8%21129&ref=2

Comments

  • James BJames B Posts: 1,124 Silver 4
    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.
    Systems Software Engineer

    Redgate Software

Sign In or Register to comment.