2016-01-02 5 views
-1

У меня есть SQL Server 2014 на компьютере с Windows 10. Я включил службы браузера и сервера SQL Server как в средствах конфигурации SQL Server, так и в службах Windows.Не удается подключиться к SQL Server Browser

Я перезапустил сервер и даже сам компьютер, но когда я открываю localhost: 1433 в Chrome, я получаю ошибку ERR_EMPTY_RESPONSE.

Почему? Невозможно проверить, запущен ли и запущен ли доступ к комбинации ip: port в браузере ??? Я также пытаюсь подключиться к нему из приложения Node с помощью mssql, и я не могу.

ответ

0

Служба SQL Server Browser, представленная в SQL Server 2005, работает как служба Windows и является расширением протокола SQL Server SSRP SQL Server 2000. Подобно SSRP, он играет важную роль при работе с более чем один экземпляр SQL Server, установленный на том же компьютере. Основной целью службы браузера SQL Server является предоставление информации о экземплярах и портах для входящих запросов на соединение.

0

Служба браузера SQL Server прослушивает порт 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 для проверки соединения TCP на порт экземпляра SQL Server прослушивает (по умолчанию 1433) или с этим Powershell однострочника:

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