我在Windows 10的PC中安装了SQL Server 2014.我在SQL Server配置工具和Windows服务中都启用了SQL Server浏览器和代理服务。
我已重新启动服务器甚至计算机本身,但当我在Chrome中打开localhost:1433时,我只收到ERR_EMPTY_RESPONSE错误。
为什么呢?通过访问浏览器上的ip:端口组合,无法检查是否已启动并正在运行???我也尝试使用mssql从Node应用程序连接到它,但我不能。
答案 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 $_" }