Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa
Darmowa diagnoza laptopa
Dojazd do klienta bezpłatnie
Dojazd do klienta bezpłatnie
Laptopy zastępcze bezpłatnie
Laptopy zastępcze bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie

Error 7399 – błąd dostępu do serwera zdalnego

Termin Definicja
Error 7399 – błąd dostępu do serwera zdalnego

Error 7399 sygnalizuje błąd dostępu do zasobu na serwerze zdalnym, wykorzystywanym za pośrednictwem połączonego serwera.

Co oznacza komunikat MSSQLSERVER_7399

Error 7399 w Microsoft SQL Server oznacza, że zapytanie wykonane przez serwer połączony, czyli linked server, nie zakończyło się poprawnie, a używany dostawca OLE DB zwrócił błąd pochodzący z dalszego etapu połączenia lub wykonywania operacji. Typowy komunikat ma postać: „The OLE DB provider ... for linked server ... reported an error”. Sam numer 7399 nie wskazuje jednej, konkretnej przyczyny. Jest komunikatem ogólnym, który informuje o niepowodzeniu dostawcy, ale zwykle wymaga odczytania dodatkowego tekstu błędu.

Połączony serwer pozwala instancji SQL Server odczytywać dane ze zdalnego źródła albo wykonywać na nim polecenia. Źródłem może być inna instancja SQL Server, baza obsługiwana przez inny dostawca OLE DB albo system udostępniany przez sterownik zgodny z używanym mechanizmem dostępu. Błąd 7399 pojawia się dopiero wtedy, gdy wykonywana jest operacja korzystająca z połączenia. Samo utworzenie konfiguracji linked server może nie ujawnić problemu z dostawcą, logowaniem lub dostępem do zdalnego zasobu.

Dodatkowy komunikat z dostawcy OLE DB

Pierwszym krokiem diagnostycznym jest ustalenie pełnej treści komunikatu zwróconego razem z kodem 7399. W zależności od dostawcy może pojawić się informacja o przekroczeniu limitu czasu, odrzuceniu logowania, braku uprawnień, niedostępności źródła danych, błędzie sieciowym albo nieudanej inicjalizacji dostawcy. Numer 7399 należy więc traktować jako warstwę pośrednią: SQL Server przekazuje, że dostawca OLE DB zgłosił problem, ale nie rozstrzyga jeszcze, czy winna jest konfiguracja lokalna, zdalny serwer, konto czy komunikacja.

W sytuacji, gdy zwykły komunikat jest zbyt ogólny, Microsoft SQL Server może zwrócić bardziej szczegółowy ślad dostawcy po włączeniu flagi śledzenia 7300 razem z przekierowaniem komunikatów do klienta. Przykładowe polecenie diagnostyczne ma postać DBCC TRACEON (7300, 3604);. Flaga powinna być używana podczas kontrolowanego odtworzenia problemu, ponieważ jej celem jest uzyskanie dodatkowych informacji z warstwy OLE DB, a nie trwałe usunięcie przyczyny. Po ponownym wykonaniu zapytania należy przeanalizować zarówno komunikat SQL Server, jak i opis zwrócony przez konkretnego dostawcę.

Połączenie, uwierzytelnianie i limity czasu

Jeżeli dodatkowy komunikat zawiera „Timeout expired”, trzeba rozróżnić moment nawiązania połączenia od czasu wykonywania zdalnego zapytania. Opcja remote login timeout dotyczy czasu oczekiwania na ustanowienie połączenia z serwerem zdalnym. Inna opcja, remote query timeout, ogranicza czas wykonywania zapytania po nawiązaniu połączenia. Błąd zgłoszony podczas inicjalizacji dostawcy może zatem wskazywać na problem z osiągalnością zdalnej instancji, nazwą serwera, portem, zaporą sieciową lub uwierzytelnianiem, natomiast błąd podczas wykonania polecenia może wynikać z długiego zapytania albo blokowania po stronie zdalnej.

Do sprawdzenia pozostaje również mapa logowania skonfigurowana dla linked server. Konto używane przez SQL Server albo jawnie przypisane konto zdalne musi mieć możliwość zalogowania się do źródła oraz odpowiednie uprawnienia do konkretnej bazy, schematu, tabeli lub procedury. W przypadku uwierzytelniania Windows znaczenie może mieć tożsamość usługi SQL Server, a nie użytkownik, który uruchomił narzędzie administracyjne. Poprawne połączenie testowane z poziomu własnego konta nie potwierdza więc automatycznie, że identyczny dostęp będzie dostępny dla procesu bazy danych.

Sprawdzanie dostawcy i konfiguracji linked server

Diagnostyka powinna objąć nazwę oraz stan dostawcy OLE DB wskazanego w konfiguracji. Dostawca musi być zainstalowany i zarejestrowany na komputerze, na którym działa instancja SQL Server, a jego architektura musi odpowiadać architekturze procesu bazy danych. Problemy mogą ujawnić się po migracji instancji, odtworzeniu bazy systemowej albo zmianie sterownika, mimo że sama definicja linked server nadal znajduje się w konfiguracji. Warto sprawdzić także, czy proces usługi SQL Server ma dostęp do katalogów, bibliotek i zależności wymaganych przez dostawcę.

Należy zweryfikować, czy dla danego linked server włączony jest dostęp do danych, czy ustawienia nazwy źródła wskazują właściwy system oraz czy wybrana mapa logowania odpowiada rzeczywistemu sposobowi uwierzytelniania. Opcja RPC Out ma znaczenie przy wywoływaniu zdalnych procedur, ale nie jest ogólnym rozwiązaniem każdego błędu 7399. Zmiana limitów czasu również nie naprawi błędnego hasła, braku uprawnień, niedostępnego serwera ani niezgodnego dostawcy. Po usunięciu przyczyny trzeba ponownie wykonać dokładnie tę operację, która wywoływała błąd, i sprawdzić, czy komunikat nie zmienił się na inny, bardziej szczegółowy błąd SQL Server lub dostawcy.

+48 22 100 48 29Zadzwoń teraz · serwisant w 1 godzinę