我正尝试使用它的名称连接到远程MS SQL Server 2008 SP3 x86实例。
乍一看,似乎一切正常(例如可以在本地连接到服务器,并成功远程连接到远程端口),但有一件事我不明白…
这一行应该将我们连接到远程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,这是(我猜)是默认的。
请你花一些时间来解释这个问题。
/ selffix /
了解这个问题的关键是阅读“ SQL Server Browser ”服务。
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这个有用的信息。
…并确保您的服务器实例设置为自动启动并在services.msc下启动