【问题标题】:SQL Connection ErrorSQL 连接错误
【发布时间】:2011-12-06 17:33:45
【问题描述】:

我在尝试访问我的网站时遇到此错误:

Exception information:

Exception type: SqlException

异常消息:建立一个错误 连接到服务器。连接到 SQL Server 2005 时,此 失败可能是由于在默认设置下SQL 服务器不允许远程连接。 (提供者:TCP 提供者, 错误:0 - 连接尝试失败,因为连接方做了 一段时间后没有正确响应,或建立连接 失败,因为连接的主机没有响应。

这个错误一天会出现6-7次。

谁能告诉我为什么会出现这个错误?是否可以在我的 SQL Server 端进行任何特殊设置以避免此崩溃或我的 Web 应用程序中的问题?

【问题讨论】:

  • 如果您发布连接字符串(当然没有密码/用户名)会很有帮助。
  • 如果您的连接通常可以正常工作,但有时却无法正常工作,我可以考虑网络问题(例如流量过大)或服务器上的高负载使其无法响应新的连接尝试.
  • 可能是您的网站正在循环访问数据库,这使数据库非常繁忙,以至于它在一段时间内不可用并引发此类错误。为此,您应该查看 db 的用法
  • @JLevett: 数据源=[SERVERADDRESS];初始目录=[DBNAME];user id=[USER];password=[PASSWORD];persist security info=True;Pooling=True;Max Pool大小=1000;连接寿命=30;
  • 有趣的是,我使用的是 SQL SERver 2008,但在错误消息中显示 2005。此外,我们在服务器上使用 SSIS 包进行一些更新,它们是通过 SQL SErver 代理安排的。他们能在这方面制造什么麻烦吗?

标签: .net sql sql-server-2005 sql-server-2008


【解决方案1】:

如果这个问题只是偶尔发生,很可能你的一个(或多个)命令会超时。

尝试增加命令的CommandTimeout 属性的值。

还可以尝试分析您的 Sql 服务器以进行长时间运行的查询。

【讨论】:

    【解决方案2】:

    以下是配置 SQL Server 2005 以允许远程连接的方法:http://support.microsoft.com/kb/914277

    【讨论】:

      【解决方案3】:

      这可能是由多种原因引起的:

      • 在 SQL Server 中禁用远程连接。
      • 防火墙设置
      • 错误的连接字符串

      Microsoft 的这篇知识库文章可能会有所帮助...http://support.microsoft.com/default.aspx?scid=kb;EN-US;914277

      编辑:请注意,如果您在具有本地数据库的系统上进行开发,则数据通常通过共享内存进行交换。在测试和生产环境中,您有一个单独的数据库服务器,必须通过 tcp 协议与您的应用程序连接。

      连接字符串:

      数据源=[SERVERADDRESS];初始目录=[DBNAME];用户 id=[USER];password=[PASSWORD];坚持安全 info=True;Pooling=True;Max Pool Size=1000;Connection Lifetime=30;

      您真的需要设置池大小和连接生命周期吗?我很少使用此设置。他们可能会造成麻烦。特别是

      连接寿命

      应该非常小心地使用。在此处阅读更多信息http://blogs.msdn.com/b/angelsb/archive/2004/09/20/231963.aspx

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-25
        • 2014-12-08
        相关资源
        最近更新 更多