无法远程连接到 SQL 服务器

问题描述

我是 stackoverflow 的新手,但也许我也可以问一个问题。我也希望我能帮助其他人找到解决他们问题的方法

那么,我们开始吧。我将数据库从旧的 sql 服务器移到了新的服务器上。在尝试配置应用程序以使用该数据库的新位置时,会显示如下错误消息:

无法连接到 \MSsqlSERVER。

sql Server 建立连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 sql Server 是否配置为允许远程连接。 (提供程序:sql 网络接口,错误:25 - 连接字符串无效)(Microsoft sql Server,错误:87)

参数不正确

所以我开始分析来解决这个问题。我检查了这些东西:

  • DNS 解析 -> 检查
  • ping 新的 sql Server -> 检查
  • 防火墙已禁用 -> 检查
  • 启用 sql Server 上的远程连接 -> 检查

仍然收到此错误消息。我在应用服务器上配置了 SSMS 并以 sql 服务器服务用户的身份运行它,但没有成功。

  • sql Server 浏览器正在运行
  • 使用认端口 1433 启用 TCP/IP

我不确定 sql 服务器实例名称。恕我直言,它显示在服务名称中,认实例名称是 MSsqlSERVER。错误消息提到连接字符串无效。

所以,在这一点上,我没有任何进一步的想法。

您好, 克里斯

[编辑] 我不使用任何特定的连接字符串,因为我使用 SSMS 进行连接。

enter image description here

[编辑2] 我能够使用主机名(不是本地主机)在本地连接。

以下所有测试均不使用实例名称

Test                          Result
-----------------------------------------------------
Locally,hostname,AD Auth    Success
Remote,AD Auth     The target principal name is incorrect. Cannot generate sspI context
Remote,FQDN,sql Auth        Connection string is not valid

解决方法

第 1 步:登录身份验证 Windows 或 SQL Server 检查您的登录身份验证是 Windows 还是 SQL Server。

第 2 步:使用 (.)(点)代替完整的服务器名称 如果您使用的是本地 MS sql 数据库,那么您可以使用 (.) (点) 代替完整的服务器名称。

第 3 步:输入正确的主机名 输入正确的主机名:(hostname\SQLEXPRESS) my_hostname\SQLEXPRESS(在 SQL Server Express 的情况下)或 (my_hostname\mssqlserver)。

第 4 步:尝试 localhost 斜线 () 然后是主机名 您也可以尝试使用 localhost 斜杠 () 然后是主机名,这里的示例为 (localhost\SQLEXPRESS) 或 (localhost\mssqlserver)。