Microsoft® SQL Server® 2012 Integration Services

Transkrypt

Microsoft® SQL Server® 2012 Integration Services
Wee-Hyong Tok
Rakesh Parida
Matt Masson
Xiaoning Ding
Kaarthik Sivashanmugam
Microsoft SQL Server 2012
Integration Services
®
Przekład: Marek Włodarz
APN Promise, Warszawa 2012
®
Spis treści
Przedmowa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
Wprowadzenie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv
O autorach. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xx
Część I: Przegląd
1Ogólna charakterystyka SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Typowe scenariusze wykorzystania SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Konsolidowanie danych z heterogenicznych źródeł . . . . . . . . . . . . . . . . . . . . . . . . . 4
Przenoszenie danych pomiędzy systemami. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Ładowanie danych do hurtowni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Czyszczenie, formatowanie lub standaryzowanie danych. . . . . . . . . . . . . . . . . . . . 18
Identyfikowanie, przechwytywanie i przetwarzanie zmian danych. . . . . . . . . . . . 19
Koordynowanie konserwowania, przetwarzania lub analizowania danych. . . . . 21
Ewolucja SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Instalowanie SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Funkcje SQL Server wymagane dla integrowania danych. . . . . . . . . . . . . . . . . . . . 26
Wydania SQL Server a funkcje Integration Services. . . . . . . . . . . . . . . . . . . . . . . . . 28
Podsumowanie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2Koncepcja SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Przepływ sterowania. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zadania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ograniczenia pierwszeństwa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zmienne i wyrażenia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Kontenery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Menedżery połączeń. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pakiety i projekty. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Parametry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dostawcy dzienników . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Obsługa zdarzeń . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Przepływ danych. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Adaptery źródłowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Adaptery docelowe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Transformacje. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Katalog SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
32
34
36
37
40
42
43
44
45
46
47
48
49
50
iii
iv
Spis treści
Wprowadzenie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Katalog. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Foldery. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Środowiska. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Odsyłacze. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Podsumowanie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
52
52
53
53
54
3Wykonywanie aktualizacji do wersji SSIS 2012. . . . . . . . . . . . . . . . . . . . . . . 55
Co nowego w SSIS 2012?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Uwarunkowania i planowanie aktualizacji. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zmiany funkcjonalności SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Uwarunkowania i narzędzia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wymagania dotyczące aktualizacji. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Scenariusze aktualizacji. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Nieobsługiwane scenariusze aktualizacji. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Weryfikacja aktualizacji. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aktualizacja Integration Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Upgrade Advisor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wykonywanie uaktualnienia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Rozwiązywanie problemów z aktualizacją i ręczne aktualizowanie pakietów. . .
Konwersja na projekty po aktualizacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Podsumowanie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
55
56
56
58
59
60
61
62
63
63
68
78
80
88
Część II: Projektowanie
4Nowe funkcje narzędzi projektowania SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . 91
Środowisko projektowania Integration Services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Visual Studio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Cofanie i powtarzanie zmian. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Okno Getting Started (Zaczynamy). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Przybornik. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Okno Variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Kontrolka powiększania (Zoom) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Automatyczny zapis i przywracanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Ikony statusu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Adnotacje. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Konfiguracja i wdrażanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Zmiany w narzędziu Solution Explorer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Zakładka Parameter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Konfiguracje Visual Studio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Kompilacja projektu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Deployment Wizard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Project Conversion Wizard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Spis treści
Import Project Wizard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Nowe zadania i komponenty przepływu danych. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Change Data Capture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zadanie Expression. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Transformacja DQS Cleansing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Źródła i miejsca docelowe ODBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Przepływ sterowania. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Uwidacznianie wyrażeń. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Menedżery połączeń. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zadanie Execute SQL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Przepływ danych. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Asystenci połączeń. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ulepszone mapowanie kolumn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Edytowanie komponentów, które znajdują się w stanie błędu . . . . . . . . . . . . . .
Grupowanie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Uproszczone podglądy danych. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Interfejsy użytkownika transformacji Row Count oraz Pivot . . . . . . . . . . . . . . . .
Zmiany w źródłach plikowych (Flat File) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Skryptowanie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Visual Studio Tools for Applications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Debugowanie komponentów skryptowych. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wsparcie dla .NET 4 Framework. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wyrażenia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Usunięcie limitu liczby znaków . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Nowe funkcje wyrażeń . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Podsumowanie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
103
104
104
106
108
108
108
108
109
109
110
110
111
113
113
113
114
115
117
117
118
120
120
120
121
122
5Projektowanie zespołowe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Ulepszenia wprowadzone w SQL Server 2012. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zmiany formatu pakietów. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Konfiguracje Visual Studio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Korzystanie z zarządzania kodem źródłowym w SSIS. . . . . . . . . . . . . . . . . . . . . . . . .
Łączenie się z Team Foundation Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dodawanie projektu SSIS do Team Foundation Server. . . . . . . . . . . . . . . . . . . . .
Zarządzanie zmianami. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zmiany w pliku projektu Visual Studio dla SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . .
Najlepsze praktyki. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Korzystanie z małych, prostych pakietów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Jeden pakiet – jeden projektant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Spójna konwencja nazewnicza. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Podsumowanie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
123
123
124
125
125
128
132
135
137
137
138
138
138
v
vi
Spis treści
6Tworzenie rozwiązania SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Porównanie modeli wdrażania SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Model wdrażania pakietów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Model wdrażania projektu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Budowanie projektu Integration Services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tworzenie projektu SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Projektowanie przepływu danych Integration Services. . . . . . . . . . . . . . . . . . . . .
Korzystanie z parametrów i kontenera ForEach. . . . . . . . . . . . . . . . . . . . . . . . . . .
Korzystanie z zadania Execute Package. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Kompilowanie i wdrażanie projektu Integration Services. . . . . . . . . . . . . . . . . . .
Podsumowanie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
139
139
141
144
144
152
156
160
162
163
7Połączenia SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Opcje połączeń we wcześniejszych wersjach SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dostawcy technik połączeniowych. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
OLE DB, ADO.NET oraz ODBC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Nowe opcje połączeń w SSIS 2012. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wprowadzenie do ODBC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Komponenty ODBC w SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ODBC Source. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ODBC Destination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Uwarunkowania połączeniowe SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Systemy 64-bitowe i SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Narzędzia SSIS dla architektury 64-bitowej. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Łączenie się z innymi źródłami i miejscami docelowymi . . . . . . . . . . . . . . . . . . . . . .
Połączenia z Microsoft Excel oraz Access. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Połączenia do baz danych Oracle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tworzenie niestandardowych komponentów. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Korzystanie z komponentów skryptowych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Podsumowanie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
165
166
167
170
170
172
173
178
181
181
183
187
187
190
193
195
197
8Korzystanie z Change Data Capture w SSIS 2012. . . . . . . . . . . . . . . . . . . . 199
CDC w SQL Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Stosowanie CDC w SQL Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Scenariusze wykorzystania CDC w procesach ETL . . . . . . . . . . . . . . . . . . . . . . . . .
Fazy CDC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Komponenty CDC w SSIS 2012. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Stan CDC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zadanie CDC Control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Komponent przepływu danych CDC Source. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Komponent CDC Splitter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CDC dla Oracle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
199
199
201
202
206
206
209
215
220
221
Spis treści
Wprowadzenie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Komponenty obsługujące CDC dla Oracle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CDC Service Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Oracle CDC Designer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Baza danych MSXDBCDC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Plik wykonywalny Oracle CDC Service (xdbcdcsvc.exe). . . . . . . . . . . . . . . . . . . . .
Obsługa typów plików. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Komponenty CDC w SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Podsumowanie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
222
223
223
226
237
240
243
245
245
9Czyszczenie i profilowanie danych przy użyciu SSIS . . . . . . . . . . . . . . . . . 247
Zadanie Data Profiling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Transformacja Fuzzy Lookup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Transformacja Fuzzy Grouping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Transformacja Data Quality Services Cleansing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Podsumowanie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
247
252
258
262
268
Część III: Konfiguracje, zarządzanie i monitorowanie
10 Konfiguracje w SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
Podstawy konfiguracji. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Jak konfiguracje są stosowane. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Co konfigurować? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Konfiguracje w SSIS 2012. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Parametry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tworzenie parametrów pakietu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tworzenie parametrów projektu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Programowe tworzenie parametrów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Korzystanie z parametrów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Konfigurowanie parametrów w katalogu SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Konfigurowanie, weryfikowanie i wykonywanie pakietów i projektów. . . . . . . .
Konfigurowanie wykonania przy użyciu SSMS. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Konfiguracje w SQL Server Agent, DTexec i T-SQL. . . . . . . . . . . . . . . . . . . . . . . . .
Środowiska SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Kolejność aplikowania parametrów. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Model wdrażania pakietów i kompatybilność wsteczna. . . . . . . . . . . . . . . . . . . . . . .
Model wdrażania pakietów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Najlepsze zalecenia dotyczące konfigurowania SSIS. . . . . . . . . . . . . . . . . . . . . . . . . .
Najlepsze zalecenia dla modelu wdrażania pakietów. . . . . . . . . . . . . . . . . . . . . .
Najlepsze zalecenia dla modelu wdrażania projektów . . . . . . . . . . . . . . . . . . . . .
Podsumowanie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
271
272
272
273
273
274
276
278
280
287
287
287
291
293
297
297
298
301
301
305
306
vii
viii
Spis treści
11 Wykonywanie pakietów SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
Uruchamianie pakietów SSIS przy użyciu narzędzia DTexec . . . . . . . . . . . . . . . . . . .
Lokalizacja pakietów. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Konfigurowanie wykonywania pakietów. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zrzuty pamięci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Opcje rejestrowania. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Uruchamianie pakietów z katalogu SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Przygotowywanie wykonania. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Rozpoczynanie wykonywania pakietu SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Przeglądanie przebiegu wykonywania. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wykonywanie pakietu za pośrednictwem T-SQL. . . . . . . . . . . . . . . . . . . . . . . . . .
Uruchamianie pakietów za pośrednictwem SQL Server Agent. . . . . . . . . . . . . . . . .
Tworzenie kroku zadania SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wykonanie pakietu wdrożonego w katalogu SSIS. . . . . . . . . . . . . . . . . . . . . . . . .
Uruchamianie pakietów za pośrednictwem PowerShell. . . . . . . . . . . . . . . . . . . . . . .
Programowe tworzenie i wykonywanie pakietów SSIS. . . . . . . . . . . . . . . . . . . . . . . .
Podsumowanie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
307
308
312
314
315
318
318
321
324
325
327
327
329
331
331
336
12 Magia T-SQL w SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
Przegląd procedur składowanych i widoków SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Katalog Integration Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Właściwości katalogu SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Odpytywanie właściwości katalogu SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ustawianie właściwości katalogu SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Projekty i pakiety SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wdrażanie projektu SSIS w katalogu SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Uzyskiwanie informacji o projektach wdrożonych w katalogu SSIS . . . . . . . . . .
Konfigurowanie projektów SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zarządzanie projektami w katalogu SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Uruchamianie pakietów wdrożonych w katalogu SSIS . . . . . . . . . . . . . . . . . . . . .
Środowiska SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tworzenie środowisk SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tworzenie zmiennych środowiskowych SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Konfigurowanie projektów SSIS przy użyciu środowisk. . . . . . . . . . . . . . . . . . . . .
Konfigurowanie projektów SSIS przy użyciu wartości odsyłaczy. . . . . . . . . . . . .
Wykonywanie pakietów z wykorzystaniem środowisk SSIS . . . . . . . . . . . . . . . . .
Zarządzanie środowiskami SSIS i zmiennymi środowiskowymi. . . . . . . . . . . . . .
Podsumowanie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
337
338
338
339
339
340
340
341
343
345
347
352
352
353
354
355
356
356
358
13 Magia PowerShell w SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
Czym jest PowerShell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
PowerShell i SQL Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
Spis treści
Zarządzanie SSIS przy użyciu PowerShell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Model zarządzania obiektowego SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PowerShell i model SSIS Management Object. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wykorzystanie T-SQL do zarządzania SSIS z poziomu PowerShell. . . . . . . . . . .
Zalety wykorzystania PowerShell do zarządzania SSIS. . . . . . . . . . . . . . . . . . . . . . . .
Podsumowanie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
363
363
364
369
370
371
14 Raporty SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
Wprowadzenie do raportów SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Przygotowywanie danych. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Monitorowanie wykonywania pakietów SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Integration Services Dashboard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Raport All Executions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Raporty All Validations i All Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wykorzystanie raportów SSIS do rozwiązywania problemów
z wykonaniami pakietów SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Korzystanie z raportu Execution Performance do identyfikowania
trendów wydajności. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Podsumowanie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
373
375
376
376
378
379
380
385
388
Część IV: Pogłębione informacje
15 Motor SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
Motor przepływu sterowania. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Przegląd. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ładowanie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aplikacja parametrów. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Weryfikacja. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wykonanie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Motor przepływu danych. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Przegląd. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sterowanie wykonaniem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Backpressure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dostrajanie motoru przepływu danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Podsumowanie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
391
391
392
394
394
396
404
405
409
417
421
423
16 Katalog SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
Pogłębione informacje na temat katalogu SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tworzenie katalogu SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Jednostki wdrożenia w katalogu SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Co znajdziemy wewnątrz bazy danych SSISDB?. . . . . . . . . . . . . . . . . . . . . . . . . . .
Rozruch instancji SQL Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Katalog SSIS i poziomy rejestrowania. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
425
425
426
427
430
432
ix
x
Spis treści
Cykl życiowy wykonywania pakietu SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zatrzymywanie wykonania pakietu SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Korzystanie z dziennika zdarzeń Application systemu Windows. . . . . . . . . . . . .
Konserwacja katalogu SSIS i zadania SQL Server Agent. . . . . . . . . . . . . . . . . . . . . . .
Wykonywanie kopii zapasowej i przywracanie katalogu SSIS. . . . . . . . . . . . . . . . . .
Tworzenie kopii zapasowej SSISDB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Przywracanie bazy danych SSISDB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Podsumowanie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
434
436
436
438
440
441
442
444
17 Zabezpieczenia SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
Ochrona pakietu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Kontrola dostępu do pakietu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Szyfrowanie pakietów. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wrażliwe zmienne i parametry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Podpisywanie pakietów. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zabezpieczenia katalogu SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Przegląd funkcji zabezpieczeń. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zarządzanie uprawnieniami. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wyzwalacz DDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wykorzystanie SQL Server Agent. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wymagania. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tworzenie poświadczeń. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tworzenie kont proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tworzenie zadania SQL Server Agent. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Podsumowanie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
445
445
449
450
452
453
453
457
465
465
466
466
468
470
472
18 Dzienniki SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
Konfigurowanie opcji rejestrowania. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wybieranie kontenerów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wybieranie zdarzeń. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dodawanie dostawców dziennika. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dostawcy dziennika. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pliki tekstowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SQL Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SQL Server Profiler. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dzienniki zdarzeń Windows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pliki XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Rejestrowanie w katalogu SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Poziomy rejestrowania. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dzienniki zdarzeń. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Informacje kontekstu zdarzenia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zaawansowane zagadnienia rejestrowania. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dostosowywanie pól wpisów dziennika. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
473
473
476
478
481
481
481
482
483
483
485
485
487
487
488
488
Spis treści
Rejestrowanie przy korzystaniu z narzędzia DTexec. . . . . . . . . . . . . . . . . . . . . . . . 489
Projektowanie niestandardowego dostawcy dziennika. . . . . . . . . . . . . . . . . . . . . 490
Podsumowanie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491
19 Automatyzacja SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493
Wprowadzenie do automatyzacji SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Programowe generowanie pakietów SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wykonywanie pakietów sterowane metadanymi. . . . . . . . . . . . . . . . . . . . . . . . . .
Dynamiczne generowanie pakietów. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Obsługa zdarzeń czasu projektowania. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Przykłady. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wykonanie oparte na metadanych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Niestandardowy program uruchamiający pakiet. . . . . . . . . . . . . . . . . . . . . . . . . .
Wykorzystanie PowerShell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Korzystanie z PowerShell wraz z SQL Server Agent. . . . . . . . . . . . . . . . . . . . . . . .
Alternatywne rozwiązania i przykłady. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Przykłady w witrynie Codeplex. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Rozwiązania innych firm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Podsumowanie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
493
493
494
495
496
498
507
509
513
516
519
519
520
522
Część V: Rozwiązywanie problemów
20 Rozwiązywanie problemów z awariami pakietów SSIS. . . . . . . . . . . . . . . 525
Wprowadzenie do rozwiązywania problemów. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525
Przygotowanie danych. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527
Nowe funkcje rozwiązywania problemów z wykonywaniem pakietów. . . . . . . . . . 528
Trzy kluczowe kroki podczas rozwiązywania problemów
z wykonywaniem pakietów SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530
Ścieżka wykonania. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
Znajdowanie początkowego źródła problemu. . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
Rozwiązywanie problemów związanych z wykonaniami pakietów podrzędnych. 538
Zdarzenia DiagnosticEx. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
Zadanie Execute Package i ścieżki wykonania. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
Rozwiązywanie problemów z wykonywaniem pakietów
za pośrednictwem SQL Server Agent. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
Identyfikowanie wykonań pakietów SSIS realizowanych przez
SQL Server Agent. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546
Korzystanie z tabel historii SQL Server Agent do identyfikowania
kroków zadań SSIS zakończonych niepowodzeniem. . . . . . . . . . . . . . . . . . . . . 547
Podsumowanie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
21 Najlepsze rozwiązania dotyczące wydajności SSIS. . . . . . . . . . . . . . . . . . . 549
Tworzenie strategii poprawy wydajności. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549
xi
xii
Spis treści
Technika OWAL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mierzenie sprawności przetwarzania SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mierzenie wydajności systemu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mierzenie wydajności zadań przepływu danych. . . . . . . . . . . . . . . . . . . . . . . . . . .
Projektowanie z myślą o wydajności . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Paralelizowanie projektu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Korzystanie z technik optymalizacyjnych SQL Server . . . . . . . . . . . . . . . . . . . . . .
Masowe ładowanie danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Utrzymywanie operacji SSIS w pamięci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Optymalizacja pamięci podręcznej wyszukiwania . . . . . . . . . . . . . . . . . . . . . . . . .
Optymalizowanie infrastruktury SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Podsumowanie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
550
552
552
556
562
562
567
569
572
573
577
580
22 Rozwiązywanie problemów dotyczących wydajności . . . . . . . . . . . . . . . . 581
Profilowanie wydajności. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Monitorowanie wydajności . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Przygotowanie danych. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Poznawanie wydajności pakietu SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Czas trwania wykonania pakietu SSIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Czas spędzony w każdym zadaniu wchodzącym w skład pakietu. . . . . . . . . . . .
Czasy trwania poszczególnych faz komponentu Data Flow. . . . . . . . . . . . . . . . .
581
582
583
584
584
585
586
Upływający czas dla faz komponentu Data Flow (czas aktywny
kontra czas całkowity) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Monitorowanie wydajności wykonywania pakietów SSIS. . . . . . . . . . . . . . . . . . . . . .
Liczniki wydajności dotyczące wykonania. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Interaktywna analiza danych wydajności. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Podsumowanie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
586
588
590
592
599
23 Rozwiązywanie problemów dotyczących danych. . . . . . . . . . . . . . . . . . . . 601
Rozwiązywanie problemów w środowisku projektowym. . . . . . . . . . . . . . . . . . . . . .
Zliczanie wierszy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Podgląd danych. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dane w wyjściu błędów. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pułapki i okna debugowania. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Rozwiązywanie problemów w środowisku produkcyjnym. . . . . . . . . . . . . . . . . . . . .
Dane statystyczne wykonania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Rozgałęźniki danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zrzuty błędów. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Podsumowanie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
601
601
603
605
606
606
606
609
614
616