asp.net – SQL Server预登录握手确认错误
|
参见英文答案 >
Connection to SQL Server Works Sometimes10个
我们遇到的问题是QA版本会有一些工作,然后突然死亡,直到我重新启动应用程序池和网站.这不是一个负载问题,因为只是我和另外两个人测试这个过程,我已经确认了QA数据库所在的服务器没有资源问题(16GB RAM,使用3.2GB,处理器利用率在2%范围).具体错误(如下所示)发生在所有页面的变体 – 经典ASP,inline .Net和编译的.Net页面.基于我所做的所有研究,我不断指出它是一个防火墙问题,但是我们甚至打开了两台服务器之间的所有端口,它仍然发生.最奇怪的部分是当我们在ASA(5515-X)上启用跟踪时,几乎没有任何流量,有时网站会在其他时间立即踢回该错误,而其他时间需要30秒.有关页面没有进行任何强烈的查找(一页死亡共抓取了大约60条记录).这是完整的错误/堆栈跟踪: [Win32Exception (0x80004005): The wait operation timed out] [SqlException (0x80131904): Connection Timeout Expired. The timeout period elapsed while attempting to consume the pre-login handshake acknowledgement. This could be because the pre-login handshake failed or the server was unable to respond back in time. The duration spent while attempting to connect to this server was - [Pre-Login] initialization=21008; handshake=12; ] System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception,Boolean breakConnection,Action`1 wrapCloseInAction) +6749670 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj,Boolean callerHasConnectionLock,Boolean asyncClose) +815 System.Data.SqlClient.TdsParserStateObject.ReadSniError(TdsParserStateObject stateObj,UInt32 error) +817 System.Data.SqlClient.TdsParserStateObject.ReadSniSyncOverAsync() +344 System.Data.SqlClient.TdsParserStateObject.TryReadNetworkPacket() +48 System.Data.SqlClient.TdsParser.ConsumePreLoginHandshake(Boolean encrypt,Boolean trustServerCert,Boolean integratedSecurity,Boolean& marsCapable) +126 System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo,SqlInternalConnectionTds connHandler,Boolean ignoreSniOpenTimeout,Int64 timerExpire,Boolean encrypt,Boolean withFailover) +693 System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo,String newPassword,SecureString newSecurePassword,TimeoutTimer timeout,Boolean withFailover) +219 System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo,Boolean redirectedUserInstance,SqlConnectionString connectionOptions,SqlCredential credential,TimeoutTimer timeout) +6777754 System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(TimeoutTimer timeout,Boolean redirectedUserInstance) +6778255 System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity,Object providerInfo,SqlConnectionString userConnectionOptions,SessionData reconnectSessionData) +878 System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options,DbConnectionPoolKey poolKey,Object poolGroupProviderInfo,DbConnectionPool pool,DbConnection owningConnection,DbConnectionOptions userOptions) +1162 System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool,DbConnection owningObject,DbConnectionOptions options,DbConnectionOptions userOptions) +72 System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject,DbConnectionOptions userOptions,DbConnectionInternal oldConnection) +6781425 System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject,DbConnectionInternal oldConnection) +103 System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject,UInt32 waitForMultipleObjectsTimeout,Boolean allowCreate,Boolean onlyOneCheckConnection,DbConnectionInternal& connection) +2105 System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject,TaskCompletionSource`1 retry,DbConnectionInternal& connection) +116 System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection,DbConnectionInternal oldConnection,DbConnectionInternal& connection) +1089 System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection,DbConnectionFactory connectionFactory,DbConnectionOptions userOptions) +6785863 System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry) +233 System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry) +278 System.Data.SqlClient.SqlConnection.Open() +239 System.Web.UI.Control.LoadRecursive() +71 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint) +3178 我会显示一个代码块,但是由于所有的页面都开始死亡,一旦这样做不会做太多的事情.这一切在生产中都很好,所以唯一的区别是VM在不同的物理主机上,但鉴于这是所有新的硬件,没有理由这应该有问题. 我在这里也遇到过多个使用exec sp_updatestats和dbcc freeproccache的东西,但是这两个都不会有所改变. 我完全失去了任何建议? 解决方法几个月前,我遇到了一个类似这个问题的问题.对于我来说,在SQL Server配置管理器中为IPV4和IPV6启用TCP / IP解决了这个问题.即使没有安装IPV6,我也看到这种情况.奇怪的是,即使我只指定IPV4地址,甚至还经历过这种行为? (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 我应该买Obout控件吗?
- asp.net – 我们可以用IIS运行Selenium WebDriver测试用例,
- asp.net – 如何使我的硒测试不那么脆弱?
- asp.net-mvc-3 – 从单控制器操作返回多个部分视图?
- asp.net-mvc-3 – 用于在ASP.NET MVC3中使用Grid.MVC编辑记
- ASP.NET Active Directory成员资格提供程序和SQL配置文件提
- asp.net – 错误:“填充:SelectCommand.Connection属性尚
- asp.net – 如何在.net中读取Elastic Beanstalk环境属性?
- asp.net-mvc – ASP.NET MVC – 脚本组合
- asp.net MVC – ValidationSummary不显示
- asp.net-mvc – 如何从运行时的强类型列表框架视
- asp.net-mvc – 带MVC结果的Response.Flush无效
- ASP.NET清空缓存时遇到的问题简析
- asp.net – 简单LINQ和列表错误:WhereListItera
- asp.net-web-api – OData V4 WebAPI按Enum的Int
- asp.net – 是否有可能过滤SignalR中的接收器?
- asp.net-mvc – 在ASP.NET MVC中使用DotNetOpenI
- asp.net – ERR_CONNECTION_RESET:上传大文件时
- asp.net-mvc – 如何创建从httpget获取相同参数的
- asp.net-mvc – ASP.NET MVC – 从URL中删除控制
