几天来我一直在尝试安装 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 地址连接到您的服务器。