Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00363 010350 11217046 na godz. na dobę w sumie
Microsoft SQL Server 2012 Integration Services - ebook/pdf
Microsoft SQL Server 2012 Integration Services - ebook/pdf
Autor: Liczba stron:
Wydawca: Promise Język publikacji: polski
ISBN: 978-83-7541-270-3 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> bazy danych
Porównaj ceny (książka, ebook, audiobook).

Połącz w jedną całość dane pochodzące z różnych źródeł i usprawnij analizy biznesowe!
Buduj i zarządzaj rozwiązaniami integracji danych pod kierunkiem ekspertów z zespołu projektowego Microsoft SQL Server Integration Services (SSIS). Zobacz w działaniu najlepsze praktyki i pogłębione informacje o motorze SSIS, katalogu SSISDB czy funkcjach zabezpieczeń. Dzięki wykorzystaniu usprawnień projektanckich wprowadzonych w SQL Server 2012 i elastycznemu zestawowi narzędzi SSIS będziesz w stanie skutecznie poradzić sobie ze złożonymi scenariuszami integracji danych – i zdobyć umiejętności niezbędne do budowania wszechstronnych rozwiązań.
Dowiedz się jak:
• Wykorzystać usługi SSIS do ekstrakcji, transformowania i ładowania danych z różnych źródeł
• Stosować najlepsze praktyki optymalizacji konfiguracji oraz wdrożenia pakietów i projektów
• Zarządzać ustawieniami zabezpieczeń w katalogu SSIS i kontrolować dostęp do pakietów
• Korzystać z funkcji jakości danych do profilowania i czyszczenia danych oraz zwiększania niezawodności
• Monitorować i rozwiązywać problemy dotyczące projektów integracji danych oraz dostrajać je przy użyciu zaawansowanych narzędzi, takich jak szczegółowe widoki
•Przyrostowo ładować dane w celu utworzenia łatwego do obsłużenia strumienia aktywności wstawiania, aktualizacji i usuwania

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

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 ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Microsoft® SQL Server® 2012 Integration Services © 2012 APN PROMISE SA Authorized Polish translation of English edition of Microsoft® SQL Server® 2012 Integration Services, ISBN: 978-0-7356-6585-9 Copyright © 2012 by Wee-Hyong Tok, Rakesh Parida, Matt Masson, Xiaoning Ding, Kaarthik Sivashanmugam. This translation is published and sold by permission of O’Reilly Media, Inc., which owns or controls all rights to publish and sell the same. APN PROMISE SA, biuro: ul. Kryniczna 2, 03-934 Warszawa tel. +48 22 35 51 600, fax +48 22 35 51 699 e-mail: mspress@promise.pl Wszystkie prawa zastrzeżone. Żadna część niniejszej książki nie może być powielana ani rozpowszechniana w jakiejkolwiek formie i w jakikolwiek sposób (elektroniczny, mechaniczny), włącznie z fotokopiowaniem, nagrywaniem na taśmy lub przy użyciu innych systemów bez pisemnej zgody wydawcy. Książka ta przedstawia poglądy i opinie autorów. Przykłady firm, produktów, osób i wydarzeń opisane w niniejszej książce są fikcyjne i nie odnoszą się do żadnych konkretnych firm, produktów, osób i wydarzeń, chyba że zostanie jednoznacznie stwierdzone, że jest inaczej. Ewentualne podobieństwo do jakiejkolwiek rzeczywistej firmy, organizacji, produktu, nazwy domeny, adresu poczty elektronicznej, logo, osoby, miejsca lub zdarzenia jest przypadkowe i niezamierzone. Nazwa Microsoft oraz znaki towarowe wymienione na stronie http://www.microsoft.com/ about/legal/en/us/IntellectualProperty/Trademarks/EN-US.aspx są zastrzeżonymi znakami towarowymi grupy Microsoft. Wszystkie inne znaki towarowe są własnością ich odnośnych właścicieli. APN PROMISE SA dołożyła wszelkich starań, aby zapewnić najwyższą jakość tej publikacji. Jednakże nikomu nie udziela się rękojmi ani gwarancji. APN PROMISE SA nie jest w żadnym wypadku odpowiedzialna za jakiekolwiek szkody będące następstwem korzystania z informacji zawartych w niniejszej publikacji, nawet jeśli APN PROMISE została powiadomiona o możliwości wystąpienia szkód. ISBN: 978-83-7541-104-1 Przekład: Marek Włodarz Korekta: Ewa Swędrowska Skład i łamanie: MAWart Marek Włodarz ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Spis treści Przedmowa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xv O autorach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xx Część I: Przegląd 1 Ogó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 2 Koncepcja SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Przepływ sterowania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Zadania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Ograniczenia pierwszeństwa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Zmienne i wyrażenia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Kontenery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Menedżery połączeń . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Pakiety i projekty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Parametry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Dostawcy dzienników . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Obsługa zdarzeń . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Przepływ danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Adaptery źródłowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Adaptery docelowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Transformacje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Katalog SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== iii iv Spis treści Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Katalog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Foldery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Środowiska . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Odsyłacze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 3 Wykonywanie aktualizacji do wersji SSIS 2012 . . . . . . . . . . . . . . . . . . . . . . 55 Co nowego w SSIS 2012? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Uwarunkowania i planowanie aktualizacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Zmiany funkcjonalności SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Uwarunkowania i narzędzia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Wymagania dotyczące aktualizacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Scenariusze aktualizacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Nieobsługiwane scenariusze aktualizacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Weryfikacja aktualizacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Aktualizacja Integration Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Upgrade Advisor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Wykonywanie uaktualnienia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Rozwiązywanie problemów z aktualizacją i ręczne aktualizowanie pakietów . . 78 Konwersja na projekty po aktualizacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 Część II: Projektowanie 4 Nowe 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 ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Spis treści v Import Project Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Nowe zadania i komponenty przepływu danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Change Data Capture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Zadanie Expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Transformacja DQS Cleansing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Źródła i miejsca docelowe ODBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Przepływ sterowania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Uwidacznianie wyrażeń . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Menedżery połączeń . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Zadanie Execute SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Przepływ danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Asystenci połączeń . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Ulepszone mapowanie kolumn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Edytowanie komponentów, które znajdują się w stanie błędu . . . . . . . . . . . . . 113 Grupowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 Uproszczone podglądy danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 Interfejsy użytkownika transformacji Row Count oraz Pivot . . . . . . . . . . . . . . . 114 Zmiany w źródłach plikowych (Flat File) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 Skryptowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Visual Studio Tools for Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Debugowanie komponentów skryptowych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 Wsparcie dla .NET 4 Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 Wyrażenia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 Usunięcie limitu liczby znaków . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 Nowe funkcje wyrażeń . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 5 Projektowanie zespołowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Ulepszenia wprowadzone w SQL Server 2012 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Zmiany formatu pakietów. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Konfiguracje Visual Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Korzystanie z zarządzania kodem źródłowym w SSIS . . . . . . . . . . . . . . . . . . . . . . . . 125 Łączenie się z Team Foundation Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Dodawanie projektu SSIS do Team Foundation Server . . . . . . . . . . . . . . . . . . . . 128 Zarządzanie zmianami . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Zmiany w pliku projektu Visual Studio dla SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Najlepsze praktyki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 Korzystanie z małych, prostych pakietów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 Jeden pakiet – jeden projektant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 Spójna konwencja nazewnicza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== vi Spis treści 6 Tworzenie rozwiązania SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 Porównanie modeli wdrażania SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 Model wdrażania pakietów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 Model wdrażania projektu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 Budowanie projektu Integration Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 Tworzenie projektu SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 Projektowanie przepływu danych Integration Services . . . . . . . . . . . . . . . . . . . . 152 Korzystanie z parametrów i kontenera ForEach . . . . . . . . . . . . . . . . . . . . . . . . . . 156 Korzystanie z zadania Execute Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 Kompilowanie i wdrażanie projektu Integration Services . . . . . . . . . . . . . . . . . . 162 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 7 Połączenia SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 Opcje połączeń we wcześniejszych wersjach SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 Dostawcy technik połączeniowych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 OLE DB, ADO.NET oraz ODBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 Nowe opcje połączeń w SSIS 2012 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 Wprowadzenie do ODBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 Komponenty ODBC w SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 ODBC Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 ODBC Destination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 Uwarunkowania połączeniowe SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 Systemy 64-bitowe i SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 Narzędzia SSIS dla architektury 64-bitowej . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 Łączenie się z innymi źródłami i miejscami docelowymi . . . . . . . . . . . . . . . . . . . . . 187 Połączenia z Microsoft Excel oraz Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 Połączenia do baz danych Oracle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 Tworzenie niestandardowych komponentów . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 Korzystanie z komponentów skryptowych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 8 Korzystanie z Change Data Capture w SSIS 2012 . . . . . . . . . . . . . . . . . . . 199 CDC w SQL Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 Stosowanie CDC w SQL Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 Scenariusze wykorzystania CDC w procesach ETL . . . . . . . . . . . . . . . . . . . . . . . . 201 Fazy CDC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 Komponenty CDC w SSIS 2012 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 Stan CDC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 Zadanie CDC Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 Komponent przepływu danych CDC Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 Komponent CDC Splitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 CDC dla Oracle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Spis treści vii Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 Komponenty obsługujące CDC dla Oracle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 CDC Service Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 Oracle CDC Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 Baza danych MSXDBCDC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 Plik wykonywalny Oracle CDC Service (xdbcdcsvc.exe) . . . . . . . . . . . . . . . . . . . . 240 Obsługa typów plików . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 Komponenty CDC w SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 9 Czyszczenie i profilowanie danych przy użyciu SSIS . . . . . . . . . . . . . . . . 247 Zadanie Data Profiling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 Transformacja Fuzzy Lookup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 Transformacja Fuzzy Grouping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 Transformacja Data Quality Services Cleansing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 Część III: Konfiguracje, zarządzanie i monitorowanie 10 Konfiguracje w SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 Podstawy konfiguracji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 Jak konfiguracje są stosowane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 Co konfigurować? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 Konfiguracje w SSIS 2012 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 Parametry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 Tworzenie parametrów pakietu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 Tworzenie parametrów projektu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 Programowe tworzenie parametrów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 Korzystanie z parametrów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 Konfigurowanie parametrów w katalogu SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 Konfigurowanie, weryfikowanie i wykonywanie pakietów i projektów . . . . . . . 287 Konfigurowanie wykonania przy użyciu SSMS . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 Konfiguracje w SQL Server Agent, DTexec i T-SQL . . . . . . . . . . . . . . . . . . . . . . . . 291 Środowiska SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 Kolejność aplikowania parametrów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 Model wdrażania pakietów i kompatybilność wsteczna . . . . . . . . . . . . . . . . . . . . . . 297 Model wdrażania pakietów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 Najlepsze zalecenia dotyczące konfigurowania SSIS . . . . . . . . . . . . . . . . . . . . . . . . . 301 Najlepsze zalecenia dla modelu wdrażania pakietów . . . . . . . . . . . . . . . . . . . . . 301 Najlepsze zalecenia dla modelu wdrażania projektów . . . . . . . . . . . . . . . . . . . . 305 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== viii Spis treści 11 Wykonywanie pakietów SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 Uruchamianie pakietów SSIS przy użyciu narzędzia DTexec . . . . . . . . . . . . . . . . . . 307 Lokalizacja pakietów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 Konfigurowanie wykonywania pakietów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312 Zrzuty pamięci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 Opcje rejestrowania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 Uruchamianie pakietów z katalogu SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 Przygotowywanie wykonania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 Rozpoczynanie wykonywania pakietu SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 Przeglądanie przebiegu wykonywania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 Wykonywanie pakietu za pośrednictwem T-SQL . . . . . . . . . . . . . . . . . . . . . . . . . 325 Uruchamianie pakietów za pośrednictwem SQL Server Agent . . . . . . . . . . . . . . . . 327 Tworzenie kroku zadania SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 Wykonanie pakietu wdrożonego w katalogu SSIS . . . . . . . . . . . . . . . . . . . . . . . . 329 Uruchamianie pakietów za pośrednictwem PowerShell . . . . . . . . . . . . . . . . . . . . . . 331 Programowe tworzenie i wykonywanie pakietów SSIS . . . . . . . . . . . . . . . . . . . . . . . 331 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 12 Magia T-SQL w SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 Przegląd procedur składowanych i widoków SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 Katalog Integration Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 Właściwości katalogu SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 Odpytywanie właściwości katalogu SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 Ustawianie właściwości katalogu SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 Projekty i pakiety SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 Wdrażanie projektu SSIS w katalogu SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 Uzyskiwanie informacji o projektach wdrożonych w katalogu SSIS . . . . . . . . . 341 Konfigurowanie projektów SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 Zarządzanie projektami w katalogu SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 Uruchamianie pakietów wdrożonych w katalogu SSIS . . . . . . . . . . . . . . . . . . . . 347 Środowiska SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352 Tworzenie środowisk SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352 Tworzenie zmiennych środowiskowych SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353 Konfigurowanie projektów SSIS przy użyciu środowisk . . . . . . . . . . . . . . . . . . . . 354 Konfigurowanie projektów SSIS przy użyciu wartości odsyłaczy . . . . . . . . . . . . 355 Wykonywanie pakietów z wykorzystaniem środowisk SSIS . . . . . . . . . . . . . . . . 356 Zarządzanie środowiskami SSIS i zmiennymi środowiskowymi . . . . . . . . . . . . . 356 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358 13 Magia PowerShell w SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359 Czym jest PowerShell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359 PowerShell i SQL Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360 ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Spis treści ix Zarządzanie SSIS przy użyciu PowerShell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 Model zarządzania obiektowego SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 PowerShell i model SSIS Management Object . . . . . . . . . . . . . . . . . . . . . . . . . . . 364 Wykorzystanie T-SQL do zarządzania SSIS z poziomu PowerShell . . . . . . . . . . 369 Zalety wykorzystania PowerShell do zarządzania SSIS . . . . . . . . . . . . . . . . . . . . . . . 370 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 14 Raporty SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373 Wprowadzenie do raportów SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373 Przygotowywanie danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375 Monitorowanie wykonywania pakietów SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376 Integration Services Dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376 Raport All Executions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378 Raporty All Validations i All Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 Wykorzystanie raportów SSIS do rozwiązywania problemów z wykonaniami pakietów SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380 Korzystanie z raportu Execution Performance do identyfikowania trendów wydajności . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388 Część IV: Pogłębione informacje 15 Motor SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391 Motor przepływu sterowania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391 Przegląd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391 Ładowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392 Aplikacja parametrów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394 Weryfikacja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394 Wykonanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396 Motor przepływu danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404 Przegląd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405 Sterowanie wykonaniem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409 Backpressure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417 Dostrajanie motoru przepływu danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423 16 Katalog SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425 Pogłębione informacje na temat katalogu SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425 Tworzenie katalogu SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425 Jednostki wdrożenia w katalogu SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426 Co znajdziemy wewnątrz bazy danych SSISDB? . . . . . . . . . . . . . . . . . . . . . . . . . . 427 Rozruch instancji SQL Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430 Katalog SSIS i poziomy rejestrowania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432 ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== x Spis treści Cykl życiowy wykonywania pakietu SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434 Zatrzymywanie wykonania pakietu SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436 Korzystanie z dziennika zdarzeń Application systemu Windows . . . . . . . . . . . . 436 Konserwacja katalogu SSIS i zadania SQL Server Agent . . . . . . . . . . . . . . . . . . . . . . 438 Wykonywanie kopii zapasowej i przywracanie katalogu SSIS . . . . . . . . . . . . . . . . . 440 Tworzenie kopii zapasowej SSISDB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441 Przywracanie bazy danych SSISDB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444 17 Zabezpieczenia SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445 Ochrona pakietu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445 Kontrola dostępu do pakietu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445 Szyfrowanie pakietów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449 Wrażliwe zmienne i parametry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450 Podpisywanie pakietów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452 Zabezpieczenia katalogu SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453 Przegląd funkcji zabezpieczeń . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453 Zarządzanie uprawnieniami . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457 Wyzwalacz DDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 Wykorzystanie SQL Server Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 Wymagania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466 Tworzenie poświadczeń . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466 Tworzenie kont proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468 Tworzenie zadania SQL Server Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472 18 Dzienniki SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473 Konfigurowanie opcji rejestrowania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473 Wybieranie kontenerów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473 Wybieranie zdarzeń . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476 Dodawanie dostawców dziennika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478 Dostawcy dziennika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481 Pliki tekstowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481 SQL Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481 SQL Server Profiler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482 Dzienniki zdarzeń Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483 Pliki XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483 Rejestrowanie w katalogu SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485 Poziomy rejestrowania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485 Dzienniki zdarzeń . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487 Informacje kontekstu zdarzenia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487 Zaawansowane zagadnienia rejestrowania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488 Dostosowywanie pól wpisów dziennika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488 ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Spis treści xi Rejestrowanie przy korzystaniu z narzędzia DTexec . . . . . . . . . . . . . . . . . . . . . . . 489 Projektowanie niestandardowego dostawcy dziennika . . . . . . . . . . . . . . . . . . . . 490 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491 19 Automatyzacja SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493 Wprowadzenie do automatyzacji SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493 Programowe generowanie pakietów SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493 Wykonywanie pakietów sterowane metadanymi . . . . . . . . . . . . . . . . . . . . . . . . . 494 Dynamiczne generowanie pakietów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495 Obsługa zdarzeń czasu projektowania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496 Przykłady . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498 Wykonanie oparte na metadanych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507 Niestandardowy program uruchamiający pakiet . . . . . . . . . . . . . . . . . . . . . . . . . 509 Wykorzystanie PowerShell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513 Korzystanie z PowerShell wraz z SQL Server Agent . . . . . . . . . . . . . . . . . . . . . . . 516 Alternatywne rozwiązania i przykłady . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519 Przykłady w witrynie Codeplex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519 Rozwiązania innych firm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== xii Spis treści Technika OWAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550 Mierzenie sprawności przetwarzania SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552 Mierzenie wydajności systemu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552 Mierzenie wydajności zadań przepływu danych . . . . . . . . . . . . . . . . . . . . . . . . . . 556 Projektowanie z myślą o wydajności . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562 Paralelizowanie projektu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562 Korzystanie z technik optymalizacyjnych SQL Server . . . . . . . . . . . . . . . . . . . . . 567 Masowe ładowanie danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569 Utrzymywanie operacji SSIS w pamięci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572 Optymalizacja pamięci podręcznej wyszukiwania . . . . . . . . . . . . . . . . . . . . . . . . 573 Optymalizowanie infrastruktury SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580 22 Rozwiązywanie problemów dotyczących wydajności . . . . . . . . . . . . . . . 581 Profilowanie wydajności . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581 Monitorowanie wydajności . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582 Przygotowanie danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583 Poznawanie wydajności pakietu SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584 Czas trwania wykonania pakietu SSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584 Czas spędzony w każdym zadaniu wchodzącym w skład pakietu . . . . . . . . . . . 585 Czasy trwania poszczególnych faz komponentu Data Flow . . . . . . . . . . . . . . . . 586 Upływający czas dla faz komponentu Data Flow (czas aktywny kontra czas całkowity) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586 Monitorowanie wydajności wykonywania pakietów SSIS . . . . . . . . . . . . . . . . . . . . . 588 Liczniki wydajności dotyczące wykonania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 590 Interaktywna analiza danych wydajności . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599 23 Rozwiązywanie problemów dotyczących danych . . . . . . . . . . . . . . . . . . . 601 Rozwiązywanie problemów w środowisku projektowym . . . . . . . . . . . . . . . . . . . . . 601 Zliczanie wierszy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 601 Podgląd danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603 Dane w wyjściu błędów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605 Pułapki i okna debugowania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606 Rozwiązywanie problemów w środowisku produkcyjnym . . . . . . . . . . . . . . . . . . . . 606 Dane statystyczne wykonania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606 Rozgałęźniki danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609 Zrzuty błędów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616 ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Przedmowa W roku 1989, gdy wszyscy byliśmy dużo młodsi, miałem paskudną weeken- dową robotę: w tygodniu pracowałem jako programista w fi rmie Microrim Incorporated, twórcy R:Base – wówczas drugiej najpopularniejszej bazy danych dla komputerów osobistych na świecie. Zaś w sobotnie ranki siadałem zupełnie sam w naszym budynku w Redmond i odbudowywałym bazę danych obsługującą call cen- ter. Obejmowało to uzyskanie z księgowości ostatnich zarejestrowanych licencji, zak- tualizowanej listy pracowników z działu personalnego, arkuszy kalkulacyjnych z dzia- łu marketingu, które zawierały informacje o dostawcach oprogramowania, a przede wszystkim całą historię połączeń telefonicznych z dziennika centralki – i zbieranie tego wszystkiego razem. Oczywiście, w żadnym z tych systemów nie istniał spójny sche- mat formatowania ani przechowywania danych. Zajmowało to zwykle około sześciu godzin – o ile nie pomyliłem się w którymś kroku. Cały proces był „oskryptowany” na kartce papieru. Wówczas nie istniała jeszcze taka nazwa, ale w istocie tworzyłem hurtownię danych. Każdy, kto kiedykolwiek wykonywał taką pracę, słyszał to wielokrotnie: uzyskanie właściwych danych we właściwym kształcie i miejscu, a do tego na czas, to 80 procent wysiłku wkładanego w każdy projekt oparty na danych. Integrowanie danych to sta- cja pomp w podziemiach, dzięki której piękna fontanna płynie bez zakłóceń. Zwykle to fontanna przyciąga całą uwagę, ale my w zespole SSIS w fi rmie Microsoft jesteśmy dumni z tych pomp, które budujemy. Autorzy tej książki stanowią rdzeń tego zespołu. Tak długo, jak go znam, Kaarthik zawsze był żarliwym wyznawcą prostej prawdy: możemy ocenić jakość produktu tyl- ko wtedy, gdy najpierw zrozumiemy dokładnie klientów, którzy go używają. Jako pierwszy pracownik zespołu pochodzący z Chin, Xiaoning przetarł szlak. Jest jednym z tych cichych geniuszy, którzy sprawiają, że wszyscy inni milkną, gdy zabierają głos, bo zawsze mają coś bardzo ważnego do powiedzenia. Jedną z moich najlepszych decy- zji było nie zgodzenie się z radą mojego menedżera co do zatrudnienia Matta. Widzi- cie, on niezbyt pasuje do naszego modelu działania. Tak, potrafi ł napisać doskonały kod, ale było coś, co nie pasowało do naszych oczekiwań. Ciągle wracał do potrze- by zbudowania pełnego rozwiązania dla problemów biznesowych; wręcz nie potrafi ł przestać mówić o tym! No i ostatecznie – doprowadziliśmy do tego, że to działa. Nie mówcie Wee Hyongowi, że to powiedziałem, ale najprawdopodobniej ma zbyt wysokie kwalifi kacje do tej pracy. Jego przygotowanie jako wykładowcy na uczelni i historia dokonań jako SQL MVP czyniły go doskonałym kandydatem na jedną z publicznych ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== xiii xiv Przedmowa twarzy zespołu SSIS. I na koniec Rakesh. Pod koniec pierwszego tygodnia pracy u nas postanowił zorganizować spotkanie dla naszych klientów podczas targów, które miały odbyć się w niedługim czasie. Wymusił na kolegach udział w tym wydarzeniu, znalazł pokój w centrum kongresowym i wysłał zaproszenia do naszych klientów. Wszystko w ciągu kilku dni. Przygotowywanie wydania 2012 SSIS rozpoczęliśmy od wysłuchania oczekiwań tych klientów. Ich priorytety były jasne: sprawić, aby produkt był łatwiejszy w użyciu i prostszy do zarządzania. Może wydawać się to prostym celem, ale w trakcie lektury tej książki zaskoczyło mnie, jak wiele z tych celów udało się osiągnąć i jak bardzo zdołaliśmy ulepszyć i tak dobry produkt. Dla nowicjuszy w dziedzinie SSIS książka ta będzie dobrym punktem wyjścia przy rozwiązywaniu prawdziwych problemów, zaś weterani znajdą tu nowe spojrzenie na dobrze znane fakty. Gdy poproszono mnie o napisanie tej przedmowy, pakowałem się przed wyjazdem w swoim biurze w budynku 34 w Redmond, One Microsoft Way. Przez okno mogłem zobaczyć budynek 21 po drugiej stronie ulicy. Dwadzieścia pięć lat temu budynek ten mieścił światową centralę Microrim Incorporated. Przypomniałem sobie tego samot- nego chłopaka w sobotnie poranki. Świat jest mały. Jeff Bernhardt Group Program Manager, SQL Server Data Movement Szanghaj, Chiny ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Wprowadzenie Microsoft SQL Server Integration Services to korporacyjna platforma dla projekto- wania i realizacji rozwiązań integrowania danych. Zapewnia możliwości wydo- bywania i ładowania danych z heterogenicznych źródeł i kierowania ich do rozma- itych miejsc docelowych. Dodatkowo zapewnia możliwości ułatwiające wdrażanie, zarządzanie i konfi gurowanie tych rozwiązań. Jeśli ktoś jest programistą rozwiązań integracyjnych lub administratorem bazy danych potrzebującym takiego rozwiązania, SQL Server Integration Services jest właściwym narzędziem, którego powinien użyć. Książka Microsoft SQL Server 2012 Integration Services przedstawia ogólny przegląd funkcjonalności Microsoft SQL Server Integration Services, ze szczególnym uwzględ- nieniem nowych możliwości wprowadzonych w wydaniu SQL Server 2012. Liczne przykłady koncentrują się na konkretnych zagadnieniach, ale przedstawione są rów- nież zasady funkcjonowania wewnętrznego mechanizmu. Choć książka nie zawiera wyczerpującego omówienia wszystkich funkcji Integration Services, jest dobrym prze- wodnikiem po wykorzystywaniu kluczowych możliwości tego systemu. Poza właściwym tekstem, do każdego rozdziału dołączone są przykładowe projekty i procedury, które Czytelnik powinien przeanalizować samodzielnie. Kto powinien przeczytać tę książkę Książka ta nie jest przeznaczona dla początkujących, ale jeśli Czytelnik wykroczył już poza podstawy, lektura pomoże mu w tworzeniu prawdziwie działających rozwiązań SQL Server Integration Services! Znajdzie tu setki oszczędzających czas rozwiązań, wskazówek i podpowiedzi, a także: ■ Pogłębione informacje o nowych możliwościach Integration Services wprowadzo- nych w SQL Server 2012. ■ Wskazówki i wzorce implementacji rozwiązań Integration Services. ■ Techniki rozwiązywania problemów wydajnościowych. ■ Omówienie metod diagnozowania problemów i stosowania zaawansowanych funkcji debugowania. ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== xv xvi Wprowadzenie Założenia Autorzy książki oczekują, że Czytelnik dysponuje przynajmniej podstawową wiedzą na temat działania Microsoft SQL Server Integration Services oraz co najmniej dobrą znajomością koncepcji relacyjnych baz danych i platformy SQL Server. Książka zawie- ra przykłady kodu napisane w językach Transact-SQL, C# oraz PowerShell. Osoby, które nie znają przynajmniej podstaw tych języków, powinny rozważyć rozpoczęcie od lektury takich książek, jak Microsoft Visual C# 2010 Step by Step autorstwa Johna Sharpa (Microsoft Press, 2010)* lub doskonały podręcznik Itzika Ben-Gana Microsoft SQL Server 2012 T-SQL Fundamentals (Microsoft Press, 2012)**. Książki tej nie należy traktować jako podręcznika tworzenia rozwiązań integra- cyjnych. Autorzy koncentrują się na zaawansowanych, szczegółowych zagadnieniach i zakładają, że Czytelnik potrafi już zbudować i uruchomić pakiety SSIS. Kto nie powinien czytać tej książki Książka ta nie zawiera omówienia podstaw SQL Server ani innych powiązanych tech- nologii, takich jak Analysis Services, Reporting Services, Master Data Services czy Data Quality Services. Organizacja książka Książka została podzielona na pięć części, z których każda koncentruje się na innym aspekcie Microsoft SQL Server Integration Services. Część I, „Przegląd”, zawiera krót- kie omówienia koncepcji Integration Services oraz uwarunkowań dotyczących aktuali- zacji do wersji Microsoft SQL Server 2012. Część II, „Projektowanie”, prezentuje nowe narzędzia projektowania Integration Services i ich zastosowanie w tworzeniu rozwią- zań integracji danych. Dodatkowo w tej części przedstawiona została nowa funkcjonal- ność przechwytywania zmian danych (Change Data Capture) oraz funkcje czyszczenia danych. Część III, „Konfi guracje, zarządzanie i monitorowanie”, pokazuje techniki konfi gurowania projektów i pakietów, a także sposoby wykorzystania Transact-SQL i PowerShell do programowego zarządzania Integration Services. Dodatkowo zostały w niej przedstawione wbudowane raporty. Zaawansowane koncepcje i wewnętrzne mechanizmy Integration Services stanowią tematykę części IV, „Pogłębione informa- cje”. Końcowa część V, „Rozwiązywanie problemów” koncentruje się na zagadnieniach monitorowania i rozwiązywania problemów, takich jak niepowodzenia wykonania pakietów, wykrywanie wąskich gardeł lub problemy dotyczące danych. * Wydanie polskie: Microsoft Visual C# 2010 Krok po kroku, APN Promise, Warszawa 2010, ISBN 978-83-7541-066-2. ** Wydanie polskie: Microsoft SQL Server 2012: Podstawy języka T-SQL, APN Promise, Warszawa 2012, ISBN: 978-83-7541-101-0. ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Wprowadzenie xvii Znalezienie najlepszego punktu startowego Poszczególne części książki Microsoft SQL Server 2012 Integration Services obejmują szeroki zakres zagadnień. Zależnie od potrzeb i dotychczasowej wiedzy na temat róż- nych możliwości oferowanych przez SQL Server Integration Services Czytelnik może skupić się na wybranych partiach książki. Poniższa tabela może pomóc w wybraniu właściwego miejsca, od którego należy rozpocząć lekturę. Jeśli jesteś Nowicjuszem w dziedzinie SQL Server Integration Services Znasz wcześniejsze wydania SQL Server Integration Services Zainteresowany wykorzystaniem Transact- -SQL lub PowerShell do programowej obsługi SQL Server Integration Services Zainteresowany funkcjami monitorowania i rozwiązywania problemów w SQL Server Integration Services Zacznij tu Zacznij od Części I i II, a następnie przejdź do rozdziałów 10 i 11 w Części III, albo czytaj całą książkę po kolei. Możesz pominąć Część I, chyba że potrzebujesz odświe- żenia podstawowych informacji. Przeczytaj o nowych rozwiązaniach w Części II, III, i V, nie pomijając rozdziału 17 w Części IV. Tematykę taką przedstawiają rozdziały 12 i 13 w Części III. Przeczytaj rozdziały wchodzące w skład Części V. Większość rozdziałów zawiera praktyczne przykłady, które Czytelnik powinien wyko- nać, aby wypróbować właśnie poznane koncepcji. Bez względu na to, na których rozdziałach zamierza się skupić, zawsze warto pobrać i zainstalować przykładowe aplikacje w swoim systemie. Konwencje używane w tej książce W książce zastosowano kilka konwencji wydawniczych, które powinny ułatwić prze- kaz informacji. ■ Nazwy elementów strukturalnych rozwiązań SSIS (takich jak zadania lub konte- nery) pisane są kursywą. ■ Dane wpisywane przez użytkownika w przykładach są wyróżniane czcionką pogrubioną. ■ Nazwy poleceń, okien dialogowych i innych elementów interfejsu użytkownika są wyróżnione czcionką jednoelementową. Fragmenty kodu (listingi) złożone zostały czcionką stałopozycyjną. Ramki oznaczone ikonami i tytułami, takimi jak „Uwaga”, zawierają dodatkowe informacje lub alternatywne techniki osiągania celów. ■ ■ ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== xviii Wprowadzenie Wymagania systemowe Wykonanie ćwiczeń praktycznych opisanych w książce wymaga następującego sprzętu i oprogramowania: ■ SQL Server 2012 Standard Edition lub wyższe wydanie wraz z SQL Server Management Studio 2012. Wymaga to następującego środowiska: ❐ Komputera wyposażonego w procesor o częstotliwości taktowania 1.4 GHz lub ❐ ❐ ❐ szybszy i pamięć 1 GB (zalecane 2 GHz i 4 GB RAM lub więcej); System operacyjny Windows Server 2008 lub późniejszy albo Windows Vista Business lub późniejszy; .NET 3.5 Service Pack 1; Bardziej szczegółowe wymagania systemowe dla SQL Server 2012 zawiera dokument http://msdn.microsoft.com/en-us/library/ms143506.aspx. ■ Połączenie z Internetem w celu pobrania przykładowych plików. Instalacja i konfi gurowanie produktów wchodzących w skład pakietu SQL Server 2012 wymaga lokalnych praw administracyjnych na używanym komputerze. Przykłady kodu Wszystkie przykładowe projekty w postaci przed i po wykonaniu ćwiczeń można pobrać ze strony internetowej stowarzyszonej z książką pod następującym adresem: http://go.microsoft.com/FWLink/?Linkid=258311 Po pobraniu pliku .zip należy rozpakować go do wybranej lokalizacji na dysku twar- dym. W przykładach przedstawionych w książce zakłada się, że lokalizacją tą jest C:\Insideout\. W razie wybrania innej lokalizacji konieczne będzie zmodyfi kowanie niektórych parametrów w przykładach. UWAGA Oprócz przykładów kodu na komputerze musi być zainstalowane oprogramo- wanie SQL Server 2012 wraz z usługami Integration Services oraz narzędzia SQL Server Management Studio. Większość przykładów opiera się na przykładowej bazie danych AdventureWorks2012. Bazę tę można pobrać z witryny Codeplex pod następującym adresem: http://msftdbprodsamples.codeplex.com/releases/view/55330 ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Wprowadzenie xix Podziękowania Autorzy chcieliby podziękować wszystkim profesjonalistom SQL Server, którzy współ- pracowali z zespołem Integration Services przez ostatnie lata, aby doprowadzić pro- dukt do obecnej postaci, a także innym członkom zespołu SQL Server Integration Services za ich pomoc i współpracę podczas tworzenia książki. W szczególności chce- my podziękować Jeffowi Bernhardtowi za napisanie przedmowy oraz zespołowi redak- cyjnemu w Microsoft Press i O’Reilly. Errata i pomoc dotycząca książki Dołożyliśmy wszelkich starań, aby zagwarantować poprawność tej książki i towarzy- szącej treści. Błędy zauważone po publikacji zostaną skorygowane na stronie Microsoft Press w witrynie oreilly.com: http://go.microsoft.com/FWlink/?Linkid=258310 ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== CZĘŚĆ I Przegląd 1 Ogólna charakterystyka SSIS 3 2 Koncepcja SSIS 31 3 Wykonywanie aktualizacji do wersji SSIS 2012 55 ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== ROZDZIAŁ 1 Ogólna charakterystyka SSIS Przedsiębiorstwa polegają na integracji danych, aby móc przekształcić je w wartoś- ciowe spostrzeżenia i właściwe decyzje. Integracja danych na poziomie przedsię- biorstwa jest złożonym problemem ze względu na heterogeniczność źródeł danych i ich formatów, nieustannie powiększające się zbiory danych, a często także z powodu ich kiepskiej jakości. Dane są zazwyczaj przechowywane w odrębnych systemach, przez co występują różnice w ich formatach lub schematach organizacyjnych, które trzeba rozwiązywać. Stale malejące koszty magazynowania prowadzą do wydłużenia czasu przechowywania danych i towarzyszącego temu wzrostowi rozmiarów zbiorów infor- macji, które trzeba przetwarzać. To z kolei prowadzi do ciągłego zwiększania się popytu na skalowalne rozwiązania integracji danych o wysokiej wydajności, dzięki którym organizacje mogą na czas uzyskiwać wnioski wynikające ze zgromadzonych danych. Zróżnicowanie danych i ich niespójne duplikowanie powoduje problemy dotyczące jakości, które mogą wpływać na precyzję i dokładność spostrzeżeń analitycznych, a tym samym na jakość i wartość wynikających z nich decyzji. Projekty integrowania danych muszą radzić sobie z tymi wyzwaniami i efektywnie wykorzystywać dane z naj- rozmaitszych źródeł (takich jak bazy danych, arkusze kalkulacyjne, pliki tekstowe itp.), co pociąga za sobą potrzebę czyszczenia, korelowania, transformowania i przenoszenia danych źródłowych do systemów docelowych. Proces ten jest jeszcze bardziej złożony ze względu na fakt, że funkcjonowanie wielu organizacji jest zależne od ciągłej dostęp- ności ich magazynów danych; z tego powodu integrowanie danych musi odbywać się często, zaś operacje te muszą być kończone tak szybko, jak to możliwe. Technologia Microsoft SQL Server Integration Services (SSIS) stanowi odpowiedź na te wyzwania, zapewniając platformę do budowania i zarządzania rozwiązaniami integracji danych. Elastyczna, rozszerzalna i skalowalna platforma wysokiej wydaj- ności oraz zestaw narzędzi zawartych w SSIS zaspokaja potrzeby przedsiębiorstw w zakresie tradycyjnych procesów ekstrakcji, transformowania i ładowania danych (Extract-Transform-Load – ETL), a także inne potrzeby integrowania danych. SSIS jest funkcjonalnością oprogramowania Microsoft SQL Server, która zapewnia płynne współdziałanie z innymi funkcjami wbudowanymi zarówno w SQL Server, jak i inne produkty fi rmy Microsoft. Typowe scenariusze integracji danych, które można zreali- zować przy użyciu SSIS, obejmują: ■ Konsolidowanie danych z heterogenicznych źródeł Przenoszenie danych pomiędzy różnymi systemami ■ ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== 3 4 Rozdział 1: Ogólna charakterystyka SSIS ■ Ładowanie danych do hurtowni danych ■ Czyszczenie, formatowanie lub standaryzowanie danych ■ Identyfi kowanie, przechwytywanie i przetwarzanie zmian w danych ■ Koordynowanie konserwacji, przetwarzania lub analizowania danych Niektóre scenariusze przetwarzania danych wymagają wyspecjalizowanych technik. SSIS nie jest odpowiednią platformą dla następujących typów przetwarzania danych: ■ Przetwarzanie złożonych reguł biznesowych względem danych ■ Koordynowanie, uzyskiwanie i przetwarzanie danych w procesach wewnątrzbiznesowych Przetwarzanie komunikatów o zdarzeniach w czasie rzeczywistym ■
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Microsoft SQL Server 2012 Integration Services
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: