Retenção de replicação de instantâneo

12

Eu tenho a replicação de instantâneo configurada no meu servidor de produção do SQL Server 2008 e notei que há instantâneos que variam de um ano atrás à pasta de instantâneos. Como posso alterar a retenção desses instantâneos? Especificamente, gostaria de manter os instantâneos por 5 dias.

Aqui está uma captura de tela da pasta que estou procurando: Pasta de replicação

DForck42
fonte
Eu tentei de todas as maneiras possíveis que você explicou, mas ainda tem o mesmo problema que alguém explicou muito antes.

Respostas:

7

Geralmente, esse é um problema em que as permissões no xp_cmdshell foram modificadas por motivos de segurança. Você também pode ter esse problema se a conta do SQL Agent não tiver as permissões de rede necessárias para excluir dados da sua pasta de replicação.

  • Verifique se o xp_cmdshell está ativado e se a conta que o executa possui permissões apropriadas.

    USE master
    GO
    EXEC sp_configure 'show advanced option', '1';
    reconfigure;
    GO
    exec sp_configure 'xp_cmdshell';

A saída deve ser:

name         minimum    maximum config_value run_value
xp_cmdshell  0          1       1            1
Kenneth
fonte
Mais uma coisa a verificar é se seus trabalhos de limpeza estão ativados. Vi casos em que o trabalho foi simplesmente desativado.
Kenneth
Bem, eu tenho um trabalho chamado "Agente hisotry clean up: distribution", e ele está executando muito bem (e está ativado).
precisa saber é o seguinte
Ativei o xm_cmdshell anteriormente e agora mostra esses resultados.
DForck42 23/09
4

Na minha experiência, a retenção da pasta de instantâneos funciona assim:

Se assinantes anônimos não estiverem ativados para essa publicação e se todos os assinantes consumiram o instantâneo, a próxima execução do agente de limpeza removerá o instantâneo.

Se assinantes anônimos estiverem ativados e o período de retenção da distribuição tiver expirado, a próxima execução do agente de limpeza removerá o instantâneo.

Na sua situação, em que você deseja reter instantâneos por 2 meses, você pode fazer isso permitindo assinaturas anônimas e configurando a retenção de distribuição para 2 meses, se possível.

Se seu banco de dados de distribuição também for usado para replicação transacional, você poderá ver o banco de dados de distribuição crescer muito.

Espero que isto ajude,

Matt

Matt M
fonte
onde eu defino a retenção de distribuição?
precisa saber é o seguinte
2
@ DForck42 No SSMS, clique com o botão direito do mouse em Replicação e clique com o botão esquerdo em Distribuidor. A partir daí, você pode ajustar o período de retenção transacional.
Matt M
1

Tente o seguinte:

Vá para as propriedades do Replication Monitor (clique com o botão direito do mouse em Replication Monitory -> Properties) e você verá um período de retenção de histórico lá. Você deve ser capaz de configurá-lo lá.

Thomas Stringer
fonte
Eu não acho que isso se aplica à replicação de instantâneos.
Kenneth