| Termin | Definicja |
|---|---|
| SSIS – automatyzacja przepływu danych | Automatyzacja przepływu danych w SSIS pozwala harmonogramować i uruchamiać pakiety bez ręcznej ingerencji. SSIS jako silnik automatyzacji przepływu danychSSIS, czyli SQL Server Integration Services, służy do budowania i wykonywania pakietów odpowiedzialnych za pobieranie, przekształcanie oraz zapisywanie danych. Pakiet SSIS jest definicją przepływu pracy, w której można połączyć źródła relacyjne, pliki tekstowe, skoroszyty, dane XML oraz inne źródła obsługiwane przez dostępne dostawcy połączeń. Przepływ danych jest projektowany w komponencie Data Flow Task. W jego ramach źródło odczytuje rekordy, kolejne transformacje zmieniają ich strukturę lub wartości, a komponent docelowy zapisuje wynik w wybranym miejscu. Automatyzacja nie ogranicza się do samego przenoszenia rekordów. W pakiecie można umieścić zadania sterujące, takie jak Execute SQL Task, File System Task, Script Task, przesyłanie plików, wykonywanie procedur składowanych oraz sprawdzanie warunków przed rozpoczęciem importu. Kontenery, ograniczenia precedencji i zmienne pozwalają określić kolejność działań. Przykładowo pakiet może najpierw sprawdzić obecność pliku, następnie zaimportować jego zawartość, wykonać walidację, zapisać wynik kontroli i przenieść przetworzony plik do katalogu archiwalnego. Każde z tych działań może być uruchamiane bez ręcznego otwierania środowiska projektowego. Harmonogramowanie pakietów i warunki uruchomieniaW środowisku SQL Server typowym mechanizmem harmonogramowania jest SQL Server Agent. Zadanie agenta może uruchamiać pakiet SSIS według harmonogramu czasowego, na przykład codziennie po zakończeniu importu danych źródłowych, albo w reakcji na określone zdarzenie. W kroku zadania można wskazać uruchomienie pakietu z katalogu SSISDB, systemu plików lub starszego magazynu MSDB, zależnie od sposobu wdrożenia. SQL Server Agent zapisuje historię wykonania zadania, ale szczegółowe informacje o samym pakiecie powinny być dodatkowo rejestrowane w katalogu SSISDB lub w skonfigurowanym systemie logowania. Pakiet może otrzymywać parametry i wartości środowiskowe, dzięki czemu ten sam projekt nie musi zawierać osobnych kopii dla każdego środowiska wykonawczego. Parametr może wskazywać na przykład nazwę bazy docelowej, ścieżkę pliku wejściowego albo zakres dat przetwarzania. W SSISDB środowisko może przechowywać wartości powiązane z odwołaniami projektu, a wykonanie korzysta z nich zgodnie z konfiguracją. Przed uruchomieniem warto sprawdzić konto używane przez SQL Server Agent, dostęp do źródeł i katalogów oraz uprawnienia do obiektów bazy danych. Harmonogram nie naprawi błędnego uwierzytelniania ani nie zapewni dostępu do zasobu, którego konto wykonawcze nie może odczytać. Kontrola błędów, powtórzenia i spójność importuAutomatyczny przepływ danych musi rozróżniać poprawne zakończenie, ostrzeżenie i błąd. SSIS udostępnia obsługę zdarzeń, ograniczenia precedencji oraz wyjścia błędów w komponentach przepływu danych. Rekordy, których nie można przekonwertować albo zapisać, mogą zostać przekierowane do osobnego wyjścia błędów zamiast zatrzymać cały przepływ, jeżeli takie zachowanie jest uzasadnione dla danego importu. W innym przypadku błąd powinien zatrzymać pakiet, aby nie oznaczyć częściowo załadowanych danych jako pełnego wyniku. Log powinien zawierać nazwę pakietu, identyfikator wykonania, etap pracy, komunikat błędu i czas wystąpienia. Przy projektowaniu ponawiania wykonania trzeba uwzględnić, czy operacja jest idempotentna, czyli czy powtórzenie jej dla tych samych danych nie utworzy duplikatów. Pomocne mogą być tabele etapowe, klucze unikatowe, znaczniki przetworzenia oraz procedury kontrolujące zakres ładowania. SSIS obsługuje punkty kontrolne pakietu, które mogą pozwolić na wznowienie wykonania po błędzie, ale ich skuteczność zależy od właściwej konfiguracji zadań i od tego, czy źródło oraz cel zachowują stan możliwy do bezpiecznego odtworzenia. W przypadku transakcji należy sprawdzić obsługę transakcji przez używane zadania i dostawców, ponieważ nie każdy zewnętrzny system uczestniczy w transakcji SQL Server. Weryfikacja automatycznego przepływu w środowisku SQL ServerDiagnostyka problemu z automatyzacją SSIS powinna rozpocząć się od ustalenia, czy niepowodzenie wystąpiło podczas wywołania zadania SQL Server Agent, podczas ładowania pakietu, czy dopiero w konkretnym komponencie przepływu danych. Należy porównać historię uruchomień agenta z raportami katalogu SSISDB, sprawdzić komunikaty wykonania oraz potwierdzić, że pakiet korzysta z właściwych parametrów i odwołań do środowiska. Istotne są także różnice między uruchomieniem interaktywnym a uruchomieniem przez usługę: inne konto, katalog roboczy, zmienne środowiskowe lub uprawnienia do udziału sieciowego mogą spowodować błąd mimo poprawnego testu wykonananego ręcznie. Podczas serwisowania komputera lub stanowiska, z którego administrator nadzoruje przepływy SSIS, można sprawdzić działanie narzędzi klienckich SQL Server, połączenie sieciowe, sterowniki dostawców danych, pliki konfiguracyjne oraz dostęp do lokalnych zasobów używanych przez pakiety. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC i podzespołów, dlatego w przypadku problemów ze stacją roboczą można zweryfikować jej stabilność, dysk, pamięć operacyjną i poprawność systemu. Sama naprawa komputera nie zastępuje jednak kontroli konfiguracji SQL Server Agent, SSISDB oraz uprawnień konta wykonującego pakiet. |