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

SQL Server SSIS Scale Out Worker

Termin Definicja
SQL Server SSIS Scale Out Worker

SSIS Scale Out Worker wykonuje przydzielone mu pakiety w rozproszonej architekturze przetwarzania danych.

Rola SSIS Scale Out Worker w wykonaniu pakietów

SQL Server Integration Services (SSIS) Scale Out Worker jest składnikiem usługi SSIS Scale Out przeznaczonym do wykonywania pakietów uruchamianych w trybie rozproszonym. W topologii Scale Out współpracuje z komponentem Scale Out Master oraz katalogiem SSISDB. Master przyjmuje żądania wykonania i zarządza topologią, natomiast Worker pobiera przydzielone zadania i uruchamia pakiety lokalnie na komputerze, na którym działa usługa pracownika.

Wykonanie pakietu nie polega na przesłaniu całego procesu do Mastera. Worker otrzymuje zadanie wykonania, a następnie uruchamia pakiet przy użyciu programu ISServerExec.exe. Dzięki temu wiele pakietów może być wykonywanych równolegle przez różne komputery pełniące funkcję Workerów. Rozproszenie dotyczy przede wszystkim miejsc uruchamiania pakietów SSIS; same pakiety muszą być dostępne w katalogu SSISDB, a ich wykonanie musi być zainicjowane w sposób obsługiwany przez SSIS Scale Out.

Komunikacja z Scale Out Master i rejestracja pracownika

Podczas instalacji Scale Out Worker konfiguruje się punkt końcowy Scale Out Master. W środowisku wielokomputerowym adres punktu końcowego składa się z nazwy lub adresu IP komputera z Masterem oraz numeru portu ustawionego dla komunikacji. Domyślny port używany przez Scale Out Master to 8391, ale w konkretnej instalacji należy sprawdzić rzeczywistą wartość w konfiguracji Mastera i regułach zapory sieciowej.

Komunikacja między Workerem i Masterem jest chroniona certyfikatami TLS/SSL. Przy certyfikacie samopodpisanym odpowiedni certyfikat używany do sprawdzenia Mastera musi być dostępny na komputerze Workera. Po uruchomieniu usług Worker rejestruje się w Masterze. Informacje o zarejestrowanych agentach są przechowywane w katalogu SSISDB i można je sprawdzić w widoku [catalog].[worker_agents], który zawiera między innymi identyfikator agenta oraz nazwę komputera. Samo uruchomienie usługi nie zawsze oznacza, że Worker jest gotowy do przyjmowania zadań, ponieważ agent może wymagać włączenia w Scale Out Managerze albo procedurą [catalog].[enable_worker_agent].

Logi, konfiguracja i kontrola stanu usługi

Parametry działania Workera znajdują się w pliku WorkerSettings.config. Konfiguracja obejmuje między innymi nazwę wyświetlaną pracownika, ustawienia logowania zadań, katalog buforowania logów wykonania, identyfikator agenta oraz limity pamięciowych buforów logów. Po zmianie tego pliku trzeba ponownie uruchomić usługę Scale Out Worker, aby nowe wartości zostały zastosowane. Identyfikator agenta jest generowany automatycznie i powinien być spójny z wpisem widocznym w SSISDB.

Podczas diagnostyki należy rozdzielić trzy rodzaje problemów: brak połączenia z Masterem, nieaktywny lub niewłączony agent oraz błąd samego pakietu SSIS. Log usługi Workera znajduje się w katalogu profilu konta uruchamiającego usługę, w podfolderze związanym z SSIS Scale Out. Osobne logi zadań są zapisywane w katalogu zdefiniowanym dla zadań, a jeśli nie ustawiono własnej lokalizacji, używany jest katalog domyślny profilu konta usługi. Wpis Workera może nie pojawić się w widoku [catalog].[worker_agents], gdy usługa nie może połączyć się z Masterem, certyfikat nie przechodzi walidacji, adres jest błędny albo port jest niedostępny.

Diagnostyka opóźnionych i nieudanych wykonań

Jeżeli pakiet nie rozpoczyna się na wskazanym Workerze, najpierw należy sprawdzić status Scale Out w SSISDB, obecność agenta w widoku [catalog].[worker_agents] oraz jego stan w Scale Out Managerze. Następnie trzeba zweryfikować, czy usługa Scale Out Worker działa na właściwym komputerze, czy konto usługi ma dostęp do wymaganych katalogów oraz czy zapora zezwala na komunikację z punktem końcowym Mastera. Błąd certyfikatu może wyglądać podobnie do błędu sieciowego, dlatego w logu trzeba rozróżnić odrzucenie połączenia od przekroczenia czasu oczekiwania.

Gdy Worker pobiera zadanie, lecz wykonanie kończy się niepowodzeniem, przyczyną może być pakiet, jego zależności albo środowisko lokalnego komputera, a nie sam mechanizm rejestracji. Warto porównać log usługi z logiem konkretnego zadania i sprawdzić wynik wykonania zapisany w SSISDB. Należy także uwzględnić różnice między komputerami Workerów: dostępność dostawców danych, sterowników, plików pomocniczych, zmiennych środowiskowych i uprawnień konta uruchamiającego usługę. Taka kontrola pozwala ustalić, czy problem występuje w całej topologii SSIS Scale Out, czy tylko na jednym Workerze.

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