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