Udostępnij przez


Debugowanie przepływu sterowania

Dotyczy:SQL Server SSIS Integration Runtime w ramach usługi Azure Data Factory

Narzędzia SQL Server Data Tools (SSDT) i usługi Microsoft Integration Services obejmują funkcje i narzędzia, których można użyć do rozwiązywania problemów z przepływem sterowania w pakiecie usług Integration Services.

  • Usługi Integration Services obsługują punkty przerwania w kontenerach i zadaniach.

  • Projektant SSIS zapewnia raportowanie postępu podczas działania.

  • Narzędzia SQL Server Data Tools (SSDT) udostępniają okna debugowania.

Breakpoints

Projektant usług SSIS udostępnia okno dialogowe Ustal punkty przerwania, w którym można ustawić punkty przerwania, włączając warunki przerwania i określając liczbę wystąpień punktu przerwania przed wstrzymaniem wykonywania pakietu. Punkty przerwania można włączać na poziomie pakietu lub na poziomie poszczególnych składników. Jeśli warunki przerwania są włączone na poziomie zadania lub kontenera, ikona punktu przerwania zostanie wyświetlona obok zadania lub kontenera na powierzchni projektowej karty Przepływ sterowania . Jeśli warunki przerwania są włączone w pakiecie, ikona punktu przerwania zostanie wyświetlona na etykiecie karty Przepływ sterowania .

Gdy punkt przerwania zostanie trafiony, ikona punktu przerwania zmieni się, aby ułatwić zidentyfikowanie źródła punktu przerwania. Punkty przerwania można dodawać, usuwać i zmieniać, gdy pakiet jest uruchomiony.

Usługi Integration Services udostępniają dziesięć warunków przerwania, które można włączyć we wszystkich zadaniach i kontenerach. W oknie dialogowym Ustawianie punktów przerwania można włączyć punkty przerwania w następujących warunkach:

Warunek przerwania Description
Gdy zadanie lub kontener odbiera zdarzenie OnPreExecute . Wywoływana, gdy zadanie ma zostać wykonane. To zdarzenie jest wywoływane przez zadanie lub kontener bezpośrednio przed jego uruchomieniem.
Gdy zadanie lub kontener odbiera zdarzenie OnPostExecute . Wywoływana natychmiast po zakończeniu logiki wykonywania zadania. To zdarzenie jest wywoływane przez zadanie lub kontener natychmiast po jego uruchomieniu.
Gdy zadanie lub kontener odbiera zdarzenie OnError . Wywoływana przez zadanie lub kontener w przypadku wystąpienia błędu.
Gdy zadanie lub kontener odbiera zdarzenie OnWarning . Wywoływana, gdy zadanie znajduje się w stanie, który nie uzasadnia błędu, ale gwarantuje ostrzeżenie.
Gdy zadanie lub kontener odbiera zdarzenie OnInformation . Jest wywoływane, gdy konieczne jest podanie informacji.
Gdy zadanie lub kontener odbiera zdarzenie OnTaskFailed. Wywoływana przez hosta zadań w przypadku niepowodzenia.
Gdy zadanie lub kontener odbiera zdarzenie OnProgress . Wywołana w celu zaktualizowania postępu wykonywania zadania.
Gdy zadanie lub kontener odbiera zdarzenie OnQueryCancel. Wywoływane w dowolnym momencie przetwarzania zadań, gdy można anulować wykonywanie.
Gdy zadanie lub kontener odbiera zdarzenie OnVariableValueChanged . Wywoływana przez środowisko Uruchomieniowe usług Integration Services, gdy wartość zmiennej ulegnie zmianie. Właściwość RaiseChangeEvent zmiennej musi być ustawiona na true, aby wywołać to zdarzenie.

**Ostrzeżenie** Zmienna skojarzona z tym punktem przerwania musi być zdefiniowana w zakresie kontenera . Jeśli zmienna jest zdefiniowana w zakresie pakietu, punkt przerwania nie zostanie trafiony.
Gdy zadanie lub kontener odbiera zdarzenie OnCustomEvent . Wywoływane przez zadania w celu zgłaszania niestandardowych zdarzeń zdefiniowanych przez zadania.

Oprócz warunków przerwania dostępnych dla wszystkich zadań i kontenerów niektóre zadania i kontenery obejmują specjalne warunki przerwania do ustawiania punktów przerwania. Można na przykład włączyć warunek przerwania w kontenerze For Loop, który ustawia punkt przerwania, który zawiesza wykonywanie na początku każdej iteracji pętli.

Aby zwiększyć elastyczność i moc przy punktach przerwania, możesz zmodyfikować ich zachowanie, określając następujące opcje:

  • Liczba trafień, czyli maksymalna liczba wystąpień warunku przerwania, zanim wykonanie zostanie wstrzymane.

  • Typ liczby trafień lub reguła określająca, kiedy warunek przerwania wyzwala punkt przerwania.

Rodzaje liczby trafień, z wyjątkiem typu Always, są dodatkowo kwalifikowane przez liczbę trafień. Jeśli na przykład typ to "Liczba trafień równa się", a liczba trafień wynosi 5, wykonanie jest zawieszone w szóstym wystąpieniu warunku przerwania.

W poniższej tabeli opisano typy liczby trafień.

Typ liczby trafień Description
Zawsze Wykonanie jest zawsze zawieszone, gdy punkt przerwania zostanie osiągnięty.
Liczba trafień równa się Wykonanie jest zawieszone, gdy liczba wystąpień punktu przerwania jest równa liczbie trafień.
Liczba trafień większa lub równa Wykonanie jest zawieszone, gdy liczba wystąpień punktu przerwania jest równa lub większa niż liczba trafień.
Liczba trafień wielokrotna Wykonanie jest zawieszone, gdy wystąpi wielokrotność liczby trafień. Jeśli na przykład ustawisz tę opcję na 5, wykonywanie jest zawieszone co piąty raz.

Aby ustawić punkty przerwania

Raportowanie postępu

Projektant SSIS zawiera dwa typy raportowania postępu: kodowanie kolorami w obszarze projektowym na karcie Przepływ sterowania i komunikaty o postępie na karcie Postęp.

Po uruchomieniu pakietu projektant usług SSIS przedstawia postęp wykonywania, wyświetlając każde zadanie lub kontener przy użyciu koloru wskazującego stan wykonywania. Możesz rozpoznać po jego kolorze, czy element oczekuje na uruchomienie, jest uruchomiony, zakończył się pomyślnie, czy zakończył się niepowodzeniem. Po zatrzymaniu wykonywania pakietu kodowanie kolorami zniknie.

W poniższej tabeli opisano kolory używane do przedstawiania stanu wykonywania.

Kolor Stan wykonania
Gray Oczekiwanie na uruchomienie
Yellow Bieganie
Green Wykonano pomyślnie
podświetlony Uruchomione z błędami

Karta Postęp zawiera zadania i kontenery w kolejności wykonywania oraz godziny rozpoczęcia i zakończenia, ostrzeżenia i komunikaty o błędach. Po zatrzymaniu wykonywania pakietu informacje o postępie pozostają dostępne na karcie Wyniki wykonywania .

Uwaga / Notatka

Aby włączyć lub wyłączyć wyświetlanie komunikatów na karcie Postęp , przełącz opcję Raportowanie postępu debugowania w menu usług SSIS .

Na poniższym diagramie przedstawiono kartę Postęp .

Karta Postępu projektanta SSIS

Debugowanie systemu Windows

Narzędzia SQL Server Data Tools (SSDT) zawierają wiele okien, których można użyć do pracy z punktami przerwania oraz do debugowania pakietów zawierających punkty przerwania. Aby dowiedzieć się więcej o każdym oknie, otwórz okno, a następnie naciśnij F1, aby wyświetlić Pomoc dla okna.

Aby otworzyć te okna w narzędziach SQL Server Data Tools (SSDT), kliknij menu Debugowanie , wskaż pozycję Windows, a następnie kliknij pozycję Punkty przerwania, Dane wyjściowe lub Natychmiastowe.

W poniższej tabeli opisano każde okno.

Okno Description
Breakpoints Wyświetla listę punktów przerwania w pakiecie i udostępnia opcje włączania i usuwania punktów przerwania.
Wynik Wyświetla komunikaty o stanie funkcji w narzędziach SQL Server Data Tools (SSDT).
Bezpośredni Służy do debugowania i oceniania wyrażeń oraz drukowania wartości zmiennych.

Debugowanie pakietu przez ustawienie punktów przerwania w zadaniu lub kontenerze

W tej procedurze opisano sposób ustawiania punktów przerwania w pakiecie, zadaniu, kontenerze For Loop, kontenerze Foreach Loop lub kontenerze sekwencji.

Aby ustawić punkty przerwania w pakiecie, zadaniu lub kontenerze

  1. W narzędziu SQL Server Data Tools (SSDT) otwórz projekt Integration Services zawierający odpowiedni pakiet.

  2. Kliknij dwukrotnie pakiet, w którym chcesz ustawić punkty przerwania.

  3. W projektancie SSIS wykonaj następujące czynności:

    • Aby ustawić punkty przerwania w obiekcie pakietu, kliknij kartę Przepływ sterowania , umieść kursor w dowolnym miejscu na tle powierzchni projektowej, kliknij prawym przyciskiem myszy, a następnie kliknij polecenie Edytuj punkty przerwania.

    • Aby ustawić punkty przerwania w przepływie sterowania pakietem, kliknij kartę Przepływ sterowania , kliknij prawym przyciskiem myszy zadanie, kontener for loop, kontener Foreach Loop lub kontener sekwencji, a następnie kliknij polecenie Edytuj punkty przerwania.

    • Aby ustawić punkty przerwania w procedurze obsługi zdarzeń, kliknij kartę Procedura obsługi zdarzeń, następnie kliknij prawym przyciskiem myszy zadanie, kontener pętli For, kontener pętli Foreach lub kontener sekwencji, a potem wybierz Edytuj punkty przerwania.

  4. W oknie dialogowym Ustawianie nazwy< kontenera punktów >przerwania wybierz punkty przerwania, które mają być włączone.

  5. Opcjonalnie zmodyfikuj liczbę i typ trafień dla każdego punktu przerwania.

  6. Aby zapisać pakiet, kliknij pozycję Zapisz wybrane elementy w menu Plik .

Ustawianie punktów przerwania

Okno dialogowe Ustawianie punktów przerwania umożliwia określenie zdarzeń, dla których mają być włączone punkty przerwania i kontrolowania zachowania punktu przerwania.

Opcje

Enabled
Wybierz, aby włączyć punkt przerwania dla zdarzenia.

Warunek przerwania
Wyświetl listę dostępnych zdarzeń, dla których należy ustawić punkty przerwania.

Typ liczby trafień
Określ, kiedy punkt przerwania ma obowiązywać.

Wartość Description
Zawsze Wykonanie jest zawsze zawieszone, gdy punkt przerwania zostanie osiągnięty.
Liczba trafień równa się Wykonanie zostaje zawieszone, gdy liczba wystąpień punktu przerwania jest równa licznikowi trafień.
Większy lub równy Wykonanie jest zawieszone, gdy liczba wystąpień punktu przerwania jest równa lub większa niż liczba trafień.
Wielokrotność liczby trafień Wykonanie jest zawieszone, gdy liczba trafień osiągnie wielokrotność określonej liczby. Jeśli na przykład ustawisz tę opcję na 5, wykonywanie jest zawieszone co piąty raz.

Liczba trafień
Określ liczbę trafień, przy której nastąpi przerwa. Opcja ta jest niedostępna, jeśli punkt przerwania jest zawsze aktywny.

Zobacz też

Narzędzia do rozwiązywania problemów z tworzeniem pakietów
Debugowanie skryptu przez ustawienie punktów przerwania w zadaniu skryptu i składniku skryptu