Hi there,
We have an environment where we have 1000's of identical databases running on a Sql Cluster (x64/32Gb ram, vs. 10.0.1600.22) that contains some CLR assemblies for certain queries.
We've recently started seeing the following exception in the Event Logs:
".NET Framework execution was aborted by escalation policy because of out of memory. "
(Below is a detailed stack trace)
Researching this led us to reduce the "Max memory" on that server to 24Gb.
Even though the query was executed using "RECONFIGURE WITH OVERRIDE", we did not see the memory drop for that process.
Further reading spoke about the MemToLeave and "-g" startup options, which does not apply to the 64 bit version of Sql Server.
One way we saw that we could get the procs to execute again was to drop the assembly and re-add it.
Does anyone have any insight into this?
Regards,
Marcel
Stack trace:
.NET Framework execution was aborted by escalation policy because of out of memory.
System.Threading.ThreadAbortException: Thread was being aborted.
System.Threading.ThreadAbortException:
at System.Data.SqlServer.Internal.UMGS+CloseRequestDel7f1e5776-ff31-4768-a2b8-25f130e61c47(IntPtr , IntPtr , IntPtr , SqlAccessApiReturnCode* )
at System.Data.SqlServer.Internal.ClrLevelContext.CloseRequest(EventTranslator eventTranslator, UrtNativeRequest* pNativeRequest)
at System.Data.SqlServer.Internal.RequestExecutor.BatchCleanup(Boolean fUnblockConnection, EventTranslator eventTranslator)
at System.Data.SqlServer.Internal.EventTranslator.Close(Boolean blockingConnection)
at System.Data.SqlServer.Internal.EventBuffer.Close(SmiEventSink sink)
at System.Data.SqlServer.Internal.RequestExecutor.Execute(SmiConnection connection, Int64 transactionId, Transaction associatedTransaction, CommandBehavior behavior, SmiExecuteType executeType)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderSmi(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader()
at Firmex.SqlServer.Extensions.SqlCommandExtensions.Fill[T](SqlCommand cmd, Action`1 fillAction)
at Firmex.SqlServer.Processors.Documents.DocumentViewHelper..ctor(Int32 userId, String folderIds, SqlInt32 documentGroupingSize, SqlInt32 pageNumber, SqlConnection connection)
at StoredProcedures.GetDocuments(Int32 userId, String folderIds, SqlInt32 documentGroupingSize, SqlInt32 pageNumber)