none
数据库经常性登录失败! RRS feed

  • 问题

  • 以下为数据库错误日志:
    09/15/2009 12:21:21,,错误,[382] 无法登录到服务器“(local)”(ConnUpdateStartExecutionDate)
    09/15/2009 12:21:21,,错误,[165] ODBC 错误: 0,由于打开服务器连接过程中的延迟,无法完成登录过程 [SQLSTATE 08001]
    09/15/2009 10:25:58,,错误,[382] 无法登录到服务器“(local)”(ConnUpdateStartExecutionDate)
    09/15/2009 10:25:58,,错误,[382] 无法登录到服务器“(local)”(ConnUpdateStartExecutionDate)
    09/15/2009 10:25:58,,错误,[298] SQLServer 错误:  258,由于预登录响应中的延迟,无法完成登录过程 [SQLSTATE 08001]
    09/15/2009 10:25:58,,错误,[298] SQLServer 错误:  258,用于登录响应中的延迟,无法完成登录过程 [SQLSTATE 08001]
    09/15/2009 10:25:58,,错误,[165] ODBC 错误: 0,登录超时已过期 [SQLSTATE HYT00]
    09/15/2009 10:25:58,,错误,[165] ODBC 错误: 0,登录超时已过期 [SQLSTATE HYT00]
    09/15/2009 10:25:58,,错误,[298] SQLServer 错误:  258,共享内存提供程序: 超时错误 [258]. [SQLSTATE 08001]
    09/15/2009 10:25:58,,错误,[298] SQLServer 错误:  258,共享内存提供程序: 超时错误 [258]. [SQLSTATE 08001]
    09/13/2009 12:49:55,,错误,[382] 无法登录到服务器“JDUSERDB15”(ConnAttemptCachableOp)
    09/13/2009 12:49:39,,错误,[298] SQLServer 错误:  258,用于登录响应中的延迟,无法完成登录过程 [SQLSTATE 08001]
    09/13/2009 12:49:39,,错误,[165] ODBC 错误: 0,登录超时已过期 [SQLSTATE HYT00]
    09/13/2009 12:49:36,,错误,[298] SQLServer 错误:  258,共享内存提供程序: 超时错误 [258]. [SQLSTATE 08001]
    09/08/2009 22:26:39,,错误,[382] 无法登录到服务器“(local)”(ConnUpdateJobActivity_NextScheduledRunDate)
    09/08/2009 22:26:12,,错误,[165] ODBC 错误: 0,由于打开服务器连接过程中的延迟,无法完成登录过程 [SQLSTATE 08001]
    09/08/2009 22:25:15,,错误,[382] 无法登录到服务器“(local)”(ConnUpdateJobActivity_NextScheduledRunDate)
    09/08/2009 22:25:15,,错误,[298] SQLServer 错误:  258,用于登录响应中的延迟,无法完成登录过程 [SQLSTATE 08001]
    09/08/2009 22:25:15,,错误,[165] ODBC 错误: 0,登录超时已过期 [SQLSTATE HYT00]
    09/08/2009 22:25:15,,错误,[298] SQLServer 错误:  258,共享内存提供程序: 超时错误 [258]. [SQLSTATE 08001]
    09/08/2009 22:24:37,,错误,[382] 无法登录到服务器“(local)”(ConnUpdateJobActivity_NextScheduledRunDate)
    09/08/2009 22:24:37,,错误,[298] SQLServer 错误:  258,用于登录响应中的延迟,无法完成登录过程 [SQLSTATE 08001]
    09/08/2009 22:24:37,,错误,[165] ODBC 错误: 0,登录超时已过期 [SQLSTATE HYT00]
    09/08/2009 22:24:37,,错误,[298] SQLServer 错误:  258,共享内存提供程序: 超时错误 [258]. [SQLSTATE 08001]
    09/08/2009 22:22:31,,错误,[382] 无法登录到服务器“JDUSERDB15”(ConnAttemptCachableOp)
    09/08/2009 22:22:29,,错误,[298] SQLServer 错误:  258,用于登录响应中的延迟,无法完成登录过程 [SQLSTATE 08001]
    09/08/2009 22:22:29,,错误,[165] ODBC 错误: 0,登录超时已过期 [SQLSTATE HYT00]
    09/08/2009 22:22:29,,错误,[298] SQLServer 错误:  258,共享内存提供程序: 超时错误 [258]. [SQLSTATE 08001]
    09/08/2009 22:19:02,,错误,[382] 无法登录到服务器“(local)”(ConnUpdateJobActivity_NextScheduledRunDate)
    09/08/2009 22:19:02,,错误,[298] SQLServer 错误:  258,用于登录响应中的延迟,无法完成登录过程 [SQLSTATE 08001]
    09/08/2009 22:19:01,,错误,[165] ODBC 错误: 0,登录超时已过期 [SQLSTATE HYT00]
    09/08/2009 22:19:01,,错误,[298] SQLServer 错误:  258,共享内存提供程序: 超时错误 [258]. [SQLSTATE 08001]
    09/08/2009 20:21:33,,错误,[298] SQLServer 错误:  258,用于登录响应中的延迟,无法完成登录过程 [SQLSTATE 08001]
    09/08/2009 20:21:33,,错误,[165] ODBC 错误: 0,登录超时已过期 [SQLSTATE HYT00]
    09/08/2009 20:21:28,,错误,[298] SQLServer 错误:  258,共享内存提供程序: 超时错误 [258]. [SQLSTATE 08001]
    08/31/2009 08:16:56,,错误,[382] 无法登录到服务器“(local)”(ConnUpdateStartExecutionDate)
    2009年9月16日 1:00

答案

  • 这样的服务器, 一般应该在 <600 个连接会比较稳定
    用 profile trace 一下, 把性能不太好的东西弄出来优化一下吧
    另外, 也用性能工具抓一下性能指标, 看看服务器有没有性能问题
    2009年9月16日 4:15
  • 是不是max worker thread够不够大?如果你的链接在300-800之间,建议设到1024左右。因为默认值4核64位系统是512,就会出这个问题。参考下面的文档: http://msdn.microsoft.com/en-us/library/ms187024.aspx

    另外有没有设定连接的超时参数?是不是设的太小了?

    超时参数:
    SetSQLConnectAttr (dbc, SQL_ATTR_LOGIN_TIMEOUT, (SQLPOINTER) 60, SQL_IS_INTEGER);
    SetSQLConnectAttr (dbc, SQL_ATTR_CONNECTION_TIMEOUT, (SQLPOINTER) 60, SQL_IS_INTEGER);

    2009年9月17日 8:52

全部回复

  • What's sql version and sp level?
    2009年9月16日 2:06
  • spl2005+sp2  服务器是 HP580G4 4个4核CPU 16G内存  一般连接数在 300-800 之间
    2009年9月16日 3:58
  • 这样的服务器, 一般应该在 <600 个连接会比较稳定
    用 profile trace 一下, 把性能不太好的东西弄出来优化一下吧
    另外, 也用性能工具抓一下性能指标, 看看服务器有没有性能问题
    2009年9月16日 4:15
  • 俺的服务器在Win2000+SQL 2000时代,就是双CPU+2G RAM,四五百用户,两千左右SESSION
    现在WIN 2003+SQL 2008,双CPU+8G RAM,五六百用户,两千五六百SESSION
    没有异常。。

    Try SQL Server 2008 QQ:315054403 dgdba@hotmail.com
    2009年9月16日 6:28
  • spl2005+sp2  服务器是 HP580G4 4个4核CPU 16G内存  一般连接数在 300-800 之间
    Depends on what those processes do.
    2009年9月16日 13:23
  • 是不是max worker thread够不够大?如果你的链接在300-800之间,建议设到1024左右。因为默认值4核64位系统是512,就会出这个问题。参考下面的文档: http://msdn.microsoft.com/en-us/library/ms187024.aspx

    另外有没有设定连接的超时参数?是不是设的太小了?

    超时参数:
    SetSQLConnectAttr (dbc, SQL_ATTR_LOGIN_TIMEOUT, (SQLPOINTER) 60, SQL_IS_INTEGER);
    SetSQLConnectAttr (dbc, SQL_ATTR_CONNECTION_TIMEOUT, (SQLPOINTER) 60, SQL_IS_INTEGER);

    2009年9月17日 8:52