如何从另一台计算机连接到SQL Server?

35

我想使用 SQL Server 2005 从家里连接到另一台电脑。

我看了 msd ... 但在连接之前它说我应该使用计算机管理连接到另一台计算机,但是这并没有成功... 我只能连接到我的工作组中的计算机吗?

谢谢, Luisa


2
这个问题不太清楚 - 你能解释一下你具体想做什么吗? - Dani
5个回答

31

免责声明

这只是一些额外的信息,可能有助于任何人。我想要明确表达的是,我在这里描述的内容可能:

  • A. 不是100%正确的
  • B. 在网络安全方面不太安全。

虽然我不是DBA,但每次我设置用于测试或其他用途的SQL Server(Express或Full)时,都会遇到连接问题。我所描述的解决方案更多适用于那些只是想完成工作的人 - 在设置生产服务器时,请咨询熟悉此领域的专业人员。

对于SQL Server 2008 R2,我最终做的如下:

  1. 确保像此教程中描述的一样,将一切准备就绪,这也是由“Dani”发布的作为此问题的选定答案的相同教程。
  2. 检查并/或设置托管SQL Server计算机的防火墙设置。如果您使用的是Windows Server 2008 R2,则使用Server Manager,进入“配置”,然后查看“Windows Firewall with Advanced Security”。如果您使用的是Windows 7,则转到控制面板并搜索“防火墙”,然后单击“允许程序通过Windows防火墙”。
    • 为TCP 1433端口创建一个入站规则 - 允许连接
    • 为TCP 1433端口创建一个出站规则 - 允许连接
  3. 完成防火墙设置后,您还需要检查一件事。打开“SQL Server Configuration Manager”,找到:SQL Server Network Configuration - Protocols for SQLEXPRESS(或等效物)- TCP/IP
    • 双击TCP/IP
    • 单击IP地址选项卡
    • 在IP1下,如果尚未完成,请将TCP端口设置为1433
  4. 在IP全部设置中,如果尚未设置,请将TCP端口设置为1433
  5. 重新启动SQL Server和SQL Browser(两者都进行操作以确保安全)

通常情况下,我执行上述操作后就不再出现问题了。以下是最后一步的截图:

端口1433是SQL Server使用的默认端口,但由于某种原因,默认情况下不会显示在配置中。

如果对此主题有更多信息的人看到了任何问题,请纠正我。


2
在SQL Server配置管理器中,您不需要明确设置端口1433。但是,您需要将所有IP地址的“启用”属性设置为“是”。 - Ian Kemp

20

如果您想远程连接到 SQL Server,您需要使用软件,例如 Sql Server Management Studio。

计算机不必在同一网络上,但它们必须能够通过通信协议(如 tcp/ip)相互连接,并且服务器必须设置为支持您选择的连接类型的传入连接。

如果您想连接到另一台计算机(浏览文件?),则需要使用其他工具,而不是 sql server(您可以映射驱动器并通过那里访问它等等)。

要启用使用tcp/ip的SQL连接,请阅读此文章:

对于Sql Express:express 对于Sql 2008:2008

确保您还启用了机器防火墙的访问权限。

您可能需要在用于连接到服务器的计算机上安装 SSMS 或 Toad。两者都可以从其公司网站下载。


1
是的,我想远程连接...我可以使用运行->mstsc访问计算机。我在SQL配置管理器中将TCP/IP协议设置为启用,但是如何进行“服务器必须设置为支持您选择的传入连接类型”的操作呢? - Luisa
4
mstsc = 微软终端服务 - 这与SQL Server 没有任何关系...... - marc_s
2
你混淆了两个问题: 当你使用mstsc时,实际上你在远程机器上。你不需要tcp/ip,因为你可以在本地进行管理。 我将编辑答案并提供如何启用对SQL Server的远程访问的信息。 - Dani
2
还要检查SQL Server Browser服务是否正在运行。这也解决了我的问题。 - kzfabi
4
文章无用。 - Ali.Rashidi

3

以上所有答案都能帮助您,但您需要在安装SQL Server的PC的防火墙中添加三个端口。

  1. 在Windows防火墙中添加新的TCP本地端口,端口号为1434

  2. 添加SQL Server程序并选择sqlserver.exe 路径:C:\ProgramFiles\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn\sqlservr.exe

  3. 添加SQL Browser程序并选择sqlbrowser.exe 路径:C:\ProgramFiles\Microsoft SQL Server\90\Shared\sqlbrowser.exe


非常感谢,这最后三步终于让它工作了,干得好。 - LuciusAgarthy

2
我会根据提供的进一步信息编辑我的先前答案。你可以明显地ping远程计算机,因为你可以使用终端服务。
我有一种感觉,端口1433被防火墙阻止了,这就是你遇到问题的原因。请参见微软的TCP Ports Needed for Communication to SQL Server Through a Firewall
尝试使用this应用程序ping你的服务器IP地址和端口1433。
tcping your.server.ip.address 1433

并查看是否从tcping获得“端口已打开”的响应。

好的,下一步是检查SQL Server。远程桌面连接到SQL Server计算机。启动SSMS。连接到数据库。在对象资源管理器中(通常停靠在左侧),右键单击服务器,然后单击属性。

alt text http://www.hicrest.net/server_prop_menu.jpg

转到连接设置,确保“允许此服务器接受远程连接”被选中。

alt text http://www.hicrest.net/server_properties.jpg



网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接