sp_mergemetadataretentioncleanup (Transact-SQL)sp_mergemetadataretentioncleanup (Transact-SQL)

Anwendungsbereich:Applies to: JaSQL ServerSQL Server (alle unterstützten Versionen) yesSQL ServerSQL Server (all supported versions) Anwendungsbereich:Applies to: JaSQL ServerSQL Server (alle unterstützten Versionen) yesSQL ServerSQL Server (all supported versions)

Führt eine manuelle Bereinigung der Metadaten in den Systemtabellen MSmerge_genhistory, MSmerge_contents, MSmerge_tombstone, MSmerge_past_partition_mappingsund MSmerge_current_partition_mappings durch.Performs a manual cleanup of metadata in the MSmerge_genhistory, MSmerge_contents, MSmerge_tombstone, MSmerge_past_partition_mappings, and MSmerge_current_partition_mappings system tables. Diese gespeicherte Prozedur wird auf jedem Verleger und Abonnenten in der Topologie durchgeführt.This stored procedure is executed at each Publisher and Subscriber in the topology.

Symbol für Themenlink Transact-SQL-SyntaxkonventionenTopic link icon Transact-SQL Syntax Conventions

SyntaxSyntax

  
sp_mergemetadataretentioncleanup [ [ @num_genhistory_rows = ] num_genhistory_rows OUTPUT ]  
    [ , [ @num_contents_rows = ] num_contents_rows OUTPUT ]   
    [ , [ @num_tombstone_rows = ] num_tombstone_rows OUTPUT ]   
    [ , [ @aggressive_cleanup_only = ] aggressive_cleanup_only ]  

ArgumenteArguments

[ @num_genhistory_rows = ] num_genhistory_rows OUTPUT Gibt die Anzahl der Zeilen zurück, die aus der MSmerge_genhistory Tabelle bereinigt wurden.[ @num_genhistory_rows = ] num_genhistory_rows OUTPUT Returns the number of rows cleaned-up from the MSmerge_genhistory table. num_genhistory_rows ist vom Datentyp intund hat den Standardwert 0.num_genhistory_rows is int, with a default of 0.

[ @num_contents_rows = ] num_contents_rows OUTPUT Gibt die Anzahl der Zeilen zurück, die aus der MSmerge_contents Tabelle bereinigt wurden.[ @num_contents_rows = ] num_contents_rows OUTPUT Returns the number of rows cleaned-up from the MSmerge_contents table. num_contents_rows ist vom Datentyp intund hat den Standardwert 0.num_contents_rows is int, with a default of 0.

[ @num_tombstone_rows = ] num_tombstone_rows OUTPUT Gibt die Anzahl der Zeilen zurück, die aus der MSmerge_tombstone Tabelle bereinigt wurden.[ @num_tombstone_rows = ] num_tombstone_rows OUTPUT Returns the number of rows cleaned-up from the MSmerge_tombstone table. num_tombstone_rows ist vom Datentyp intund hat den Standardwert 0.num_tombstone_rows is int, with a default of 0.

[ @aggressive_cleanup_only = ] aggressive_cleanup_only Nur interne Verwendung.[ @aggressive_cleanup_only = ] aggressive_cleanup_only Internal use only.

RückgabecodewerteReturn Code Values

0 (Erfolg) oder 1 (Fehler)0 (success) or 1 (failure)

HinweiseRemarks

Wichtig

Wenn mehrere Veröffentlichungen in einer Datenbank vorhanden sind und eine dieser Veröffentlichungen eine unbegrenzte Beibehaltungs Dauer für die Veröffentlichung verwendet, werden durch das Ausführen von sp_mergemetadataretentioncleanup die Metadaten der Änderungs Nachverfolgung für die Mergereplikation für die Datenbank nicht bereinigt.If there are multiple publications on a database, and any one of those publications uses an infinite publication retention period, running sp_mergemetadataretentioncleanup does not clean up the merge replication change tracking metadata for the database. Aus diesem Grund sollten Sie die unbegrenzte Aufbewahrungsdauer für Veröffentlichungen mit Vorsicht verwenden.For this reason, use infinite publication retention with caution. Führen Sie sp_helpmergepublication (Transact-SQL-) auf dem Verleger aus, und notieren Sie alle Veröffentlichungen im Resultset mit einem Wert von 0 für die Beibehaltung, um zu bestimmen, ob eine Veröffentlichung über eine unbegrenzte Beibehaltungs Dauer verfügt.To determine if a publication has an infinite retention period, execute sp_helpmergepublication (Transact-SQL) at the Publisher and note any publications in the result set with a value of 0 for retention.

BerechtigungenPermissions

Nur Mitglieder der Daten Bank Rolle db_owner oder Benutzer in der Veröffentlichungs Zugriffsliste für eine veröffentlichte Datenbank können sp_mergemetadataretentioncleanupausführen.Only members of the db_owner fixed database role or users in the publication access list for a published database can execute sp_mergemetadataretentioncleanup.

Weitere InformationenSee Also

Gespeicherte Systemprozeduren (Transact-SQL)System Stored Procedures (Transact-SQL)