无法连接到SQL Server Browser

时间:2016-01-02 18:38:35

标签: sql-server sql-server-2014

我在Windows 10的PC中安装了SQL Server 2014.我在SQL Server配置工具和Windows服务中都启用了SQL Server浏览器和代理服务。

我已重新启动服务器甚至计算机本身,但当我在Chrome中打开localhost:1433时,我只收到ERR_EMPTY_RESPONSE错误。

为什么呢?通过访问浏览器上的ip:端口组合,无法检查是否已启动并正在运行???我也尝试使用mssql从Node应用程序连接到它,但我不能。

2 个答案:

答案 0 :(得分:0)

SQL Server 2005中引入的SQL Server Browser服务作为Windows服务运行,它是SQL Server 2000的SQL Server解析协议(SSRP)的扩展。与SSRP一样,它在处理多个SQL Server时起着重要作用SQL Server实例安装在同一台机器上。 SQL Server Browser服务的基本目的是为传入的连接请求提供实例和端口信息。

答案 1 :(得分:0)

SQL Server Browser服务侦听UDP端口1434,而不是TCP 1433.下面是一个示例Powershell脚本,它发送UDP查询并显示返回的数据报。

# query SQL Server browser to test connectivity and get datagram
function QuerySqlBrowser($HostName)
{
    try
    {
        $udpClient = new-object Net.Sockets.UdpClient($HostName, 1434);
        $browserQueryMessage = new-object byte[] 2;
        $browserQueryMessage[0] = 2;
        $remoteEndPoint = new-object System.Net.IPEndPoint([System.Net.IPAddress]::Broadcast, 0);
        $bytesSent = $udpClient.Send($browserQueryMessage, 2);
        $udpClient.Client.ReceiveTimeout = 10000;
        $browserResponse = $udpClient.Receive([ref]$remoteEndPoint);
        $payloadLength = $browserResponse.Length - 3;
        $browserResponseString = [System.Text.ASCIIEncoding]::ASCII.GetString($browserResponse, 3, $payloadLength);
        Write-Host $browserResponseString;
    }
    catch [Exception]
    {
        Write-Host $_.Exception.Message;
    }

}

QuerySqlBrowser "YourServer";

另外,您可以使用TELNET验证与SQL Server实例正在侦听的端口的TCP连接(默认为1433)或使用此Powershell单行连接:

1433 | % { echo ((new-object Net.Sockets.TcpClient).Connect("YourServer",$_)) "server listening on TCP port $_" }
相关问题