Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa
Darmowa diagnoza laptopa
Dojazd do klienta bezpłatnie
Dojazd do klienta bezpłatnie
Laptopy zastępcze bezpłatnie
Laptopy zastępcze bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie

Rozpoznawanie instancji

Termin Definicja
Rozpoznawanie instancji

Rozpoznawanie instancji przez klienta odbywa się przez usługę SQL Server Browser dla wystąpień nazwanych.

Rola usługi SQL Server Browser w rozpoznawaniu instancji

Rozpoznawanie instancji w Microsoft SQL Server pozwala klientowi ustalić, z jakim wystąpieniem bazy danych ma nawiązać połączenie. Dotyczy to przede wszystkim instancji nazwanych, zapisywanych w postaci nazwa_serwera\nazwa_instancji. Sama nazwa instancji nie musi wskazywać numeru portu TCP, ponieważ SQL Server może uruchomić daną instancję na porcie dynamicznie przydzielonym przez system. W takiej konfiguracji klient potrzebuje dodatkowego mechanizmu, który przekaże mu aktualne parametry komunikacji.

Za tę funkcję odpowiada usługa SQL Server Browser działająca na komputerze, na którym zainstalowano SQL Server. Usługa nasłuchuje standardowo na porcie UDP 1434 i obsługuje zapytania klientów dotyczące dostępnych wystąpień. W odpowiedzi może zwrócić między innymi nazwę instancji, informację o tym, czy jest uruchomiona, używany protokół oraz numer portu TCP przypisany do komunikacji z daną instancją. Dzięki temu klient może przejść od nazwy logicznej do konkretnego punktu końcowego.

Przebieg zapytania dla nazwy serwer\instancja

Gdy aplikacja lub narzędzie administracyjne otrzymuje adres w formacie serwer\instancja, sterownik SQL Server próbuje odnaleźć usługę Browser na wskazanym hoście. Wysyła zapytanie przez UDP 1434, a następnie analizuje odpowiedź zawierającą dane o wskazanym wystąpieniu. Po ustaleniu portu klient tworzy właściwe połączenie z usługą SQL Server przez TCP. Port UDP 1434 służy więc do odnajdywania informacji, natomiast nie jest portem, na którym odbywa się standardowa sesja zapytań SQL.

Wynik zależy od konfiguracji protokołów w SQL Server Configuration Manager oraz od ustawień konkretnej instancji. Dla protokołu TCP/IP można skonfigurować stały port albo pozostawić port dynamiczny. Jeżeli instancja używa stałego portu, klient może połączyć się bezpośrednio, podając adres w formacie serwer,port. W takim przypadku usługa SQL Server Browser nie jest potrzebna do ustalenia numeru portu, chociaż może nadal działać dla innych instancji nazwanych. W przypadku połączeń przez nazwane potoki mechanizm wyboru protokołu i dostępność usługi zależą również od ustawień klienta oraz serwera.

Porty, zapora i typowe przyczyny nieudanego wykrywania

Brak odpowiedzi podczas rozpoznawania instancji nie musi oznaczać awarii samej bazy danych. Zapora sieciowa może blokować przychodzące pakiety UDP na porcie 1434, przez co klient nie otrzyma informacji od SQL Server Browser. Osobno trzeba dopuścić ruch TCP na porcie używanym przez daną instancję. Otwarcie wyłącznie portu TCP bez udostępnienia UDP 1434 nie zapewni działania adresu serwer\instancja, jeżeli klient nie zna numeru portu. Odwrotna sytuacja również nie wystarczy: odpowiedź Browser może być poprawna, ale właściwe połączenie zostanie odrzucone przez filtr TCP.

Podczas diagnostyki należy sprawdzić, czy usługa SQL Server Browser jest uruchomiona na właściwym komputerze, czy instancja znajduje się na tym samym hoście, jaki podano w adresie, oraz czy nazwa wystąpienia jest zapisana bez literówki. Warto potwierdzić konfigurację TCP/IP, odczytać aktywny port z ustawień SQL Server i przetestować połączenie bez mechanizmu wykrywania, używając formatu serwer,port. Jeżeli połączenie po numerze portu działa, a adres serwer\instancja nie działa, problem najczęściej znajduje się w usłudze Browser, ruchu UDP 1434, rozwiązywaniu nazwy hosta albo regułach zapory.

Weryfikacja konfiguracji instancji podczas serwisowania

W środowisku diagnostycznym warto rozdzielić trzy elementy: dostępność hosta, odpowiedź SQL Server Browser oraz dostęp do właściwego portu SQL Server. Najpierw można sprawdzić, czy serwer odpowiada w sieci i czy nazwa hosta rozwiązuje się do oczekiwanego adresu. Następnie należy zweryfikować stan usługi SQL Server Browser oraz konfigurację protokołów instancji. Ostatnim etapem jest test uwierzytelnienia i wykonanie prostego zapytania, ponieważ udane otwarcie portu nie potwierdza jeszcze poprawności logowania ani działania bazy.

+48 22 100 48 29Zadzwoń teraz · serwisant w 1 godzinę