我无法通过 IP 地址连接到我的服务器 SQL 数据库

Sha*_*n S 54 sql-server-2008 sql-server

我已经设置了一台运行 Windows Server 2008 的服务器,并安装了 SQL Server 2008 Express。

我可以通过以下方式连接到机器的 SQL Server Express 数据库 MACHINENAME/SQLEXPRESS.

但是,当我们使用IP 地址通过任何软件或脚本进行连接时连接时,它将不允许连接。

我试过了:

  • 关闭防火墙。
  • 允许 SQL 数据库的远程连接。
  • 在 SQL 配置中启用 TCP/IP。

当我们尝试通过软件“SQL Server Management Studio”进行连接时,我们收到以下消息:

错误信息:

与服务器建立连接时发生错误。连接到 SQL Server 2005 时,此失败可能是由于 SQL Server 在默认设置下不允许远程连接造成的。(提供者:TCP 提供者,错误:0 - 由于目标机器主动拒绝,无法建立连接。)(Microsoft SQL Server,错误:10061)

已成功与服务器建立连接,但随后在登录过程中出现错误。(提供程序:TCP 提供程序,错误:0 - 已建立的连接被主机中的软件中止。)(Microsoft SQL Server,错误:10053)

你能告诉我你什么时候有空吗,这样我们就可以看看,因为我似乎知道在哪里,我已经根据 UK Fast 发给我的一些信息修改了细节,但他们说“这不在支持范围内” ,所以他们无能为力。

我期待着您的回音。

lev*_*sta 103

您的 SQL Server 安装为命名实例,因此首先尝试使用以下服务器名称连接到您的服务器:IP Address\SQLEXPRESS.
当您将 SQL Server 安装为命名实例时,它默认使用动态 TCP/IP 端口,因此在不指定实例名称(仅 IP 地址)的情况下无法连接到它。如果您需要在不使用实例名称的情况下连接到您的服务器,您必须重新配置您的服务器以使用静态 TCP 端口。为此,请执行以下操作:

  1. 打开 SQL Server 配置管理器;
  2. 切换到 SQL Server Network Configuration | Protocols for SQLEXPRESS;
  3. 双击 TCP/IP协议;
  4. 选择中的YesEnabled字段中;
  5. 切换到 IP Addresses选项卡;
  6. 找出 IPAll部分;
  7. 清除 TCP Dynamic Ports部分字段;
  8. 1433TCP Port字段中指定值:
    在此处输入图片说明
  9. 重新启动您的服务器
    尝试仅使用其 IP 地址连接到您的服务器。

  • 感谢您提供这些信息,除了一件事之外,它工作得很好。在 sql management studio 中,我仍然需要提供连接到服务器的端口,例如 xxxx\instance,1433。我认为这有点奇怪,因为我使用的是标准端口。 (9认同)

小智 17

使用 SQL Server Express 2017,除了上述答案外,在尝试使用端口连接时,请确保使用逗号语法,而不是冒号语法,即:

 MyServerName,1433\InstanceName
Run Code Online (Sandbox Code Playgroud)

在与上述内容搏斗几个小时后,按照所有建议进行操作,但仍然无法连接,我改为使用上述方法,并且它立即通过 SQL Server Management Studio 远程连接。迈向成功的第一步。


小智 11

您应该启用,为我关注通过启用关注并重新启动所有服务解决的问题。

  • 共享内存
  • TCP/IP
  • 命名管道

SQL Server 配置命名管道