无法打开与SQL Server的连接

时间:2010-08-31 18:23:13

标签: asp.net sql sql-server

我在连接数据库服务器时遇到问题。数据库服务器不是本地的,我通过其IP地址连接。

它在我的开发机器上工作正常。将网站发布到我的服务器后,它无法连接到我的数据库服务器。

  

建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供者:命名管道提供程序,错误:40 - 无法打开与SQL Server的连接)

为什么我的发布服务器无法连接到数据库服务器,而它可以通过开发机器正常工作?

6 个答案:

答案 0 :(得分:4)

我经常遇到这个问题。主要是因为两个问题。

  1. 打开SQL Server配置管理器。

    • 检查SQL Server网络配置是否支持TCP / IP,如果已禁用,则启用它。 例如SqlServer 2005网络配置,SQLEXPRESS的协议
  2. 打开SQL Server Management Studio

    • 单击Sql Server属性(右键单击服务器名称和 选择属性)。
    • 之后,选择“安全性”页面并将检查切换为“SQL Server和Windows身份验证模式”。
  3. 就是这样。

答案 1 :(得分:1)

我将尝试今天进行两次关于精神调试的两个......

我会假设您没有使用集成安全性?如果是这样,它可能会解释事情,因为本地计算机上的帐户可能具有权限,但服务器上运行的SYSTEM帐户不具有权限。只是在黑暗中拍摄。

答案 2 :(得分:1)

听起来您的服务器无法建立网络连接,而不是安全问题。

  • 确保数据库和应用服务器上的所有防火墙都允许端口上的流量(1433)。
  • 确保您能够从两台计算机上ping或tracert。

答案 3 :(得分:0)

您是否是第一次在网络服务器上发布网站?如果是,您确定已正确设置连接字符串吗?

您需要创建一个登录名(诅咒密码)和Web服务器上该SQL的IP地址。

所以你需要sql server host的IP地址,Database Name,UId,Pwd。

答案 4 :(得分:0)

我同意这听起来像网络问题,而不是安全问题。

远程登录Web服务器并通过IP地址ping数据库服务器。如果这不起作用,您的服务器将无法通过该地址(不同的子网,不正确的防火墙/代理设置等)查看数据库服务器。您可能需要使用代理地址从Web服务器访问数据库服务器,或者您的Web服务器也可能是网关,IIS不知道在LAN上查找数据库服务器。如果它确实有效,则计算机可能无法在同一端口上进行通信,或者防火墙可能阻止该端口退出Web服务器。

答案 5 :(得分:0)

我花了好几个小时尝试使用sqlcmd连接到SQL服务器。我禁用了防火墙,检查了“SQLEXPRESS协议”中列出的所有IP,编辑了我的主机文件。我尝试使用不同的ips和machinename连接到服务器。但是没有一项工作有效。经过几个小时的调查,我发现我犯了绝对的愚蠢错误让我无法连接。 我想提醒人们连接字符串不区分大小写。但选项是!! 我做的是我把

  

sqlcmd -s。\ sqlserver

但正确的字符串是

  

sqlcmd - S 。\ sqlserver   所以小心,人们