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

SSRS zależny od SQL Database Engine

Termin Definicja
SSRS zależny od SQL Database Engine

SSRS jest zależny od działającego Database Engine, ponieważ przechowuje w nim swoją konfigurację i historię.

Rola SQL Server Database Engine w architekturze SSRS

SQL Server Reporting Services (SSRS) korzysta z aparatu SQL Server Database Engine do przechowywania danych potrzebnych do działania serwera raportów. Nie jest to jedynie dodatkowe miejsce na pliki konfiguracyjne. W bazie raportów znajdują się między innymi definicje raportów, źródła danych, foldery, uprawnienia, subskrypcje, harmonogramy oraz informacje o wykonaniach raportów. W typowej instalacji SSRS tworzone są dwie bazy: ReportServer oraz ReportServerTempDB.

Baza ReportServer przechowuje trwałe dane konfiguracyjne i elementy zarządzane przez usługę raportową. ReportServerTempDB służy do przechowywania danych tymczasowych generowanych podczas przetwarzania raportów. Obie bazy są bazami SQL Server i wymagają działającej instancji Database Engine, do której usługa SSRS ma prawidłowe dane uwierzytelniające oraz uprawnienia. Aparat bazodanowy może znajdować się na tym samym serwerze co SSRS albo na innym hoście sieciowym.

Co oznacza zależność podczas uruchamiania raportów

Usługa SSRS może mieć zainstalowane własne pliki programu i uruchamiać proces usługi niezależnie od procesu SQL Server, ale jej pełna funkcjonalność zależy od dostępności baz raportów. Gdy Database Engine jest zatrzymany, niedostępny przez sieć albo nie można uwierzytelnić połączenia, SSRS nie odczyta konfiguracji przechowywanej w ReportServer. W takiej sytuacji mogą pojawić się błędy podczas otwierania portalu webowego, wykonywania raportu, sprawdzania subskrypcji lub korzystania z ustawień serwera.

Problemy mogą wystąpić także wtedy, gdy sam silnik SQL Server działa, lecz zmieniła się nazwa instancji, port, alias klienta, metoda uwierzytelniania albo hasło konta używanego do połączenia. SSRS nie wyszukuje automatycznie dowolnej bazy o nazwie ReportServer. Korzysta z zapisanej konfiguracji, w której określono serwer bazodanowy i bazę raportów. Z tego powodu przeniesienie baz, odtworzenie ich z kopii zapasowej lub zmiana topologii wymaga ponownego sprawdzenia ustawień połączenia w konfiguracji SSRS.

Konfiguracja baz ReportServer i ReportServerTempDB

Podczas konfiguracji instancji SSRS wskazuje się serwer Database Engine, na którym mają zostać utworzone lub użyte bazy raportów. Kreator konfiguracji SSRS przygotowuje strukturę tych baz oraz zapisuje informacje potrzebne do późniejszego połączenia. W środowisku produkcyjnym można umieścić Database Engine i SSRS na oddzielnych komputerach, jednak wtedy konieczne jest zapewnienie rozwiązywania nazw, łączności na właściwym porcie SQL Server oraz zgodnego sposobu uwierzytelniania.

Do diagnostyki należy sprawdzić stan usługi SQL Server Database Engine, dostępność wskazanego hosta i instancji, możliwość nawiązania połączenia z używanego konta oraz istnienie obu baz. Istotne jest również potwierdzenie, że baza ReportServer nie jest w stanie RECOVERY_PENDING, SUSPECT lub OFFLINE. Dla ReportServerTempDB awaria może objawiać się problemami podczas wykonywania raportów, ponieważ ta baza uczestniczy w obsłudze danych tymczasowych. Sama obecność usługi SSRS w Menedżerze usług systemu Windows nie potwierdza poprawnego działania zależności bazodanowej.

Skutki awarii silnika i zakres diagnostyki

Jeżeli SQL Server Database Engine zostanie zatrzymany, raporty wymagające odczytu metadanych SSRS lub wykonania zapytania do bazy raportów nie będą działały prawidłowo. Po ponownym uruchomieniu silnika należy zweryfikować, czy SSRS odzyskał połączenie i czy raporty są dostępne. W przypadku oddzielnych serwerów trzeba dodatkowo uwzględnić zaporę sieciową, routing, DNS oraz ewentualne ograniczenia połączeń zdalnych. Błąd komunikacji z bazą raportów należy odróżnić od błędu źródła danych raportu, ponieważ raport może poprawnie korzystać z ReportServer, a jednocześnie nie mieć dostępu do odrębnej bazy zawierającej dane biznesowe.

Praktyczna analiza powinna obejmować dzienniki SSRS, dziennik systemu Windows, logi SQL Server oraz test połączenia do instancji wskazanej w konfiguracji. Należy sprawdzić, czy komunikat dotyczy braku serwera, odmowy logowania, braku bazy, błędu uprawnień czy niedostępności tabel wymaganych przez SSRS. Dopiero po rozróżnieniu tych przypadków można ustalić, czy przyczyną jest awaria Database Engine, błędne parametry połączenia, problem z kontem usługi, uszkodzenie bazy czy niedostępność sieciowa. W środowisku serwerowym naprawa powinna zachować spójność baz ReportServer i ReportServerTempDB oraz uwzględniać kopie zapasowe bazy konfiguracji.

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