| Termin | Definicja |
|---|---|
| Test połączenia przez PowerShell | Test połączenia przez PowerShell pozwala sprawdzić dostępność instancji SQL Server ze skryptu bez interfejsu graficznego. Na czym polega test połączenia przez PowerShellTest połączenia przez PowerShell służy do sprawdzenia, czy komputer może komunikować się z określonym wystąpieniem Microsoft SQL Server bez korzystania z graficznych narzędzi administracyjnych. W praktyce analizuje się kilka niezależnych elementów: rozpoznanie nazwy hosta, dostępność adresu IP, możliwość zestawienia połączenia TCP z portem SQL Server oraz poprawność próby logowania do konkretnej bazy danych. Sam fakt, że komputer odpowiada na polecenie ping, nie potwierdza dostępności usługi SQL Server, ponieważ zapora może blokować protokół ICMP, a port TCP używany przez silnik może pozostawać niedostępny. W PowerShell można użyć polecenia Port, instancja i rozwiązywanie nazwy serweraDomyślna instancja SQL Server często korzysta z portu TCP 1433, ale nie jest to reguła obowiązująca dla każdej konfiguracji. Instancja nazwana może używać portu dynamicznego, a administrator może również ustawić niestandardowy port statyczny. Z tego powodu test należy wykonać dla rzeczywistego portu przypisanego do danej instancji, a nie automatycznie dla portu 1433. Jeżeli aplikacja łączy się z nazwą w formacie Przy analizie instancji nazwanej znaczenie może mieć usługa SQL Server Browser, która pomaga klientom odnaleźć port przypisany do instancji. Test portu powinien jednak opierać się na konkretnym numerze portu ustalonym dla silnika. Najpierw można sprawdzić rozpoznawanie nazwy poleceniem Od testu TCP do rzeczywistej sesji SQL ServerPo potwierdzeniu dostępności portu warto wykonać próbę na poziomie protokołu SQL Server. Do tego celu może służyć moduł SqlServer i polecenie Błąd zwrócony przez Wyniki testu dobrze zapisywać razem z nazwą komputera wykonującego polecenie, rozwiązaną nazwą hosta, adresem IP, numerem portu, czasem wykonania oraz pełnym komunikatem błędu. Pozwala to odróżnić problem lokalny od problemu występującego na wielu stacjach. Należy również pamiętać, że test wykonany z serwera może zakończyć się powodzeniem, podczas gdy ten sam test z sieci biurowej będzie blokowany przez reguły zapory. Kierunek połączenia, profil sieciowy i zakres reguły zapory mają bezpośredni wpływ na wynik. Wykorzystanie wyników przy diagnostyce komputeraDiagnostyka powinna przebiegać od najniższej warstwy do najwyższej: najpierw sprawdza się konfigurację adresu i rozwiązywanie nazwy, potem dostępność właściwego portu TCP, następnie negocjację połączenia SQL Server, uwierzytelnianie i dostęp do wymaganej bazy. Taka kolejność ogranicza błędne wnioski. Przykładowo, instalowanie sterownika lub zmiana hasła nie rozwiąże problemu, jeżeli W przypadku problemów z działaniem aplikacji korzystającej z SQL Server można porównać wynik testu wykonanego w PowerShell z ustawieniami używanymi przez aplikację: nazwą serwera, nazwą instancji, numerem portu, metodą uwierzytelniania i nazwą bazy. Rozbieżność w jednym z tych parametrów może powodować, że ręczny test sprawdza inne wystąpienie niż program. Przydatne jest także sprawdzenie, czy aplikacja korzysta z aliasu SQL Server, protokołu TCP/IP oraz aktualnego sterownika. Test przez PowerShell jest więc narzędziem weryfikacyjnym, a nie samodzielną naprawą usługi; jego wartość polega na precyzyjnym wskazaniu warstwy, na której pojawia się problem. |