| Termin | Definicja |
|---|---|
| Ustawienia portu TCP | Ustawienia portu TCP określają numer, na którym instancja SQL Server nasłuchuje połączeń. Ustawienia portu TCP w środowisku SQL ServerUstawienia portu TCP określają sposób, w jaki instancja SQL Server udostępnia połączenia sieciowe. Port można rozumieć jako logiczny punkt wejścia przypisany do usługi działającej na konkretnym komputerze. Gdy aplikacja kliencka próbuje połączyć się z bazą danych, musi znać adres hosta oraz numer portu, na którym nasłuchuje właściwa instancja. Sam numer portu nie jest więc ustawieniem aplikacji użytkowej, lecz elementem konfiguracji komunikacji pomiędzy systemem bazodanowym a klientem. W praktyce konfiguracja obejmuje między innymi wybór protokołu TCP/IP, określenie portu dla adresów IP, sprawdzenie aktywności usługi SQL Server Browser oraz kontrolę reguł zapory systemowej. W przypadku instancji domyślnej często stosuje się port 1433, jednak nie powinno się przyjmować tej wartości bez sprawdzenia konkretnej konfiguracji. Instancje nazwane mogą korzystać z portów dynamicznych, a wtedy numer może zostać przydzielony automatycznie podczas uruchamiania usługi. Dla stabilnych połączeń z aplikacją wygodniejsze bywa przypisanie portu statycznego, ponieważ klient zawsze odwołuje się do tego samego punktu komunikacji. Ustawienia portu TCP nie zmieniają danych zapisanych w bazie ani sposobu wykonywania zapytań. Wpływają natomiast na dostępność instancji z innych komputerów. Jeżeli port jest zamknięty, zablokowany albo przypisany do innej usługi, aplikacja może zgłaszać błąd połączenia mimo prawidłowego działania samego silnika SQL Server. Z tego powodu analiza powinna obejmować zarówno konfigurację serwera, jak i drogę pakietów przez system operacyjny oraz urządzenia sieciowe. Ustawienia portu TCP a port dynamiczny i statycznyNajważniejsze porównanie dotyczy portu dynamicznego oraz statycznego. Przy porcie dynamicznym usługa może otrzymać inny numer po ponownym uruchomieniu lub po zmianie konfiguracji. Rozwiązanie to jest wygodne w środowiskach, w których wiele instancji działa na jednym komputerze, ponieważ zmniejsza ryzyko kolizji numerów. Jednocześnie klient musi mieć możliwość odnalezienia aktualnego portu, na przykład za pośrednictwem SQL Server Browser albo wpisu zawierającego pełny adres serwera i numer portu. Port statyczny pozostaje przypisany do danej instancji. Ułatwia tworzenie reguł zapory, dokumentowanie połączeń i konfigurowanie aplikacji, które nie korzystają z mechanizmu wyszukiwania instancji. Nie oznacza to jednak, że każdy problem zostanie rozwiązany samą zmianą numeru. Nadal trzeba sprawdzić, czy usługa rzeczywiście nasłuchuje na wskazanym adresie, czy protokół TCP/IP jest aktywny oraz czy ruch docierający do komputera nie jest odrzucany przez filtr sieciowy. Warto odróżnić numer portu od nazwy instancji. Nazwa pomaga wskazać konkretną usługę SQL Server, natomiast port identyfikuje kanał transportowy używany do komunikacji. Przy wielu instancjach na jednym komputerze każda z nich powinna mieć jednoznaczny sposób przyjmowania połączeń. W przeciwnym razie mogą pojawić się sytuacje, w których klient trafia do innej instancji niż zakładano albo nie potrafi odnaleźć właściwej usługi. Różnica występuje również między połączeniem lokalnym i zdalnym. Połączenie wykonywane na tym samym komputerze może działać przez inne protokoły lub ścieżki niż połączenie z osobnej stacji roboczej. Pomyślny test lokalny nie potwierdza zatem, że dostęp z sieci jest prawidłowo skonfigurowany. Przy diagnostyce należy porównać oba scenariusze i ustalić, na którym odcinku komunikacja przestaje działać. Ustawienia portu TCP i typowe problemy z połączeniemJednym z częstych problemów jest brak zgodności pomiędzy numerem wpisanym w aplikacji a numerem ustawionym w SQL Server Configuration Manager. Po zmianie portu w konfiguracji usługi może być wymagane jej ponowne uruchomienie. Bez tego nowa wartość nie zacznie obowiązywać, a test będzie nadal wykonywany wobec poprzedniego ustawienia. Przydatne jest zapisanie aktualnego numeru, adresu IP oraz informacji, czy port jest statyczny, czy dynamiczny. Drugą przyczyną bywa wyłączony protokół TCP/IP. Samo zainstalowanie SQL Server nie gwarantuje, że komunikacja sieciowa będzie aktywna. W ustawieniach protokołu można znaleźć osobne pola dla poszczególnych adresów IP oraz sekcję określającą port dla wszystkich aktywnych interfejsów. Błąd w jednym z tych miejsc może sprawić, że usługa działa na adresie lokalnym, ale nie odpowiada na adresie używanym przez inne urządzenia. Trzeci obszar to zapora. Reguła powinna dopuszczać właściwy ruch przychodzący do ustalonego portu i obowiązywać dla odpowiedniego profilu sieciowego. Zbyt szerokie reguły utrudniają kontrolę, a zbyt wąskie mogą blokować prawidłowych użytkowników. Warto sprawdzić także zaporę na urządzeniu sieciowym, ponieważ blokada może znajdować się poza komputerem z bazą danych. Problemy mogą wynikać również z nieprawidłowego adresu serwera, literówki w nazwie instancji, niedziałającej usługi SQL Server Browser albo konfliktu z inną aplikacją. Jeżeli port jest zajęty, SQL Server może nie uruchomić nasłuchiwania zgodnie z oczekiwaniem. Przydatne jest ustalenie, jaki proces korzysta z danego portu, oraz porównanie wyniku z konfiguracją instancji. W przypadku komunikatu o przekroczeniu czasu oczekiwania należy rozważyć blokadę sieciową, a przy komunikacie o odrzuceniu połączenia także niedziałającą usługę lub błędny numer portu. Nie powinno się zmieniać wielu parametrów jednocześnie. Najpierw warto ustalić stan usługi, potem aktywność protokołu, następnie port, reguły zapory i konfigurację klienta. Taki porządek ogranicza ryzyko utraty informacji o przyczynie usterki. Ustawienia portu TCP — praktyczne wskazówki konfiguracyjnePrzed modyfikacją ustawień warto sporządzić krótką notatkę zawierającą nazwę instancji, adres komputera, dotychczasowy numer portu oraz sposób, w jaki aplikacja nawiązuje połączenie. Dzięki temu można wrócić do poprzedniego stanu, jeżeli test po zmianie nie przyniesie oczekiwanego rezultatu. Należy też ustalić, czy aplikacja korzysta z formatu nazwa_serwera Po ustawieniu stałego portu należy zrestartować odpowiednią usługę, a następnie sprawdzić, czy port jest otwarty lokalnie i dostępny z urządzenia klienckiego. Test powinien być wykonywany z tej samej sieci i przy użyciu tych samych danych połączeniowych, które wykorzystuje aplikacja. Sam fakt, że port odpowiada na komputerze serwera, nie potwierdza jeszcze poprawności całej ścieżki. W dokumentacji dobrze jest zapisać, która instancja korzysta z danego portu, jakie adresy IP są aktywne oraz jakie reguły zapory mają zastosowanie. Przy większej liczbie zmian łatwo pomylić port usługi bazodanowej z portem innej aplikacji. Należy także zachować ostrożność przy kopiowaniu konfiguracji między komputerami, ponieważ ustawienia interfejsów sieciowych, nazwy instancji i reguły bezpieczeństwa mogą się różnić. Nie zaleca się otwierania dostępu dla całej sieci, gdy wymagany jest dostęp tylko z wybranych komputerów. Zakres reguły zapory powinien odpowiadać rzeczywistemu zastosowaniu. Warto również ograniczyć ekspozycję usługi na niezaufane sieci oraz regularnie sprawdzać dzienniki połączeń, jeżeli występują powtarzające się błędy. Zmiana numeru portu sama w sobie nie zastępuje prawidłowych zasad ochrony dostępu i kontroli kont użytkowników. Kiedy sprawdzić ustawienia portu TCP w serwisieDo konsultacji serwisowej warto zgłosić się wtedy, gdy SQL Server działa lokalnie, lecz aplikacja z innego komputera nie może nawiązać połączenia, gdy po restarcie usługi zmienia się port albo gdy konfiguracja została wykonana, ale komunikat błędu nadal wskazuje na brak dostępu. Pomocne będzie przekazanie nazwy instancji, adresu serwera, treści komunikatu oraz informacji o ostatnich zmianach. Ułatwia to oddzielenie problemu konfiguracji bazy od problemu zapory, sieci lub samej aplikacji. Warszawskie Pogotowie Komputerowe 24/7 może przeprowadzić uporządkowaną diagnostykę komputera, sprawdzić działanie usług i zweryfikować komunikację między urządzeniami. W razie potrzeby analizuje się ustawienia protokołu, port nasłuchu, reguły zapory oraz sposób konfiguracji programu klienckiego, tak aby przywrócić spójne i zrozumiałe działanie połączenia. Jeżeli połączenie przerywa się tylko okresowo, warto zanotować moment wystąpienia problemu, czynności wykonywane w aplikacji oraz to, czy w tym samym czasie zmienia się dostęp do innych zasobów sieciowych. Takie informacje mogą wskazać, czy przyczyną jest usługa SQL Server, przeciążenie komputera, utrata łączności czy automatyczna zmiana portu. Przy prawidłowo opisanej konfiguracji łatwiej zachować stabilność połączeń i uniknąć przypadkowych zmian, które utrudniają późniejszą diagnostykę. |