Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
SSIS Integration Runtime w ramach usługi Azure Data Factory
Zadanie przepływu danych hermetyzuje silnik przepływu danych, który przenosi dane między źródłami i miejscami docelowymi, i umożliwia użytkownikowi przekształcanie, czyszczenie i modyfikowanie danych podczas ich przenoszenia. Dodanie zadania przepływu danych do przepływu sterowania pakietem umożliwia pakietowi wyodrębnianie, przekształcanie i ładowanie danych.
Przepływ danych składa się z co najmniej jednego składnika przepływu danych, ale zazwyczaj jest to zestaw połączonych składników przepływu danych: źródła, które wyodrębniają dane; przekształcenia modyfikujące, trasujące lub sumujące dane; i miejsca docelowe ładujące dane.
Podczas wykonywania zadanie przepływu danych tworzy plan wykonania z przepływu danych, a silnik przepływu danych wykonuje plan. Można utworzyć zadanie przepływu danych, które nie ma przepływu danych, ale zadanie jest wykonywane tylko wtedy, gdy zawiera co najmniej jeden przepływ danych.
Aby zbiorczo wstawić dane z plików tekstowych do bazy danych programu SQL Server, możesz użyć zadania Wstawianie zbiorcze zamiast zadania przepływu danych i przepływu danych. Jednak zadanie Wstawianie zbiorcze nie może przekształcić danych. Aby uzyskać więcej informacji, zobacz Zadanie wstawiania zbiorczego.
Wiele przepływów
Zadanie przepływu danych może obejmować wiele przepływów danych. Jeśli zadanie kopiuje kilka zestawów danych, a kolejność kopiowania danych nie jest znacząca, może być wygodniejsza, aby uwzględnić wiele przepływów danych w zadaniu przepływu danych. Można na przykład utworzyć pięć przepływów danych, z których każda kopiuje dane z pliku prostego do innej tabeli wymiarów w schemacie gwiazdy magazynu danych.
Jednak aparat przepływu danych określa kolejność wykonywania, gdy istnieje wiele przepływów danych w ramach jednego zadania przepływu danych. W związku z tym, gdy kolejność jest ważna, pakiet powinien używać wielu zadań przepływu danych, z których każde zadanie zawiera jeden przepływ danych. Następnie można zastosować ograniczenia pierwszeństwa, aby kontrolować kolejność wykonywania zadań.
Na poniższym diagramie przedstawiono zadanie przepływu danych, które ma wiele przepływów danych.
Wpisy dziennika
Usługi Integration Services udostępniają zestaw zdarzeń dziennika, które są dostępne dla wszystkich zadań. Usługi Integration Services udostępniają również niestandardowe wpisy dziennika do wielu zadań. Więcej informacji znajdziesz w Integration Services (SSIS) Logging. Zadanie Przepływu danych zawiera następujące niestandardowe wpisy dziennika:
| Wpis dziennika | Description |
|---|---|
| DostosowywanieRozmiaruBufora | Wskazuje, że zadanie Przepływu danych zmieniło rozmiar buforu. Wpis dziennika opisuje przyczyny zmiany rozmiaru i wyświetla tymczasowy nowy rozmiar buforu. |
| OnPipelinePostEndOfRowset | Wskazuje, że składnik otrzymał sygnał końca zestawu wierszy, który jest ustawiany przez ostatnie wywołanie metody ProcessInput . Wpis jest zapisywany dla każdego składnika w przepływie danych, który przetwarza dane wejściowe. Wpis zawiera nazwę składnika. |
| OnPipelinePostPrimeOutput | Wskazuje, że składnik zakończył ostatnie wywołanie metody PrimeOutput . W zależności od przepływu danych można zapisać wiele wpisów dziennika. Jeśli składnik jest źródłem, ten wpis dziennika oznacza, że składnik zakończył przetwarzanie wierszy. |
| OnPipelinePreEndOfRowset | Wskazuje, że składnik ma otrzymać sygnał końca zestawu wierszy, który jest ustawiany przez ostatnie wywołanie metody ProcessInput . Wpis jest zapisywany dla każdego składnika w przepływie danych, który przetwarza dane wejściowe. Wpis zawiera nazwę składnika. |
| OnPipelinePrePrimeOutput | Wskazuje, że składnik ma odebrać wywołanie z metody PrimeOutput . W zależności od przepływu danych można zapisać wiele wpisów dziennika. |
| OnPipelineRowsSent | Zgłasza liczbę wierszy dostarczonych do danych wejściowych składnika przez wywołanie metody ProcessInput . Wpis dziennika zawiera nazwę składnika. |
| PipelineBufferLeak | Zawiera informacje o każdym składniku, który utrzymał bufory aktywne po zakończeniu działania menedżera buforów. Jeśli bufor jest nadal żywy, zasoby buforów nie zostały zwolnione i mogą powodować wycieki pamięci. Wpis dziennika zawiera nazwę składnika i identyfikator buforu. |
| PipelineComponentTime | Raportuje ilość czasu (w milisekundach), który składnik spędził w każdym z pięciu głównych kroków przetwarzania: Validate, PreExecute, PostExecute, ProcessInput i ProcessOutput. |
| PipelineExecutionPlan | Raportuje plan wykonania przepływu danych. Plan wykonywania zawiera informacje o tym, jak bufory będą wysyłane do składników. Te informacje w połączeniu z wpisem dziennika PipelineExecutionTrees opisują, co dzieje się w zadaniu przepływu danych. |
| PipelineExecutionTrees | Raportuje drzewa wykonawcze schematu w przepływie danych. Harmonogram aparatu przepływu danych używa drzew do utworzenia planu wykonania przepływu danych. |
| Inicjalizacja Pipeliny | Zawiera informacje o inicjowaniu zadania. Te informacje obejmują katalogi używane do tymczasowego przechowywania danych obiektów BLOB, domyślny rozmiar buforu i liczbę wierszy w buforze. W zależności od konfiguracji zadania przepływu danych można zapisać wiele wpisów dziennika. |
Te wpisy dziennika zawierają wiele informacji na temat wykonywania zadania przepływu danych za każdym razem, gdy uruchamiasz pakiet. Podczas wielokrotnego uruchamiania pakietów można przechwycić informacje, które w czasie zawierają ważne informacje historyczne dotyczące przetwarzania wykonywanego zadania, problemy, które mogą mieć wpływ na wydajność, oraz ilość danych, którą obsługuje zadanie.
Aby uzyskać więcej informacji na temat używania tych wpisów dziennika do monitorowania i zwiększania wydajności przepływu danych, zobacz jeden z następujących tematów:
Przykładowe komunikaty z zadania przepływu danych
W poniższej tabeli wymieniono przykładowe komunikaty dotyczące wpisów dziennika dla bardzo prostego pakietu. Pakiet używa źródła OLE DB do wyodrębniania danych z tabeli, transformacji Sortowanie do sortowania danych i docelowej lokalizacji OLE DB do zapisu danych w innej tabeli.
| Wpis dziennika | Messages |
|---|---|
| DostosowywanieRozmiaruBufora | Rows in buffer type 0 would cause a buffer size greater than the configured maximum. There will be only 9637 rows in buffers of this type.Rows in buffer type 2 would cause a buffer size greater than the configured maximum. There will be only 9497 rows in buffers of this type.Rows in buffer type 3 would cause a buffer size greater than the configured maximum. There will be only 9497 rows in buffers of this type. |
| OnPipelinePostEndOfRowset | A component will be given the end of rowset signal. : 1180 : Sort : 1181 : Sort InputA component will be given the end of rowset signal. : 1291 : OLE DB Destination : 1304 : OLE DB Destination Input |
| OnPipelinePostPrimeOutput | A component has returned from its PrimeOutput call. : 1180 : SortA component has returned from its PrimeOutput call. : 1 : OLE DB Source |
| OnPipelinePreEndOfRowset | A component has finished processing all of its rows. : 1180 : Sort : 1181 : Sort InputA component has finished processing all of its rows. : 1291 : OLE DB Destination : 1304 : OLE DB Destination Input |
| OnPipelinePrePrimeOutput | PrimeOutput will be called on a component. : 1180 : SortPrimeOutput will be called on a component. : 1 : OLE DB Source |
| OnPipelineRowsSent | Rows were provided to a data flow component as input. : : 1185 : OLE DB Source Output : 1180 : Sort : 1181 : Sort Input : 76Rows were provided to a data flow component as input. : : 1308 : Sort Output : 1291 : OLE DB Destination : 1304 : OLE DB Destination Input : 76 |
| PipelineComponentTime | The component "Calculate LineItemTotalCost" (3522) spent 356 milliseconds in ProcessInput.The component "Sum Quantity and LineItemTotalCost" (3619) spent 79 milliseconds in ProcessInput.The component "Calculate Average Cost" (3662) spent 16 milliseconds in ProcessInput.The component "Sort by ProductID" (3717) spent 125 milliseconds in ProcessInput.The component "Load Data" (3773) spent 0 milliseconds in ProcessInput.The component "Extract Data" (3869) spent 688 milliseconds in PrimeOutput filling buffers on output "OLE DB Source Output" (3879).The component "Sum Quantity and LineItemTotalCost" (3619) spent 141 milliseconds in PrimeOutput filling buffers on output "Aggregate Output 1" (3621).The component "Sort by ProductID" (3717) spent 16 milliseconds in PrimeOutput filling buffers on output "Sort Output" (3719). |
| PipelineExecutionPlan | SourceThread0Drives: 1Influences: 1180 1291Output Work ListCreatePrimeBuffer of type 1 for output ID 11.SetBufferListener: "WorkThread0" for input ID 1181CreatePrimeBuffer of type 3 for output ID 12.CallPrimeOutput on component "OLE DB Source" (1)End Output Work ListEnd SourceThread0WorkThread0Drives: 1180Influences: 1180 1291Input Work list, input ID 1181 (1 EORs Expected)CallProcessInput on input ID 1181 on component "Sort" (1180) for view type 2End Input Work list for input 1181Output Work ListCreatePrimeBuffer of type 4 for output ID 1182.SetBufferListener: "WorkThread1" for input ID 1304CallPrimeOutput on component "Sort" (1180)End Output Work ListEnd WorkThread0WorkThread1Drives: 1291Influences: 1291Input Work list, input ID 1304 (1 EORs Expected)CallProcessInput on input ID 1304 on component "OLE DB Destination" (1291) for view type 5End Input Work list for input 1304Output Work ListEnd Output Work ListEnd WorkThread1 |
| PipelineExecutionTrees | begin execution tree 0output "OLE DB Source Output" (11)input "Sort Input" (1181)end execution tree 0begin execution tree 1output "OLE DB Source Error Output" (12)end execution tree 1begin execution tree 2output "Sort Output" (1182)input "OLE DB Destination Input" (1304)output "OLE DB Destination Error Output" (1305)end execution tree 2 |
| Inicjalizacja Pipeline'u | No temporary BLOB data storage locations were provided. The buffer manager will consider the directories in the TEMP and TMP environment variables.The default buffer size is 10485760 bytes.Buffers will have 10000 rows by defaultThe data flow will not remove unused components because its RunInOptimizedMode property is set to false. |
Wiele zdarzeń dziennika zapisuje wiele wpisów, a komunikaty dla wielu wpisów dziennika zawierają złożone dane. Aby ułatwić zrozumienie i komunikowanie zawartości złożonych komunikatów, możesz przeanalizować tekst wiadomości. W zależności od lokalizacji dzienników można użyć instrukcji Transact-SQL lub składnika Script, aby oddzielić złożony tekst do kolumn lub innych formatów, które są bardziej przydatne.
Na przykład poniższa tabela zawiera komunikat "Rekordy zostały przekazane do składnika przepływu danych jako dane wejściowe". : : 1185: Dane wyjściowe źródła OLE DB: 1180: Sortuj: 1181: Sortuj dane wejściowe: 76", analizowane w kolumnach. Komunikat został napisany przez zdarzenie OnPipelineRowsSent, gdy wiersze zostały wysłane z OLE DB źródła do przekształcenia Sort.
| Kolumna | Description | Wartość |
|---|---|---|
| Identyfikator ścieżki | Wartość z właściwości ID ścieżki między źródłem OLE DB a przekształceniem Sortowanie. | 1185 |
| Nazwa_ścieżki | Wartość z właściwości Name ścieżki. | Dane wyjściowe źródła OLE DB |
| Componentid | Wartość właściwości ID przekształcenia Sort. | 1180 |
| Nazwa składnika | Wartość właściwości Name z przekształcenia Sort. | Sortuj |
| Identyfikator wejściowy | Wartość z właściwości ID wejściowych w transformacji Sortowanie. | 1181 |
| InputName | Wartość z właściwości Name danych wejściowych do transformacji Sortowanie. | Sortowanie danych wejściowych |
| Wiersze wysłane | Liczba wierszy wysłanych na wejście przekształcenia Sort. | 76 |
Konfiguracja zadania przepływu danych
Właściwości można ustawić w oknie Właściwości lub programowo.
Aby uzyskać więcej informacji na temat ustawiania tych właściwości w oknie Właściwości , kliknij następujący temat:
Programowa konfiguracja zadania przepływu danych
Aby uzyskać więcej informacji na temat programowego dodawania zadania przepływu danych do pakietu i ustawiania właściwości przepływu danych, kliknij następujący temat:
Powiązane zadania
Ustaw właściwości zadania lub kontenera
Powiązana zawartość
Wideo, zrównoważony dystrybuator danych, na technet.microsoft.com.