Nos últimos dois dias, posso ver o seguinte no log de erros do SQL Server.
AppDomain 2 (mssqlsystemresource.dbo[runtime].1) unloaded.
&
AppDomain 2 (mssqlsystemresource.dbo[runtime].1) is marked for unload due to memory pressure.
Eu tenho um ambiente de sistema como este:
OS- microosft windows server 2012 R2 Standard
processors - Intel(R) Xeon(R) CPU E5-2670 0 @2.60 GHz
Installed Memory (RAM) - 8GB
Hardware Information - VMWare, Inc. VMware Virtual Platform
SQL Server - Microsoft SQL Server Enterprise (64-bit)
Eu verifiquei no servidor local o log de eventos de ontem. Eu encontrei esses eventos
Server Name ID Severity Source Log Date and Time
ABC 1008 Error Microsoft-Windows-Perflib Application 10/01/2015 2:21
ABC 2 Error TeamCentral Application 9/30/2015 4:20:41 PM
ABC 1309 Warning ASP.NET 4.0.30319.0 Application 9/30/2015 4:20:41 PM
ABC 10016 Error Microsoft-Windows-DistributedCOM System 9/30/2015 4:06:23 PM
ABC 10016 Error Microsoft-Windows-DistributedCOM System 9/30/2015 4:00:04 PM
ABC 10016 Error Microsoft-Windows-DistributedCOM System 9/30/2015 4:00:02 PM
ABC 2 Error TeamCentral Application 9/30/2015 3:55:13 PM
ABC 1309 Warning ASP.NET 4.0.30319.0 Application 9/30/2015 3:55:13 PM
ABC 10016 Error Microsoft-Windows-DistributedCOM System 9/30/2015 3:40:06 PM
ABC 10016 Error Microsoft-Windows-DistributedCOM System 9/30/2015 3:40:03 PM
ABC 1309 Warning ASP.NET 4.0.30319.0 Application 9/30/2015 3:23:54 PM
ABC 2 Error TeamCentral Application 9/30/2015 3:23:54 PM
ABC 2 Error TeamCentral Application 9/30/2015 3:22:48 PM
ABC 1309 Warning ASP.NET 4.0.30319.0 Application 9/30/2015 3:22:48 PM
ABC 2 Error TeamCentral Application 9/30/2015 3:21:43 PM
ABC 1309 Warning ASP.NET 4.0.30319.0 Application 9/30/2015 3:21:43 PM
ABC 2 Error TeamCentral Application 9/30/2015 3:18:24 PM
ABC 1309 Warning ASP.NET 4.0.30319.0 Application 9/30/2015 3:18:24 PM
ABC 2 Error TeamCentral Application 9/30/2015 3:16:49 PM
ABC 1309 Warning ASP.NET 4.0.30319.0 Application 9/30/2015 3:16:49 PM
ABC 1309 Warning ASP.NET 4.0.30319.0 Application 9/30/2015 3:15:43 PM
ABC 2 Error TeamCentral Application 9/30/2015 3:15:43 PM
ABC 1010 Error Microsoft-Windows-Perflib Application 9/30/2015 10:42:00 AM
E no evento estou recebendo esse tipo de mensagem:
Event code: 3005
Event message: An unhandled exception has occurred.
Event time: 9/30/2015 4:20:41 PM
Event time (UTC): 9/30/2015 1:20:41 PM
Event ID: 72c24cb89beb4d7f80bec250aaa686e3
Event sequence: 757
Event occurrence: 17
Event detail code: 0
Application information:
Application domain: /XX/XXXX/1/ROOT/TeamCentral-2-130850431401577570
Trust level: Full
Application Virtual Path: /TeamCentral
Application Path: C:\XXXX\wwwroot\TeamCentral\
Machine name: ABC
Process information:
Process ID: 2180
Process name: w3wp.exe
Account name: NT AUTHORITY\NETWORK SERVICE
Exception information:
Exception type: HttpException
Exception message: The remote host closed the connection. The error code is 0x800704CD.
at System.Web.Hosting.IIS7WorkerRequest.RaiseCommunicationError(Int32 result, Boolean throwOnDisconnect)
at System.Web.Hosting.IIS7WorkerRequest.ExplicitFlush()
at System.Web.HttpResponse.Flush(Boolean finalFlush, Boolean async)
at System.Web.HttpWriter.WriteFromStream(Byte[] data, Int32 offset, Int32 size)
at DevExpress.Web.ASPxClasses.Internal.HttpUtils.WriteFileToResponse(Page page, MemoryStream stream, String fileName, Boolean saveAsFile, String fileFormat, String contentType)
at DevExpress.Web.ASPxClasses.Internal.HttpUtils.WriteFileToResponse(Page page, MemoryStream stream, String fileName, Boolean saveAsFile, String fileFormat)
at DevExpress.Web.ASPxGridView.Export.ASPxGridViewExporter.WriteToResponse(String fileName, Boolean saveAsFile, String fileFormat, ExportToStream getStream, ExportOptionsBase options)
at DevExpress.Web.ASPxGridView.Export.ASPxGridViewExporter.WriteXlsxToResponse(String fileName, Boolean saveAsFile)
at DevExpress.Web.ASPxGridView.Export.ASPxGridViewExporter.WriteXlsxToResponse(String fileName)
at InfoArch.Web.Grid.ExportHelper.Response(ExportFileType fileType, Grid structure)
at InfoArch.Web.Grid.GridManager.SaveToXlsx(String filename)
at System.Web.UI.WebControls.ImageButton.OnClick(ImageClickEventArgs e)
at System.Web.UI.WebControls.ImageButton.RaisePostBackEvent(String eventArgument)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Request information:
Request URL: http://ABC/TeamCentral/Reporting/GridView.aspx?layoutid=38&mf=report&where=&description=PZF6Q0PKJzWQDHkN08mydZNuJ3fZ(:#cd6TgCAL0hv4u4=&screenheight=618
Request path: /TeamCentral/Reporting/GridView.aspx
User host address:XXX.XXX.XX.XXX
User: rafeek
Is authenticated: True
Authentication Type:
Thread account name: NT AUTHORITY\NETWORK SERVICE
Thread information:
Thread ID: 190
Thread account name: NT AUTHORITY\NETWORK SERVICE
Is impersonating: False
Stack trace: at System.Web.Hosting.IIS7WorkerRequest.RaiseCommunicationError(Int32 result, Boolean throwOnDisconnect)
at System.Web.Hosting.IIS7WorkerRequest.ExplicitFlush()
at System.Web.HttpResponse.Flush(Boolean finalFlush, Boolean async)
at System.Web.HttpWriter.WriteFromStream(Byte[] data, Int32 offset, Int32 size)
at DevExpress.Web.ASPxClasses.Internal.HttpUtils.WriteFileToResponse(Page page, MemoryStream stream, String fileName, Boolean saveAsFile, String fileFormat, String contentType)
at DevExpress.Web.ASPxClasses.Internal.HttpUtils.WriteFileToResponse(Page page, MemoryStream stream, String fileName, Boolean saveAsFile, String fileFormat)
at DevExpress.Web.ASPxGridView.Export.ASPxGridViewExporter.WriteToResponse(String fileName, Boolean saveAsFile, String fileFormat, ExportToStream getStream, ExportOptionsBase options)
at DevExpress.Web.ASPxGridView.Export.ASPxGridViewExporter.WriteXlsxToResponse(String fileName, Boolean saveAsFile)
at DevExpress.Web.ASPxGridView.Export.ASPxGridViewExporter.WriteXlsxToResponse(String fileName)
at InfoArch.Web.Grid.ExportHelper.Response(ExportFileType fileType, Grid structure)
at InfoArch.Web.Grid.GridManager.SaveToXlsx(String filename)
at System.Web.UI.WebControls.ImageButton.OnClick(ImageClickEventArgs e)
at System.Web.UI.WebControls.ImageButton.RaisePostBackEvent(String eventArgument)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Custom event details:
Eu passei pelo Stackexchange antes de fazer a pergunta, descobri que o domínio do aplicativo ref está marcado para descarregar devido à pressão da memória, mas algum ponto de vista, incapaz de entender a mensagem do log de eventos.
Saída de select @@version
;
Microsoft SQL Server 2012 (SP1) - 11.0.3000.0 (X64) 19 de outubro de 2012 13:38:57 Copyright (c) Microsoft Corporation Enterprise Edition (64 bits) no Windows NT 6.2 (Build 9200: ) (Hypervisor)
e saída de exec sp_configure
;
Name minimum maximum config_value run_value
max server memory (MB) 128 2147483647 2147483647 2147483647
Qualquer sugestão será apreciada.
Sem descartar nada declarado na resposta de @Shanky, deve-se observar que o AppDomain específico que está sendo descarregado está no banco de
[mssqlsystemresource]
dados. Este é um banco de dados interno que armazena a funcionalidade interna do SQL Server. Outras funcionalidades integradas residem no banco de[master]
dados. Mesmo com a opção de configuração de nível de servidor "CLR ativado" desativada, você ainda poderá ver um ou ambos AppDomains sendo carregados se usar qualquer um dos seguintes (e pode haver outros usos internos de CLR que não estão neste Lista):Execute o seguinte:
Se nenhuma linha for retornada, execute o seguinte:
E agora você deve ver uma entrada para "master.sys[runtime].xx" (onde
xx
é algum número), mas ainda não há assemblies carregados. Agora execute:E agora você também deve ver um assembly carregado. Deve ser assembly_id 1 e essa é a mesma entrada em todos os bancos de dados:
Microsoft.SqlServer.Types
. Esse assembly aparece em todos os bancos de dados se você executarSELECT * FROM sys.assemblies;
, mas ele realmente só existe[master]
.Para começar, você tem o SQL Server 2012 corrigido para o SP1. Peço a você, o mais rápido possível, que corrija o SQL Server com o SQL Server 2012 SP2
Houve algumas correções importantes relacionadas à memória no SQL Server 2012 Sp2. Leia um dos artigos da base de conhecimento que documentam a correção do erro OOM . Se você olhar de perto, a correção também é para
Não estou dizendo com certeza que você pode estar atingindo o bug mencionado, pois requer uma análise mais aprofundada.
Você confirmou que em dois dias só viu esta mensagem duas vezes , o que me faz acreditar que não há muito com o que se preocupar. Às vezes, essas mensagens são benignas quando o CLR é carregado e descarregado . O problema surge quando esta mensagem é frequente . Isso exigiria mais análise.
As mensagens de domínio do aplicativo costumavam ser um problema real no sistema de 32 bits devido à limitação do VAS. No sistema de 64 bits, a mensagem descarregada do domínio do aplicativo ocorre principalmente devido a um .NET Framework corrompido ou quando você definiu incorretamente o valor máximo da memória do servidor . Mas depois foi verdade até o SQL Server 2008 r2. A partir de 2012, uma vez que a memória para CLR é alocada da memória máxima do servidor que você definiu, isso não deve ser um grande problema. Portanto, sugiro que você também verifique as mensagens relacionadas ao .NET Framework. Não tenho muita experiência em prosseguir com a solução de problemas do .NET.
Você usa objetos SQLCLR?. Consulte Várias mensagens de erro registradas ao usar SQLCLR . Há um blog de Bob Dorr sobre como proceder quando você vê muitas dessas mensagens no log de erros do SQL Server.
Com
Tenho um palpite de que isso está em algum lugar relacionado ao .NET Framework.