| Termin | Definicja |
|---|---|
| Error 26 – Nie można znaleźć instancji | Error 26 sygnalizuje niemożność zlokalizowania serwera lub instancji SQL określonej w żądaniu połączenia. Co oznacza komunikat „Error 26” w SQL Server„Error 26 – Nie można znaleźć instancji” to komunikat związany z etapem ustalania, z jakim serwerem i instancją Microsoft SQL Server ma połączyć się klient. W praktyce oznacza, że aplikacja lub narzędzie klienckie nie zlokalizowało instancji wskazanej w nazwie połączenia. Błąd może wystąpić zarówno przy połączeniu z domyślną instancją SQL Server, jak i z instancją nazwaną, na przykład w formacie Instancja domyślna jest zwykle adresowana samą nazwą hosta, natomiast instancja nazwana wymaga podania nazwy instancji po znaku odwrotnego ukośnika. Jeżeli aplikacja próbuje połączyć się z nieistniejącą nazwą, używa starej konfiguracji albo wskazuje komputer, którego nie można rozwiązać w sieci, klient nie uzyska poprawnego adresu docelowego. Error 26 dotyczy więc przede wszystkim odnalezienia punktu końcowego SQL Server, a nie błędnego hasła użytkownika, braku uprawnień do konkretnej bazy czy uszkodzenia tabel. Rola nazwy instancji, SQL Server Browser i portuW przypadku nazwanej instancji klient często musi najpierw ustalić, na którym porcie TCP nasłuchuje dana instancja. Informację tę może uzyskać od usługi SQL Server Browser działającej na komputerze z SQL Server. SQL Server Browser korzysta z protokołu UDP na porcie 1434 i odpowiada na zapytania dotyczące dostępnych instancji oraz ich portów. Jeżeli usługa Browser nie działa, zapytania UDP 1434 są filtrowane albo nazwa instancji jest błędna, klient może nie ustalić portu i zgłosić Error 26. Nie każda konfiguracja wymaga jednak SQL Server Browser. Połączenie można skierować bezpośrednio do określonego portu, podając nazwę serwera w postaci Instancja nazwana może korzystać z portu dynamicznego, dlatego numer portu nie powinien być zgadywany ani kopiowany z innego komputera. Aktualny port należy ustalić w konfiguracji konkretnej instancji lub przez prawidłowo działającą usługę SQL Server Browser. W środowisku, w którym wymagany jest stały port, administrator może skonfigurować port TCP dla danej instancji, a następnie dostosować reguły zapory i parametry połączeń klientów do tej wartości. Rozróżnienie błędu lokalizacji od innych problemów połączeniaDiagnostyka powinna zacząć się od porównania nazwy użytej przez aplikację z rzeczywistą konfiguracją SQL Server. Trzeba ustalić nazwę komputera, nazwę instancji oraz to, czy aplikacja łączy się z instancją domyślną, czy nazwaną. Na komputerze serwera można sprawdzić obecność usługi odpowiadającej właściwej instancji SQL Server. Jeżeli usługa nie działa, klient nie uzyska połączenia, ale samo jej uruchomienie nie rozwiąże problemu, gdy aplikacja wskazuje niewłaściwy host lub instancję. Następnie należy rozdzielić problemy z rozpoznawaniem nazwy od problemów transportowych. Nazwa hosta powinna wskazywać właściwy komputer, a test połączenia do konkretnego portu TCP powinien być wykonywany z urządzenia, na którym działa aplikacja. W systemie Windows można użyć polecenia Jeżeli serwer i port są osiągalne, a komunikat zmienia się na błąd logowania, oznacza to, że etap lokalizacji został prawdopodobnie przeprowadzony poprawnie i należy analizować uwierzytelnianie. Inne komunikaty mogą wskazywać na brak dostępu do bazy, odrzucenie certyfikatu, niezgodność wymagań szyfrowania lub problem sterownika. Warto zachować pełny tekst błędu oraz nazwę dostawcy używanego przez aplikację, ponieważ sposób interpretacji parametrów serwera zależy od biblioteki klienckiej, takiej jak Microsoft.Data.SqlClient, System.Data.SqlClient albo sterownik ODBC. Metody przywrócenia poprawnego połączeniaUsuwanie Error 26 powinno polegać na przywróceniu zgodności między konfiguracją klienta i serwera. Najpierw należy poprawić nazwę hosta lub instancji w parametrach połączenia, jeżeli nie odpowiadają rzeczywistemu środowisku. Następnie trzeba zweryfikować działanie usługi SQL Server dla tej instancji, włączenie protokołu TCP/IP oraz port używany przez serwer. Dla połączeń opartych na nazwie instancji należy sprawdzić usługę SQL Server Browser i możliwość komunikacji UDP 1434. Dla połączenia wskazującego port bezpośrednio trzeba dopuścić odpowiedni ruch TCP w zaporze sieciowej i upewnić się, że port jest przypisany do właściwej instancji. Nie należy otwierać przypadkowych portów ani zmieniać ustawień wszystkich instancji bez ustalenia, z której korzysta aplikacja. Po każdej zmianie trzeba ponowić test z tego samego komputera, na którym występuje problem, ponieważ połączenie lokalne i połączenie z innego segmentu sieci mogą podlegać odmiennym regułom zapory. Jeżeli błąd pojawił się po zmianie nazwy komputera, migracji bazy, odtworzeniu konfiguracji albo aktualizacji aplikacji, należy również przejrzeć zapisane parametry połączenia, aliasy klienta i konfigurację usługi uruchamiającej program. W przypadku fizycznego komputera używanego jako stanowisko robocze Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC i ich podzespołów, a diagnostyka może obejmować także sprawdzenie lokalnej konfiguracji sieciowej oraz poprawności działania aplikacji korzystającej z SQL Server. |