sp_mergecleanupmetadata (języka Transact-SQL)

Should be used only in replication topologies that include servers running versions of Microsoft SQL Server prior to SQL Server 2000 Service Pack 1.sp_mergecleanupmetadata allows administrators to clean up metadata in the MSmerge_genhistory, MSmerge_contents and MSmerge_tombstone system tables.Ta procedura składowana jest wykonywany na Wydawca na bazie publikacja.

Ikona łącza do tematuKonwencje składni Transact-SQL

Składnia

sp_mergecleanupmetadata [ [ @publication = ] 'publication' ]
    [ , [ @reinitialize_subscriber = ] 'reinitialize_subscriber' ]

Argumenty

  • [ @ publikacja = 'publication"
    Is the name of the publication.publication is sysname, with a default of %, which cleans up metadata for all publications.Publikacja musi już istnieć, jeśli zostały jawnie określone.

  • [ @ reinitialize_subscriber = 'subscriber"
    Specifies whether to reinitialize the Subscriber.subscriber is nvarchar(5), can be TRUE or FALSE, with a default of TRUE.Jeśli TRUE, subskrypcje są oznaczane do ponownego inicjowania.Jeśli FALSE, subskrypcje nie są oznaczane do ponownego inicjowania.

Wartości kodów powrotnych

0 (sukces) lub 1 (błąd)

Uwagi

sp_mergecleanupmetadata powinien być używany tylko w topologii replikacja, obejmujących serwery wersjami SQL Server przed SQL Server 2000 Service Pack 1.Topologie, które zawierają tylko SQL Server 2000 z dodatkiem Service Pack 1 lub nowszym należy użyć automatycznego przechowywania na podstawie metadane oczyszczania.Aby uzyskać więcej informacji na temat czyszczenie metadane, zobacz Jak działa replikacja scalania.Gdy to uruchomienie procedura składowana, należy pamiętać o niezbędne i potencjalnie duży wzrost pliku dziennika na komputerze, na którym jest uruchomiona procedura składowana.

PrzestrogaPrzestroga

Po sp_mergecleanupmetadata jest wykonywana domyślnie wszystkie subskrypcje w subskrybentów publikacjach zawierających metadane przechowywanych w MSmerge_genhistory, MSmerge_contents i MSmerge_tombstone są oznaczone dla ponownego zainicjowania, zostaną utracone wszystkie oczekujące zmiany przez subskrybenta i bieżącej migawka jest oznaczony jako przestarzały.

Ostrzeżenie

Jeśli istnieje wiele publikacja na bazie danych i używa dowolnego z tych publikacja nieskończone okres przechowywania publikacja (@ retencji=0), uruchomione sp_mergecleanupmetadata nie wyczyścić replikacja scalająca zmian metadane dla bazy danych.Z tego powodu należy używać ostrożnie retencji nieskończony publikacja.

Podczas wykonywania tej procedura składowana, można wybrać, czy ponownie zainicjować abonentów, ustawiając @ reinitialize_subscriber parametr TRUE (domyślnie) lub FALSE.Jeśli sp_mergecleanupmetadata jest wykonywana z @ reinitialize_subscriber parametr zestaw do TRUE, migawka jest ponownie przez subskrybenta, nawet jeśli subskrypcja został utworzony bez początkowego migawkę (na przykład, jeśli migawka danych i schematu zostały zastosowane ręcznie lub już istniał subskrybent).Ustawienie parametru FALSE powinien być używany z ostrożnością, ponieważ jeśli publikacja nie jest ustawienie ponownie inicjowane, musi zapewnić danych w Wydawca i zsynchronizowane subskrybenta.

Niezależnie od wartości @ reinitialize_subscriber, sp_mergecleanupmetadata kończy się niepowodzeniem, jeśli istnieją stałe scalić procesów, które próbujesz przesłać zmiany do wydawcy lub subskrybent republishing w czas została wywołana procedura przechowywana.

Wykonywanie sp_mergecleanupmetadata z @ reinitialize_subscriber = PRAWDA:

  1. Jest ona zalecane, ale nie wymagane, należy zatrzymać wszystkie aktualizacje do publikacja i subskrypcja baz danych.Aktualizacje nadal, wszelkie aktualizacje wprowadzone w subskrybenta od czasu ostatniego scalania są tracone ustawienie ponownie inicjowane publikacja, ale utrzymywane zbieżność danych.

  2. Wykonać scalanie, uruchamiając agenta korespondencji seryjnej.Firma Microsoft zaleca użycie –Validate agent opcja wiersza polecenia na każdy abonent podczas uruchamiania agenta scalania.Jeśli używasz seryjnej w trybie ciągłym, zobacz Uwagi specjalne dotyczące scala ciągły tryb dalej w tej sekcji.

  3. Po ukończeniu scala wszystkie wykonać sp_mergecleanupmetadata.

  4. Wykonanie sp_reinitmergepullsubscription na wszystkich subskrybentów za pomocą nazwanych lub anonimowych subskrypcja wciągana aby zapewnić zbieżność danych.

  5. Jeśli używasz seryjnej w trybie ciągłym, zobacz Uwagi specjalne dotyczące scala ciągły tryb dalej w tej sekcji.

  6. Generuj migawka pliki wszystkie scalone publikacje zaangażowane na wszystkich poziomach.Podczas próby scalania bez ponownego generowania migawka najpierw wyświetlony monit o Generuj migawka.

  7. Wykonywanie kopii zapasowej baza danych publikacja.Niewykonanie tego może spowodować awarię korespondencji seryjnej po przywracanie bazy danych publikacja.

Wykonywanie sp_mergecleanupmetadata z @ reinitialize_subscriber = FAŁSZ:

  1. Stop wszystkich aktualizacji baz danych publikacja i subskrypcja.

  2. Wykonać scalanie, uruchamiając agenta korespondencji seryjnej.Firma Microsoft zaleca użycie –Validate agent opcja wiersza polecenia na każdy abonent podczas uruchamiania agenta scalania.Jeśli używasz seryjnej w trybie ciągłym, zobacz Uwagi specjalne dotyczące scala ciągły tryb dalej w tej sekcji.

  3. Po ukończeniu scala wszystkie wykonać sp_mergecleanupmetadata.

  4. Jeśli używasz seryjnej w trybie ciągłym, zobacz Uwagi specjalne dotyczące scala ciągły tryb dalej w tej sekcji.

  5. Generuj migawka pliki wszystkie scalone publikacje zaangażowane na wszystkich poziomach.Podczas próby scalania bez ponownego generowania migawka najpierw wyświetlony monit o Generuj migawka.

  6. Wykonywanie kopii zapasowej baza danych publikacja.Niewykonanie tego może spowodować awarię korespondencji seryjnej po przywracanie bazy danych publikacja.

Uwagi specjalne dotyczące ciągły tryb scala

Jeśli używasz seryjnej w trybie ciągłym, należy albo:

  • Zatrzymaj agenta korespondencji seryjnej, a następnie wykonaj innej korespondencji seryjnej bez -ciągłego parametr.

  • Dezaktywowanie publikacja z sp_changemergepublication do zapewnienia, że nie seryjnej ciągły tryb, w których są sondowanie stanu publikacja.

    EXEC central..sp_changemergepublication @publication = 'dynpart_pubn', @property = 'status', @value = 'inactive'
    

Po wykonaniu kroku 3 działania sp_mergecleanupmetadata, wznowić scala ciągły tryb oparte na zatrzymanie jak.Albo:

  • Dodaj –Continuous parametr ponownie agenta scalania.

  • Ponowne uaktywnianie publikacja z sp_changemergepublication.

    EXEC central..sp_changemergepublication @publication = 'dynpart_pubn', @property = 'status', @value = 'active'
    

Uprawnienia

Tylko członkowie sysadmin stała rola serwera lub db_owner ustaloną rola bazy danych można wykonać sp_mergecleanupmetadata.

Aby użyć tej procedura składowana, musi być uruchomiony Wydawca SQL Server 2000.The Subscribers must be running either SQL Server 2000 or Microsoft SQL Server 7.0, Service Pack 2.