| Termin | Definicja |
|---|---|
| Porty statyczne | Porty statyczne to ręcznie przypisane numery, ułatwiające konfigurację reguł zapory dla instancji nazwanej. Port statyczny a nazwana instancja SQL ServerPort statyczny to numer portu TCP przypisany ręcznie do konkretnej usługi sieciowej. W przypadku nazwanej instancji Microsoft SQL Server oznacza to, że instancja po uruchomieniu nasłuchuje pod ustalonym numerem, zamiast wybierać port dynamicznie. Dzięki temu administrator może przygotować regułę zapory sieciowej odnoszącą się do jednego, znanego portu oraz łatwiej opisać konfigurację klientów, przekierowanie w routerze lub reguły na zaporze systemowej. Port nie jest samodzielną usługą i nie zastępuje działającej instancji SQL Server; określa jedynie punkt, pod którym klient może nawiązać połączenie z serwerem. Domyślna instancja SQL Server standardowo korzysta z portu TCP 1433, natomiast nazwana instancja często używa portu dynamicznego przydzielanego podczas uruchamiania usługi. Numer portu dynamicznego może zmienić się po restarcie usługi, dlatego reguła zapory przygotowana dla wcześniejszego numeru może przestać odpowiadać rzeczywistej konfiguracji. Ustawienie portu statycznego eliminuje tę zmienność, ale nie zmienia nazwy instancji, nazwy usługi ani uprawnień wymaganych do zalogowania się do bazy. Ustawienie stałego portu w konfiguracji sieci SQL ServerPort nazwaną instancję konfiguruje się w SQL Server Configuration Manager, w sekcji SQL Server Network Configuration, w pozycji Protocols for określonej instancji. Dla protokołu TCP/IP należy otworzyć właściwości i przejść do karty IP Addresses. W polu TCP Dynamic Ports usuwa się wartość dynamiczną, a w polu TCP Port wpisuje wybrany numer TCP. Wpis może być ustawiony dla konkretnego adresu IP albo w sekcji IPAll, zależnie od przyjętej konfiguracji interfejsów. Trzeba zachować spójność: instancja nie powinna jednocześnie otrzymywać portu dynamicznego i stałego dla tego samego zakresu adresów. Po zmianie parametrów protokołu trzeba ponownie uruchomić usługę danej instancji SQL Server, ponieważ proces serwera odczytuje ustawienia nasłuchu podczas startu. Samo zapisanie wartości w Configuration Manager nie przenosi istniejącego połączenia na nowy port. Po restarcie można sprawdzić log uruchomieniowy SQL Server, w którym serwer zapisuje informacje o adresach i portach, na których rozpoczął nasłuch. Warto również upewnić się, że protokół TCP/IP jest włączony, ponieważ wybranie numeru portu przy wyłączonym protokole nie zapewni połączeń TCP. Zapora, SQL Server Browser i sposób łączeniaReguła zapory dla statycznego portu nazwaną instancję powinna zezwalać na ruch przychodzący TCP do dokładnie ustalonego numeru, na przykład TCP 51433, jeśli taki numer został skonfigurowany. Numer 51433 jest tylko przykładem konfiguracji administratora i nie jest specjalnym portem SQL Server. Reguła musi obowiązywać na tym komputerze i interfejsie sieciowym, pod którym instancja nasłuchuje. Jeżeli połączenie przechodzi przez dodatkową zaporę sprzętową, filtr sieciowy albo przekierowanie NAT, te elementy również muszą kierować ruch na właściwy adres i port. SQL Server Browser korzysta z protokołu UDP na porcie 1434 i udostępnia klientom informacje o portach instancji. Jest przydatny, gdy klient łączy się w formie nazwa-serwera\nazwa-instancji i nie zna numeru portu. Przy połączeniu z podanym portem, na przykład nazwa-serwera,51433, klient może kierować ruch bezpośrednio do instancji, więc mechanizm wyszukiwania portu przez SQL Server Browser nie jest konieczny do samego połączenia. Zależność od Browsera trzeba jednak uwzględnić w istniejących aplikacjach, skryptach i konfiguracjach używających wyłącznie nazwy instancji. Weryfikacja po zmianie numeru nasłuchuPo ustawieniu portu statycznego należy przetestować połączenie z tego samego komputera oraz z urządzenia znajdującego się w sieci, z której będą korzystać użytkownicy lub aplikacje. Test powinien rozróżniać problem z dostępnością portu od problemu z uwierzytelnianiem. Jeżeli port jest osiągalny, ale logowanie kończy się błędem, przyczyną mogą być dane konta, metoda uwierzytelniania albo uprawnienia do instancji. Jeżeli port nie odpowiada, trzeba sprawdzić stan usługi SQL Server, włączenie TCP/IP, numer zapisany w konfiguracji, adres nasłuchu oraz reguły zapory. Do połączenia diagnostycznego można użyć formatu serwer,port, na przykład DBHOST,51433, w narzędziu lub aplikacji obsługującej SQL Server. W systemie Windows dostępność portu można wstępnie ocenić poleceniem W środowisku laptopa lub komputera PC problem z portem statycznym może pojawić się po przeniesieniu aplikacji na inny komputer, zmianie nazwy instancji albo odtworzeniu konfiguracji SQL Server. Diagnostyka powinna wtedy obejmować rzeczywisty numer portu, a nie tylko nazwę instancji widoczną w programie. W przypadku sprzętu używanego lokalnie |