Partilhar via


sp_mergemetadataretentioncleanup (Transact-SQL)

Aplica-se: SQL Server

Executa uma limpeza manual de metadados nas tabelas do sistema MSmerge_genhistory, MSmerge_contents, MSmerge_tombstone, MSmerge_past_partition_mappings e MSmerge_current_partition_mappings . Esse procedimento armazenado é executado em cada Publicador e Assinante na topologia.

Convenções de sintaxe de Transact-SQL

Sintaxe

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 ]
[ ; ]

Argumentos

@num_genhistory_rows [ = ] num_genhistory_rows SAÍDA

Retorna o número de linhas limpas da tabela MSmerge_genhistory . @num_genhistory_rows é um parâmetro OUTPUT do tipo int, com um padrão de 0.

@num_contents_rows [ = ] num_contents_rows SAÍDA

Retorna o número de linhas limpas da tabela MSmerge_contents . @num_contents_rows é um parâmetro OUTPUT do tipo int, com um padrão de0

@num_tombstone_rows [ = ] num_tombstone_rows SAÍDA

Retorna o número de linhas limpas da tabela MSmerge_tombstone . @num_tombstone_rows é um parâmetro OUTPUT do tipo int, com um padrão de 0.

@aggressive_cleanup_only [ = ] aggressive_cleanup_only

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

Valores do código de retorno

0 (sucesso) ou 1 (falha).

Comentários

Se houver várias publicações em um banco de dados e qualquer uma dessas publicações usar um período de retenção de publicação infinito, a execução sp_mergemetadataretentioncleanup não limpará os metadados de controle de alterações de replicação de mesclagem do banco de dados. Por esse motivo, use a retenção de publicação infinita com precaução. Para determinar se uma publicação tem um período de retenção infinito, execute sp_helpmergepublication no Publicador e anote todas as publicações no conjunto de resultados com um valor de 0 for retention.

Permissões

Somente membros da função de banco de dados fixa db_owner ou usuários na lista de acesso à publicação de um banco de dados publicado podem executar sp_mergemetadataretentioncleanup.