Udostępnij za pośrednictwem


Jak replikacji scalania zarządza wygaśnięcia subskrypcji i czyszczenie metadanych

Subskrypcja do publikacja seryjnej wygasa, jeśli nie został zsynchronizowany z Wydawca w okres przechowywania publikacja.Domyślny okres zachowywania wynosi 14 dni; jest zestaw za pomocą @ retencji i @ retention_period_unit parametry sp_addmergepublication (języka Transact-SQL).@ Retention_period_unit wymaga poziom zgodności publikacja do 90RTM lub nowszej.For Subscribers running previous versions of Microsoft SQL Server, @retention_period_unit is always set to 'day'.Aby uzyskać więcej informacji na temat poziom zgodności zobacz "Zgodność poziom dla scalone publikacje" w temacie W topologii replikacji przy użyciu wielu wersji programu SQL Server.

Gdy subskrypcja wygaśnie, to należy ponownie zainicjować, ponieważ metadane subskrypcji są usuwane (patrz sekcja "Czyszczenie metadanych" w tym temacie więcej informacji).Subskrypcje, które są nie ustawienie ponownie inicjowane są odrzucane przez zadanie oczyszczania subskrypcja wygasła, działającą Wydawca.Domyślnie, to zadanie będzie uruchamiane codziennie; Usuwa wszystkie wypychanie subskrypcje, które nie zostały zsynchronizowane dla dwukrotnie długość okresu przechowywania publikacja.Na przykład:

  • Jeśli publikacja ma okres zachowywania 14 dni, subskrypcja można wygasa, jeśli nie zostało zsynchronizowane w ciągu 14 dni.

    Jeśli Wydawca działa SQL Server 2005 lub nowszej wersja i agenta subskrypcji jest z SQL Server 2005 lub nowszej wersja, subskrypcja wygaśnie tylko jeśli zostały zmiany danych w subskrypcji tej partycji.Załóżmy, że abonent otrzymuje dane klienta tylko dla klientów z Niemiec.Jeśli okres zachowywania wynosi zestaw 14 dni subskrypcja wygaśnie w dniu 14 tylko, jeżeli dokonano zmian danych niemieckim klienta w ciągu ostatnich 14 dni.

  • Od 14 dni do 27 dni po ostatniej synchronizacji subskrypcja można należy ponownie zainicjować.

  • 28 Dni po ostatniej synchronizacji subskrypcji jest odrzucany przez zadanie oczyszczania subskrypcja wygasła.Jeśli subskrypcja wypychana wygaśnie, jest całkowicie usuwany, ale nie są subskrypcji ściąganej.Należy oczyścić ściągać subskrypcji przez subskrybenta.Aby uzyskać więcej informacji, zobacz Jak Usuwanie subskrypcji ściąganej (Programowanie replikacji Transact-SQL).

Zagadnienia dotyczące ustawiania okresu przetrzymania publikacji

Podczas ustawiania okresu przetrzymania publikacji korespondencji seryjnej, należy pamiętać o następujących:

  • Oczyszczanie metadane replikacja scalająca zależy od okres przechowywania publikacja:

    • Replikacji nie czyszczenie metadane w bazach danych publikacja i subskrypcja, aż do osiągnięcia okresu przetrzymania.Ponieważ go negatywnie wpływa na wydajność replikacja, należy zachować ostrożność, określając dużą wartość dla okresu przetrzymania.Zaleca się używać niższe ustawienie Jeśli wiarygodnie przewidzieć, że wszystkim subskrybentom będzie regularnie synchronizować w tym czas okresu.

    • Jest możliwe określenie subskrypcje nigdy nie wygasa (wartość 0 dla @ retencji), ale zaleca się nie należy używać tej wartości, ponieważ nie można oczyścić metadane.

  • Okres przechowywania wszelkich wydawca wtórny musi być zestaw na wartość równą lub mniejszą niż okres zachowywania zestaw oryginalnego wydawca.Jeśli używasz partnerów do synchronizacji alternatywny należy używać tej samej wartości retencji publikacja wydawców i wszystkich partnerów do synchronizacji alternatywny.Przy użyciu różnych wartości może doprowadzić do braku zbieżności.Jeśli trzeba zmienić wartość retencji publikacja, ponownie zainicjować abonenta, aby uniknąć braku zbieżności danych.

  • Jeżeli, po czystej, okres przechowywania publikacja jest zwiększona i subskrypcja próbuje scalić z Wydawca (które usunął już metadane), subskrypcja nie wygaśnie z powodu wartości retencji zwiększone.Jednak Wydawca nie ma wystarczającej ilości metadane pobrać zmiany do subskrybenta prowadzi do braku zbieżności.

Czyszczenie metadanych

Czyszczenie metadanych w replikacja scalająca jest wykonywane przez procedura składowana sp_mergemetadataretentioncleanup (języka Transact-SQL); na podstawie czasu oczyszczania okres przechowywania publikacja.Każdy czas scalania Agent działa dla subskrypcja, wywołuje procedurę oczyszczania.Procedura usuwa starsze niż okres zachowywania publikacja metadane z następujących tabele systemowe:

Tabele te są używane przez wszystkie publikacje w baza danych publikacja: w przypadku więcej niż jednej publikacja najdłuższy okres zachowywania jest zawsze używana do określenia usunięcie metadane.