无法通过名称连接到远程 MS SQL Server 2008 Express SP3 实例

无法通过名称连接到远程 MS SQL Server 2008 Express SP3 实例

我正在尝试使用它的名称连接到远程 MS SQL Server 2008 SP3 x86 实例。

乍一看,一切似乎都运行良好(例如,可以本地连接到服务器并成功远程 telnet 其端口),但有一件事我无法理解......

这条线应该连接我们到默认远程 SQL Server 实例:

osql -S ServerIP -d MyDatabase /U sa -P MyPassword

并且它确实起作用了,但是下一个:

osql -S ServerIP\MyInstance -d MyDatabase /U sa -P MyPassword

最终出现以下错误:

[SQL Native Client]SQL Network Interfaces: Error Locating Server/Instance
Specified [xFFFFFFFF].
[SQL Native Client]Login timeout expired
[SQL Native Client]An error has occurred while establishing a connection to
the server. When connecting to SQL Server 2005, this failure may be caused by
the fact that under the default settings SQL Server does not allow remote
connections.

服务器上运行的唯一实例是 MyInstance,它(我猜)是默认实例。

您能否花点时间解释一下这个问题。

答案1

/自我修复/

理解这个问题的关键是阅读“SQL Server 浏览器“ 服务。
http://msdn.microsoft.com/en-us/library/ms181087

具体来说:

但是,如果 SQL Server Browser 服务未运行,则以下连接不起作用:

   • Connecting to a named instance without providing the port number or pipe.

只需启动服务打开 UDP 端口 1434在防火墙中以使事情正常工作。

顺便说一句,对于那些像我一样偶然发现检查 UDP 端口是否打开的人来说,这里是答案:PortQry 命令行端口扫描器。
http://www.microsoft.com/download/en/confirmation.aspx?id=17148
谢谢 https://serverfault.com/a/35225/117216了解这条有用的信息。

答案2

...同时确保您的服务器实例设置为自动启动并在 services.msc 下启动

相关内容