Przechowywanie replikacji migawki

13

Mam skonfigurowaną replikację migawek na moim serwerze produkcyjnym SQL Server 2008 i właśnie zauważyłem, że w folderze migawek są migawki sprzed roku. Jak mogę zmienić sposób przechowywania tych migawek? W szczególności chciałbym, aby przechowywał migawki przez 5 dni.

Oto zrzut ekranu folderu, na który patrzę: Folder replikacji

DForck42
źródło
Wypróbowałem wszystkie możliwe sposoby, które wyjaśniłeś, ale wciąż mam ten sam problem, co wyjaśniono wcześniej.

Odpowiedzi:

7

Zwykle jest to problem polegający na tym, że ze względów bezpieczeństwa uprawnienia do xp_cmdshell zostały zmodyfikowane. Ten problem może również wystąpić, jeśli konto SQL Agent nie ma wymaganych uprawnień sieciowych do usuwania danych z folderu replikacji.

  • Sprawdź, czy xp_cmdshell jest włączony i czy konto, które go wykonuje, ma odpowiednie uprawnienia.

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

Dane wyjściowe powinny wynosić:

name         minimum    maximum config_value run_value
xp_cmdshell  0          1       1            1
Kenneth
źródło
Jeszcze jedną rzeczą do sprawdzenia jest to, czy twoje zadania czyszczenia są włączone. Widziałem przypadki, w których praca była po prostu wyłączona.
Kenneth,
Cóż, mam zadanie o nazwie „Czyszczenie hisotry agenta: dystrybucja” i działa ono dobrze (i jest włączone).
DForck42,
Wcześniej włączyłem xm_cmdshell, a teraz pokazuje te wyniki.
DForck42
4

Z mojego doświadczenia wynika, że ​​przechowywanie folderów migawek działa w następujący sposób:

Jeśli anonimowi subskrybenci nie są włączeni dla tej publikacji i jeśli wszyscy subskrybenci wykorzystali migawkę, następne uruchomienie agenta czyszczenia usunie migawkę.

Jeśli anonimowi subskrybenci są włączeni i upłynął okres przechowywania dystrybucji, następne uruchomienie agenta czyszczącego usunie migawkę.

W sytuacji, w której chcesz zachować migawki przez 2 miesiące, możesz to zrobić, zezwalając na anonimowe subskrypcje i ustawiając utrzymanie dystrybucji na 2 miesiące, jeśli to możliwe.

Jeśli twoja dystrybucyjna baza danych jest również używana do replikacji transakcyjnej, możesz potencjalnie zauważyć, że dystrybucyjna baza danych znacznie się powiększa.

Mam nadzieję że to pomoże,

Matt

Matt M.
źródło
gdzie ustawić retencję dystrybucji?
DForck42
2
@ DForck42 W SSMS replikacja kliknięcia prawym przyciskiem myszy i właściwości dystrybutora kliknięcia lewym przyciskiem myszy. Stamtąd możesz dostosować transakcyjny okres przechowywania.
Matt M
1

Spróbuj tego:

Przejdź do właściwości Monitora replikacji (kliknij prawym przyciskiem myszy Monitor replikacji -> Właściwości) i powinieneś zobaczyć tam okres przechowywania historii. Powinieneś być w stanie to tam ustawić.

Thomas Stringer
źródło
Nie sądzę, że dotyczy to replikacji migawek.
Kenneth