Za pomocą korespondencji seryjnej w pakietach usług integracji
W SQL Server 2008 Integration Services (SSIS), instrukcję SQL w zadanie wykonanie instrukcja języka SQL mogą zawierać oświadczenie korespondencji seryjnej.Ta instrukcja korespondencji seryjnej umożliwia wykonywanie wielu operacji INSERT, UPDATE i DELETE w pojedynczej instrukcji.
Zwykle używana jest instrukcja scalania można zastosować zmiany, które wstawia, aktualizacji i usuwania z jednej tabela do drugiej tabela.Przed SQL Server 2008, wymagane tego procesu transformacja wyszukiwania i wielu przekształceń polecenia OLE DB.transformacja wyszukiwania wykonać wyszukiwanie wiersz po wierszu, aby ustalić, czy każdy wiersz został nowe lub zmienione.Przekształcenia polecenia OLE DB wykonać niezbędnych operacji INSERT, UPDATE i DELETE.W SQL Server 2008, pojedynczy seryjnej instrukcja można zastąpić transformacja wyszukiwania i odpowiadające im transformacja polecenia OLE DB.
Użycie instrukcja korespondencji seryjnej w pakiet, wykonaj następujące kroki:
Tworzenie zadania przepływu danych, który ładuje, transformacje i zapisuje źródło danych do tabela tymczasowej lub tymczasowej.
Należy utworzyć zadanie wykonanie instrukcja SQL, zawierającego instrukcję korespondencji seryjnej.
Połączyć zadania przepływu danych zadanie wykonanie instrukcja SQL i użyć danych w tabela tymczasowej jako dane wejściowe dla instrukcja korespondencji seryjnej.
Ostrzeżenie
Chociaż instrukcja korespondencji seryjnej wymaga zwykle tymczasowej tabela w tym scenariuszu, wydajność instrukcja seryjnej zwykle przekracza Wyszukaj wiersz po wierszu, wykonywane przez transformacja wyszukiwania.Korespondencji seryjnej jest również przydatne, gdy duży rozmiar tabeli odnośników byłoby test pamięci dostępnej do wyszukiwania transformacja do buforowania jego tabela referencyjna.
Reszta w tym temacie omówiono niektóre dodatkowe zastosowania instrukcja korespondencji seryjnej.Aby uzyskać więcej informacji i przykładów dotyczących operacji scalania Zobacz Wstawianie, aktualizowanie i usuwanie danych za pomocą korespondencji seryjnej.
Przykładowe obiekt docelowy składnika, który obsługuje użycie instrukcja seryjnej zobacz przykładowy Wspólnoty witrynie CodePlex scalania obiekt docelowy.
Za pomocą korespondencji seryjnej z obciążeniem przyrostowe
Zmień dane przechwytywania w nowe funkcje SQL Server 2008 ułatwia wykonywanie przyrostowej ładunków niezawodnie do magazyn danych.Jako alternatywę do przekształcenia sparametryzowana polecenia OLE DB wykonać przy użyciu polecenia INSERT i Update można użyć instrukcja scalania połączyć obie operacje.
Aby uzyskać więcej informacji, zobacz Stosowania zmian do miejsca docelowego.
Za pomocą korespondencji seryjnej w innych scenariuszach
W następujących scenariuszach można użyć instrukcja seryjnej zewnątrz lub wewnątrz Integration Services pakiet.Jednakże Integration Services pakiet często jest wymagany do ładowania danych z wielu źródeł heterogenicznych, a następnie połączyć i czyszczenia danych.Dlatego należy rozważyć przy użyciu instrukcja korespondencji seryjnej w pakiet dla wygody i łatwość konserwacji.
Śledzenia nawyków kupowanie
FactBuyingHabits tabela w magazynie danych śledzi ostatnio data , na którym odbiorca zakupił danego produktu.Tabela składa się z kolumny IDProduktu, IDKlienta i PurchaseDate.Generuje transakcyjnej bazy danych co tydzień PurchaseRecords tabela zawierającej zakupy dokonane podczas tego tygodnia.Celem jest wykorzystanie jednej instrukcja korespondencji seryjnej do scalania informacji w PurchaseRecords tabela do FactBuyingHabits tabela.Dla pary nabywcy produktu, które nie istnieją instrukcja seryjnej wstawia nowe wiersze.Dla par nabywcy produktu, które istnieją instrukcja seryjnej aktualizuje najnowsze data z zakupu.
Śledzenie historii cen
DimBook tabela reprezentuje listę książek w magazynie sprzedającego książki i identyfikuje historia cenę każdej książki.Ta tabela zawiera kolumny te: ISBN, IDProduktu, ceny, półki i IsCurrent.Ta tabela ma również jeden wiersz dla każdej ceny miał księgi.Jeden z tych wierszy zawiera aktualną cenę.Aby wskazać wiersz, który zawiera aktualną cenę, wartość kolumna IsCurrent dla tego wiersza jest zestaw 1.
Generuje bazy danych co tydzień WeeklyChanges tabela, który zawiera zmiany cen tygodnia i nowe księgi, które zostały dodane podczas tygodnia.Przy użyciu pojedynczej instrukcja korespondencji seryjnej, można zastosować zmiany w WeeklyChanges tabela do DimBook tabela.Instrukcja seryjnej wstawia nowe wiersze ksiąg nowo dodane i aktualizuje kolumna IsCurrent 0 dla wierszy istniejących ksiąg, których ceny zostały zmienione.Instrukcja korespondencji seryjnej powoduje także wstawienie nowych wierszy ksiąg, w których ceny uległy zmianie, a te nowe wiersze, ustawia wartości kolumna IsCurrent na 1.
Scalanie tabeli nowymi danymi przeciwko starej tabeli
Modele baz danych właściwość obiektu przy użyciu "Otwórz schemat,", czyli tabela zawiera pary nazwa wartość dla każdej właściwość. Properties tabela zawiera trzy kolumny: EntityID, Identyfikator_właściwości i wartość.A NewProperties tabela, która jest nowsza wersja tabela ma zostać zsynchronizowane z Properties tabela.Do synchronizowania tych dwóch tabel, można użyć pojedynczej instrukcja korespondencji seryjnej do wykonywania następujących czynności:
Usuwanie właściwości z Properties tabela, jeśli są nieobecni z NewProperties tabela.
Aktualizowanie wartości właściwości, które są w Properties nowe wartości znalezionych w tabela NewProperties tabela.
Wstaw nowe właściwości dla właściwości, które są w NewProperties tabela, ale nie można odnaleźć w Properties tabela.
To podejście jest przydatne w sytuacjach, przypominających scenariuszy replikacja, której celem jest przechowywanie danych w dwóch tabelach na dwóch serwerach zsynchronizowane.
Śledzenie zapasów
Inventory Baza danych zawiera ProductsInventory tabela, która ma IDProduktu i StockOnHand kolumny.A Shipments tabela z kolumnami IDProduktu, IDKlienta oraz ilości śledzi wysyłek produktów do klientów. ProductInventory Tabela ma być aktualizowane codziennie na podstawie informacji Shipments tabeli.Pojedynczy seryjnej instrukcja można zmniejszyć zapasy w ProductInventory Tabela oparta na przesyłkach wprowadzonych.Jeśli zapasy dla produktu została zmniejszona do 0, scalanie instrukcja można również usunąć tego wiersza produktu z ProductInventory tabela.
|