重启数据库服务器后数据库无法连接的解决方法
我们的Workflow Enging所用的数据库是安装在流程服务器上的。今天该服务器有问题,请系统管理员重启。重启后发现了以下问题:
经检查出问题的都出在和流程数据库交互的地方。
使用SQL Server的监视器没有发现死锁,使用SQL Server的管理器也可以正常连接。
最后发现IIS对该服务器的连接数太多造成的。当重启流程服务器时,IIS应用程序池一直在试图连接该数据库,因为连接不上所以都Hold在那儿了。将IIS的应用程序池重新回收一下后问题解决。
Server Error in '/' Application.
ExecuteReader requires an open and available Connection. The connection's current state is closed.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.InvalidOperationException: ExecuteReader requires an open and available Connection. The connection's current state is closed.
Source Error:
Line 1: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="PUR_Material_Query.aspx.cs" Inherits="GraceSemi.NET.Web.Pages.PUR.Common.PUR_Material_Query" %> Line 2: <%@ Register assembly="Anthem" namespace="Anthem" tagprefix="anthem" %> Line 3: <%@ Register src="../SpareParts/PUR_SparePartsMenu.ascx" tagname="PUR_SparePartsMenu" tagprefix="uc1" %> |
Source File: c:\inetpub\wwwroot\GraceSemi\Pages\PUR\Common\PUR_Material_Query.aspx Line: 1
Stack Trace:
[InvalidOperationException: ExecuteReader requires an open and available Connection. The connection's current state is closed.] System.Data.SqlClient.SqlConnection.GetOpenConnection(String method) +6317475 System.Data.SqlClient.SqlConnection.ValidateConnectionForExecute(String method, SqlCommand command) +13 System.Data.SqlClient.SqlCommand.ValidateCommand(String method, Boolean async) +271 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +138 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) +28 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) +256 System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) +19 System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader() +23 GraceSemi.NET.Data.Common.ConnectionHandler.ExecuteReader(Command cmd) +170 GraceSemi.NET.Data.Common.ConnectionContext.ExecuteReader(Command cmd) +82 GraceSemi.NET.Data.Common.ConnectionContext.List(Type type, Command cmd, Region region) +594 GraceSemi.NET.Data.Common.ConnectionContext.ListFirst(Type type, Command cmd) +90 GraceSemi.NET.Data.Common.ConnectionContext.ListFirst(Command cmd) +111 GraceSemi.NET.Data.Common.EntityBase.OnListFirst(IConnectinContext cc, String from, Expression expression, String orderby, String groupby) +586 GraceSemi.NET.Data.Common.EntityBase.ExOnListFirst(IConnectinContext cc, String from, Expression expression, String orderby, String groupby) +164 GraceSemi.NET.Data.Common.Expression.ListFirst(IConnectinContext cc, String orderby) +348 GraceSemi.NET.Data.Common.Expression.ListFirst(IConnectinContext cc) +131 GraceSemi.NET.Business.t_User.set_UserName(String value) +244 GraceSemi.NET.TaskPage.SSO(String UserName) +144 GraceSemi.NET.TaskPage.InitializeCulture() +3642 ASP.pages_pur_common_pur_material_query_aspx.__BuildControlTree(pages_pur_common_pur_material_query_aspx __ctrl) in c:\inetpub\wwwroot\GraceSemi\Pages\PUR\Common\PUR_Material_Query.aspx:1 ASP.pages_pur_common_pur_material_query_aspx.FrameworkInitialize() in c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\3a66716a\f24c2056\App_Web_0jitdpta.3.cs:0 System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +72 System.Web.UI.Page.ProcessRequest() +119 System.Web.UI.Page.ProcessRequest(HttpContext context) +167 ASP.pages_pur_common_pur_material_query_aspx.ProcessRequest(HttpContext context) in c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\3a66716a\f24c2056\App_Web_0jitdpta.3.cs:0 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +597 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +266 |