SQL Server 命名管道错误

SQL Server 命名管道错误

几天来我一直在尝试安装 SQL Server Express。我尝试了 2008、2012 和现在的 2014,结果都一样。即使我关闭了 Windows 2012 Server 上的防火墙,也无法远程连接到数据库。我收到以下错误:

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

服务器设置为侦听端口 1433,并且启用了 TCP/IP 和命名管道,并显示“准备接受连接”。日志确实存在有关 SQL Server 网络接口库无法注册服务主体名称的问题,但根据我的研究,这不会阻止我远程登录。SQL Server 配置为允许远程连接。

Windows 防火墙已设置为允许端口 1433 上的连接,并且 SQL Server Browser 已解锁。我遵循了这篇 MSSQLTips.com 文章除了 SPN 创建错误外,所有检查都正常。我尝试手动创建 SPN,但找不到正确的参数。没有域,所以我尝试使用 WORKGROUP\Administrator 来运行setspn -L WORKGROUP\Administrator,但这会引发有关未找到该用户名的错误。

我的远程连接设置可能不对。我正尝试连接到安装 SQL Server Express 的服务器的 IP。不确定这到底是什么问题。

答案1

我收到了托管我们 VPS 的托管公司的回复,结果他们封锁了 1433 端口。他们给了我一个不同的端口供我使用,一切正常!感谢所有评论的人。

不确定为什么当我尝试时动态端口不起作用,但可能是因为 SQL Browser 无法通过 UDP 端口 1434 上的防火墙来完成其工作并告诉连接 SQL Server 正在监听哪个端口。

答案2

我在将 PC 连接到服务器上的 SQL 数据库时遇到了同样的问题。在尝试了所有与您相同的方法后,我找到了一个解决方案,它非常简单,我简直不敢相信它有效。

您需要在您的机器上执行以下操作:1.运行“cliconfg”并启用命名管道和 TCP/IP 协议 2.运行“obdcad32.exe”并向您的服务器添加默认命名管道连接(有时您必须在 odbcad 64 位中执行两次)

无需进一步更改服务器设置。

问候,vlku

答案3

这可能是由于缺少某些 dll 文件而发生的,您也可以在不使用实例名称的情况下连接到您的服务器,您必须重新配置您的服务器以使用静态 TCP 端口。

  • 打开 SQL Server 配置管理器;


  • 切换到 SQL Server 网络配置 | SQLEXPRESS协议;

  • 双击TCP/IP协议;

  • 在“启用”字段中选择“是”值;

  • 切换到 IP 地址选项卡;

  • 找到 IPAll 部分;

  • 清除该部分中的 TCP 动态端口字段;

  • 在 TCP 端口字段中指定 1433 值:

  • 重新启动服务器。

尝试仅使用其 IP 地址连接到您的服务器。

相关内容