我有一台不允许在我们的域中使用的测试机器,因为我们正在测试公司不受支持的应用程序(SQL 2008 和 Server 2008)。我想使用 Management Studio 连接到 SQL2008 服务器,但无法正常工作。我已将身份验证设置为混合模式,我已检查“允许远程连接到此服务器”,但是当我尝试访问它时,我收到了错误
建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供程序:命名管道提供程序,错误:40 - 无法打开与 SQL Server 的连接)(Microsoft SQL Server,错误:53)
由于它说提供者是命名管道,我在服务器上启用了命名管道,但仍然没有骰子。我尝试连接到系统名称、IP、系统名称\实例和IP\实例,均无济于事。我想做的事是不可能的吗?
编辑:
好吧,通过一些基本的故障排除,我发现我无法从客户端计算机 ping 服务器,但我可以从服务器 ping 客户端计算机?它们都插入同一个开关,并坐在一起。服务器上的windows防火墙已打开,我需要启用一些特定的设置吗?
啊!所以是防火墙阻止了我。如何启用防火墙并仍然连接?
为了跨域连接到命名实例,我总是必须为实例创建别名并让远程客户端使用别名进行连接。您需要确保 SQL 浏览器服务正在托管 SQL Server 的服务器上运行,这样才能正常工作。
如果您要连接到默认实例,则通过 IP 而不是主机名连接应该可以正常工作。
编辑:
对于您的防火墙,默认情况下,对于 SQL,您需要允许传入流量通过 TCP 端口 1433。如果 SQL 正在侦听不同于 1433 的端口,那么您将需要允许该端口上的流量。
我跑去
xp_readerrorlog
寻找服务器正在监听的端口。我从来没有设置它,所以我假设它正在监听 1433,但是,它正在监听 49192。我在防火墙中启用了该端口,现在可以连接。尝试使用 ODBC 设置 DSN 以测试各种连接类型。它有时会提供更多的诊断信息,并且很容易在连接类型(TCP/IP、管道等)之间切换
尝试启用 TCP/IP 连接。