| Termin | Definicja |
|---|---|
| Błąd połączenia (Error 40) | Błąd połączenia (Error 40) sygnalizuje niemożność nawiązania połączenia z serwerem SQL, zwykle z powodu ustawień sieciowych. Co oznacza komunikat Error 40 w SQL ServerBłąd połączenia oznaczany jako Error 40 pojawia się w stosie komunikatów SQL Server Native Client, Microsoft ODBC Driver for SQL Server lub innych dostawcach korzystających z protokołów SQL Server. Typowy tekst brzmi „Named Pipes Provider: Could not open a connection to SQL Server” albo „SQL Network Interfaces, error: 40 – Could not open a connection to SQL Server”. Sam numer błędu nie wskazuje jednej przyczyny. Oznacza, że aplikacja nie zdołała otworzyć połączenia z określoną instancją SQL Server. Problem może wystąpić zarówno przy połączeniu lokalnym, jak i podczas dostępu do komputera znajdującego się w innej sieci. Przyczyną bywa nieprawidłowa nazwa hosta lub instancji, zatrzymana usługa SQL Server, wyłączony protokół TCP/IP, blokada zapory sieciowej, niedostępny port albo nieprawidłowe rozpoznanie instancji nazwanej. Error 40 dotyczy etapu nawiązywania połączenia, dlatego nie jest tym samym co błąd odrzucenia loginu lub brak uprawnień do konkretnej bazy danych. Nazwa serwera, instancja i sposób rozpoznania adresuAdres używany przez aplikację musi odpowiadać rzeczywistej konfiguracji SQL Server. Dla instancji domyślnej często stosuje się samą nazwę komputera albo nazwę komputera z portem, na przykład W przypadku instancji nazwanej klient może korzystać z usługi SQL Server Browser do ustalenia portu przypisanego do tej instancji. SQL Server Browser używa protokołu UDP na porcie 1434. Jeżeli usługa jest zatrzymana albo ruch UDP 1434 jest filtrowany, rozpoznanie nazwy instancji może się nie udać. Alternatywą jest podanie bezpośrednio numeru portu w formacie Usługi SQL Server, TCP/IP i zapora sieciowaNajpierw należy sprawdzić, czy uruchomiona jest właściwa usługa silnika SQL Server, a nie tylko usługa SQL Server Browser. Każda instancja ma własną nazwę usługi, na przykład Dla połączeń sieciowych znaczenie ma konfiguracja SQL Server Configuration Manager. Protokół TCP/IP musi być włączony dla właściwej instancji, a po zmianie tego ustawienia zwykle wymagane jest ponowne uruchomienie usługi SQL Server. Instancja domyślna często korzysta z portu TCP 1433, lecz nie należy zakładać tego bez sprawdzenia konfiguracji. Instancje nazwane mogą używać portów dynamicznych. Zapora systemu Windows lub zapora urządzenia sieciowego powinna zezwalać na ruch do faktycznego portu TCP instancji; samo otwarcie portu UDP 1434 pomaga tylko w scenariuszu, w którym klient korzysta z SQL Server Browser. Metody zawężania przyczyny Error 40Diagnostykę warto rozpocząć od rozdzielenia problemu nazwy, transportu i samego silnika. Jeżeli połączenie działa przy użyciu Przydatne są również Podgląd zdarzeń systemu Windows, log błędów SQL Server oraz informacje zapisane w konfiguracji aplikacji. W logu SQL Server można znaleźć port, na którym instancja nasłuchuje, a w konfiguracji klienta należy sprawdzić, czy aplikacja nie używa starej nazwy komputera, błędnego aliasu lub innej instancji niż zamierzona. Diagnostyka laptopa lub komputera PC może obejmować sprawdzenie usług, ustawień sieciowych, reguł zapory oraz poprawności konfiguracji programu korzystającego z SQL Server. Zmiana ustawień powinna być wykonywana dopiero po ustaleniu, który element faktycznie uniemożliwia zestawienie połączenia. |