| Termin | Definicja |
|---|---|
| Statyczny port TCP | Statyczny port TCP to numer przypisany na stałe do instancji, niewymagający wykrywania przez usługę Browser. Statyczny port TCP w SQL ServerStatyczny port TCP w SQL Server to numer portu przypisany na stałe do konkretnej instancji silnika bazy danych. Instancja nasłuchuje wtedy pod tym samym numerem po każdym uruchomieniu usługi, o ile konfiguracja protokołu TCP/IP nie zostanie zmieniona. Dzięki temu klient może łączyć się bez oczekiwania na automatyczne wykrycie aktualnego portu przez usługę SQL Server Browser. Port jest elementem konfiguracji komunikacji sieciowej, a nie właściwością pojedynczej bazy danych znajdującej się w instancji. W SQL Server instancja domyślna korzysta często z portu TCP 1433, ale nie jest to gwarantowane ustawienie dla każdej instalacji. Instancja nazwana może być skonfigurowana na innym numerze. Najważniejsze jest, aby numer portu był jednoznacznie ustawiony w konfiguracji SQL Server, otwarty na zaporze sieciowej tam, gdzie jest to wymagane, oraz zgodny z parametrami używanymi przez aplikację lub narzędzie klienckie. Sam fakt przypisania portu nie powoduje automatycznego udostępnienia usługi w sieci. Jak SQL Server przypisuje port instancjiKonfigurację sprawdza się w SQL Server Configuration Manager, w sekcji protokołów sieciowych właściwej instancji, po wybraniu protokołu TCP/IP i zakładki ustawień adresów IP. W części dotyczącej poszczególnych adresów można określić aktywność protokołu, adres nasłuchiwania oraz parametry portu. W sekcji IPAll pola związane z portem stałym powinny być ustawione spójnie z przyjętą konfiguracją. W praktyce należy usunąć niezamierzony wpis w polu portu dynamicznego, jeżeli celem jest wymuszenie jednego, stałego numeru. Po zmianie ustawień protokołu TCP/IP trzeba ponownie uruchomić usługę SQL Server, ponieważ sam zapis konfiguracji nie przełącza już działającego procesu na nowy port. Po restarcie numer można potwierdzić w dzienniku błędów SQL Server, w komunikacie informującym o nasłuchiwaniu na określonym adresie i porcie, albo sprawdzając aktywne gniazda systemu Windows. Weryfikacja powinna dotyczyć tej samej instancji, której nazwę i usługę wykorzystuje aplikacja; sprawdzenie innego procesu SQL Server może prowadzić do błędnych wniosków. Połączenie klienta bez wykrywania przez BrowserPrzy stałym porcie klient może wskazać serwer razem z numerem portu, na przykład w formie Stały port nie zastępuje uwierzytelniania ani kontroli dostępu. Nadal muszą działać właściwa usługa SQL Server, protokół TCP/IP oraz reguły zapory pozwalające na ruch do konkretnego portu. Jeżeli serwer ma kilka interfejsów sieciowych, warto sprawdzić, na których adresach instancja faktycznie nasłuchuje. Błąd połączenia może wynikać z wyłączonego protokołu, niewłaściwego adresu IP, blokady zapory, użycia innego numeru przez instancję albo skierowania żądania do niewłaściwego komputera. Rozpoznawanie problemów ze stałym portemDiagnostykę należy rozpocząć od ustalenia pełnej nazwy instancji, nazwy usługi i aktualnego numeru portu. Następnie można sprawdzić lokalnie, czy port jest otwarty i czy proces SQL Server przyjmuje połączenia, a z komputera klienckiego wykonać próbę połączenia do konkretnej nazwy hosta i numeru portu. Jeżeli połączenie po adresie IP działa, a po nazwie hosta nie, problem może dotyczyć rozwiązywania nazwy. Jeżeli port nie odpowiada także lokalnie, trzeba wrócić do konfiguracji protokołu i stanu usługi. Typowym błędem jest ustawienie portu stałego w konfiguracji jednej instancji, a następnie używanie w aplikacji nazwy innej instancji. Inną przyczyną jest pozostawienie konfiguracji portów dynamicznych, przez co po restarcie numer się zmienia i wcześniej przygotowana reguła zapory lub parametr połączenia przestaje pasować. W komputerach domowych i biurowych problem może również powstać po aktualizacji SQL Server, zmianie profilu zapory albo instalacji kilku instancji na jednym systemie. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów i komputerów PC, w tym diagnostyką konfiguracji sieciowej oraz problemów z dostępem do usług działających na tych urządzeniach. |