Change Tracking Overview
SQL Server 2008 wprowadzenie zmian lekkie rozwiązanie, które zawiera do zmian efektywnego śledzenia mechanizm dla aplikacji.Zwykle aby umożliwić aplikacji kwerendy dotyczącej zmian danych w dostęp bazy danych i informacji o powiązanej zmiany, deweloperzy aplikacji było implementować niestandardowe mechanizmy zmian.Tworzenie tych mechanizmów zazwyczaj zaangażowany dużej ilości pracy i często związane przy użyciu kombinacji wyzwalacze, usługa timestamp kolumny, do nowych tabel do przechowywania informacji śledzenia i oczyszczania niestandardowych procesów.
Różne typy aplikacji charakteryzują się różnymi wymaganiami dotyczącymi ilości potrzebnych informacji o zmianach.Aplikacje mogą używać śledzenia odpowiedzi na następujące pytania o zmianach wprowadzonych do tabela użytkownika zmian:
Wiersze uległy zmianie w przypadku tabela użytkownika?
Tylko wymagana jest fakt, że wiersz został zmieniony, nie na liczbę razy, wiersz został zmieniony lub wartości każdej pośredniej zmian.
Dane można uzyskać bezpośrednio z tabela, która jest śledzona.
Wiersz zmienił?
- Fakt, że wiersz został zmieniony i informacji na temat zmiany muszą być dostępne i zarejestrowane w czasie, w którym dokonano zmian w tej samej transakcji.
Uwaga
Jeśli aplikacja wymaga informacji o wszystkich wprowadzonych zmian i pośrednie wartości w zmienionych danych, przy użyciu zmian przechwytywania danych, zamiast zmian, może być odpowiednie.Aby uzyskać więcej informacji zobacz Przechwytywanie i zmień śledzenia porównywania danych zmian i Change Data Capture.
One-Way i Two-Way aplikacji synchronizacji
Aplikacje, które mają do synchronizowania danych z wystąpienie SQL Server Database Engine musi być w stanie zbadać zmian. Śledzenie zmian może służyć jako podstawę dla obu aplikacji jednokierunkowych i dwukierunkowych synchronizacji.
Aplikacje one-Way synchronizacji
Synchronizacja jednokierunkowa aplikacje, takie jak klient lub mid-tier buforowania aplikacji, może być budowany używające śledzenia zmian.Jak pokazano na poniższej ilustracji, buforowania aplikacji wymaga, aby dane były przechowywane w Database Engine i być buforowane w innych magazynach danych. Aplikacja musi być w stanie zapewnić aktualność z uwzględnieniem wszystkich zmian wprowadzonych do tabel bazy danych w pamięci podręcznej.Nie zmian, aby przekazywać Database Engine.
Aplikacje two-Way synchronizacji
Również aplikacje synchronizacji dwukierunkowej może być budowany tego śledzenia zmian użycia.W tym scenariuszu dane w wystąpieniu Database Engine jest synchronizowany z jednego lub więcej magazynów danych. Można aktualizować dane w tych sklepach i zmiany muszą być synchronizowane z powrotem Database Engine.
Dobrym przykładem okna aplikacji dwukierunkowej synchronizacji jest aplikacją od czasu do czasu połączenia.Tego typu aplikacji Aplikacja kliencka wysyła kwerendę i aktualizuje magazynu lokalnego.Po udostępnieniu połączenia między klient a serwerem, aplikacja będzie synchronizacji z serwerem i przepływu danych w obu kierunkach.
Aplikacje synchronizacji dwukierunkowej musi być w stanie wykryć konflikt.Konflikt może wystąpić, jeśli tych samych danych została zmieniona w obydwu magazynach danych w czasie między synchronizacji.Dzięki możliwości wykrywać konfliktów aplikacja może upewnij się, że zmiany nie zostaną utracone.
Jak zmienić śledzenia programu Works
Aby skonfigurować śledzenie zmian, można użyć instrukcji DDL lub SQL Server Management Studio. Aby uzyskać więcej informacji zobaczConfiguring and Managing Change Tracking.Śledzenie zmian, śledzenie zmian najpierw musi być włączona dla bazy danych, a następnie włączyć do tabel, które mają być śledzone w tej bazie danych.Definicja tabela nie ma być zmienione w żaden sposób, a nie wyzwalacze są tworzone.
Po skonfigurowaniu śledzenia zmian w przypadku tabela żadnych instrukcja DML, która wpływa na wiersze w tabela nie spowoduje zmiany śledzenie informacji o poszczególnych zmodyfikowanych wierszy mają być rejestrowane.Dla wierszy, które uległy zmianie kwerendy i uzyskać informacje dotyczące zmian, można użyć Zmienianie funkcji śledzenia.
Wartości kolumna klucz podstawowy są tylko informacje z tabela śledzone, które są rejestrowane z informacjami o zmianach.Wartości te identyfikują wiersze, które zostały zmienione.Aby uzyskać najnowsze dane dla tych wierszy, aplikacji może być przyłączyć tabela źródłową z tabelą śledzone wartości kolumna klucz podstawowy.
Informacji na temat zmiany, która została stworzona do każdego wiersza można również uzyskać za pomocą śledzenia zmian.Na przykład typ operację DML, która spowodowała zmian (wstawienie, aktualizacja lub usunięcie) lub kolumny, które zostały zmienione w ramach operacji aktualizacji.