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:
sql-server
sql-server-2008
replication
DForck42
fonte
fonte
Respostas:
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.
A saída deve ser:
fonte
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
fonte
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á.
fonte