| Termin | Definicja |
|---|---|
| Narzędzia testowania połączeń | Narzędzia testowania połączeń, np. plik UDL czy sqlcmd, pozwalają szybko ustalić, czy klient dociera do instancji serwera. Co właściwie sprawdzają narzędzia połączenioweNarzędzia testowania połączeń służą do rozdzielenia kilku etapów komunikacji, które w codziennym użyciu mogą wyglądać jak jeden problem. Najpierw trzeba ustalić, czy komputer potrafi rozwiązać nazwę hosta na adres IP, następnie czy istnieje trasa sieciowa, czy docelowy port TCP przyjmuje połączenia, a dopiero później czy działa protokół konkretnej usługi i czy podane dane uwierzytelniające są akceptowane. Udane polecenie W przypadku połączenia z instancją SQL Server istotne są między innymi nazwa serwera, nazwa instancji, używany protokół oraz port TCP. Instancja domyślna często korzysta z portu 1433, ale nie jest to reguła dla każdej konfiguracji. Instancja nazwana może używać portu dynamicznego, a klient może potrzebować usługi SQL Server Browser do ustalenia właściwego portu. Z tego powodu sam fakt, że host odpowiada w sieci, nie wystarcza do stwierdzenia, że aplikacja ma prawidłową drogę do silnika bazy danych. Plik UDL jako test dostawcy OLE DBPlik UDL, czyli plik Universal Data Link, jest używany w systemie Windows do zdefiniowania i przetestowania parametrów połączenia za pośrednictwem dostawcy OLE DB. Po utworzeniu pliku z rozszerzeniem Test UDL może ujawnić brak zainstalowanego dostawcy OLE DB, nieprawidłową nazwę instancji, odmowę logowania albo brak dostępu do wskazanej bazy. Należy jednak interpretować rezultat w odniesieniu do aplikacji, która zgłasza problem. Program może korzystać z innego sterownika, innego użytkownika, innego protokołu lub innego ciągu połączenia niż plik UDL. Pozytywny test UDL potwierdza więc możliwość połączenia w konkretnym wariancie OLE DB, ale nie dowodzi poprawności każdej aplikacji używającej tego samego serwera. Sqlcmd i rozdzielenie sieci od logowania
W diagnostyce przydatne jest sprawdzanie wariantów adresowania osobno. Nazwa w rodzaju Jak odczytywać wynik testu bez błędnych wnioskówRzetelny test powinien być wykonywany z tego samego komputera i w miarę możliwości przy użyciu tego samego konta, sterownika oraz adresu, których używa problematyczna aplikacja. Warto zapisać dokładny komunikat błędu, czas wystąpienia, nazwę serwera, nazwę instancji i sposób uwierzytelniania. Komunikat o przekroczeniu limitu czasu wskazuje na brak odpowiedzi w wymaganym etapie, ale sam nie rozstrzyga, czy przyczyną jest filtracja portu, niedostępna usługa, błędny adres czy opóźnienie. Z kolei natychmiastowa odmowa połączenia może oznaczać, że host jest osiągalny, lecz na danym porcie nic nie nasłuchuje albo połączenie jest aktywnie odrzucane. W środowisku laptopa lub komputera PC takie testy pomagają odróżnić usterkę sprzętową od problemu konfiguracji systemu, sterownika albo aplikacji. Jeżeli kilka niezależnych klientów nie potrafi połączyć się z tym samym adresem, należy sprawdzić lokalną kartę sieciową, ustawienia DNS, zaporę i trasę do hosta. Jeżeli tylko jeden program zgłasza błąd, większe znaczenie mają jego własne sterowniki, plik konfiguracyjny i sposób budowania ciągu połączenia. Diagnostyka i naprawa komputera powinna opierać się na takim rozdzieleniu etapów, ponieważ wymiana podzespołu nie usunie błędnej nazwy instancji ani nieprawidłowych uprawnień. |