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

Konfiguracja portu TCP/IP

Termin Definicja
Konfiguracja portu TCP/IP

Konfiguracja portu TCP/IP to ustawienie numeru portu, na którym instancja SQL Server nasłuchuje połączeń.

Rola portu TCP w komunikacji z SQL Server

Konfiguracja portu TCP/IP w SQL Server określa, na którym numerze portu instancja silnika bazy danych przyjmuje połączenia sieciowe. Klient, taki jak SQL Server Management Studio, aplikacja korzystająca z dostawcy Microsoft albo narzędzie administracyjne, musi znać adres serwera oraz port, aby nawiązać sesję z właściwą instancją. Samo uruchomienie usługi SQL Server nie oznacza jeszcze, że połączenia z innych komputerów będą możliwe. Protokół TCP/IP musi być włączony dla danej instancji, a ruch do wybranego portu powinien być dozwolony przez zaporę sieciową.

W przypadku domyślnej instancji SQL Server typowo stosowany jest port TCP 1433. Jest to standardowa wartość konfiguracyjna, a nie gwarantowany numer obowiązujący w każdym środowisku. Administrator może przypisać instancji inny port, na przykład w celu ujednolicenia zasad sieciowych albo ograniczenia zależności od automatycznego wykrywania instancji. Zmiana numeru portu wymaga późniejszego używania nowego portu w konfiguracji zapory oraz w parametrach połączeń klientów.

Ustawienia instancji domyślnej i nazwanej

SQL Server rozróżnia instancję domyślną oraz instancje nazwane. Dla instancji domyślnej klient może łączyć się z nazwą hosta i portem, na przykład serwer-baz:1433. W przypadku instancji nazwanej adres ma zwykle postać serwer-baz\KSIĘGOWOŚĆ, lecz samo wskazanie nazwy instancji nie jest numerem portu. SQL Server Browser może wtedy odpowiedzieć klientowi na zapytanie wysłane przez UDP 1434 i przekazać mu aktualny port przypisany do wskazanej instancji.

Instancje nazwane często korzystają z portów dynamicznych. Przy takim ustawieniu SQL Server może otrzymać dostępny numer portu podczas uruchamiania usługi, dlatego numer nie powinien być traktowany jako stały bez sprawdzenia konfiguracji. Administrator może również ustawić port statyczny dla konkretnej instancji nazwanej. Takie rozwiązanie upraszcza reguły zapory i konfigurację aplikacji, ponieważ po restarcie usługi instancja nadal nasłuchuje na tym samym numerze. Jeżeli klient korzysta bezpośrednio z formatu serwer-baz,port, usługa SQL Server Browser nie jest potrzebna do odnalezienia portu, ale sam port musi być osiągalny sieciowo.

Konfiguracja TCP/IP w SQL Server Configuration Manager

Port ustawia się w SQL Server Configuration Manager, w sekcji protokołów przypisanych do konkretnej instancji. Po wybraniu protokołu TCP/IP należy sprawdzić jego właściwość Enabled. W zakładce IP Addresses znajdują się ustawienia dla poszczególnych adresów IP oraz sekcja IPAll. Pole TCP Dynamic Ports służy do portów dynamicznych, natomiast TCP Port wskazuje port statyczny. Aby wymusić stały numer, należy usunąć wartość z pola portów dynamicznych i wpisać wybrany numer w polu TCP Port odpowiednim dla używanego adresu lub w sekcji IPAll, zależnie od przyjętej konfiguracji.

Zmiana ustawień protokołu TCP/IP nie zawsze działa natychmiast. Po zapisaniu konfiguracji trzeba ponownie uruchomić usługę właściwej instancji SQL Server, ponieważ proces silnika odczytuje parametry nasłuchiwania podczas startu. Jeśli używane są instancje nazwane i mechanizm automatycznego informowania klientów o porcie, należy także zweryfikować działanie SQL Server Browser. W dzienniku błędów SQL Server można sprawdzić komunikat informujący o adresach IP i numerach portów, na których silnik rozpoczął nasłuchiwanie. Jest to praktyczniejsze niż zakładanie, że port odpowiada wartości domyślnej.

Sprawdzenie połączenia i reguł zapory

Po zmianie portu należy przetestować połączenie z komputera klienckiego, używając jednoznacznego adresu zawierającego numer portu, na przykład tcp:serwer-baz,51433. Prefiks tcp: wskazuje klientowi użycie protokołu TCP, a przecinek oddziela nazwę hosta od numeru portu. Test powinien obejmować zarówno lokalne uruchomienie usługi, jak i połączenie z innego hosta w tej samej sieci. Jeżeli lokalny test działa, lecz połączenie zdalne nie, przyczyną może być zapora systemu Windows, zapora sieciowa, filtr ACL albo nasłuchiwanie wyłącznie na nieosiągalnym adresie IP.

Reguła zapory powinna zezwalać na przychodzący ruch TCP do faktycznego portu instancji SQL Server. Ze względów administracyjnych lepiej otworzyć konkretny port i ograniczyć źródłowe adresy do wymaganych segmentów sieci niż udostępniać szeroki zakres portów. Dla SQL Server Browser potrzebny jest osobny ruch UDP na porcie 1434, ale tylko wtedy, gdy środowisko korzysta z Browsera do rozpoznawania nazwanych instancji. Błąd połączenia może wynikać także z użycia niewłaściwej instancji, wyłączonego TCP/IP, niezgodnego portu w parametrach klienta lub braku ponownego uruchomienia usługi po zmianie konfiguracji. Przy diagnozie należy więc porównać ustawienia instancji, wpis w dzienniku SQL Server, reguły zapory i rzeczywisty adres używany przez klienta.

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