Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
En prenumeration på en sammanslagningspublikation upphör att gälla om den inte har synkroniserats med utgivaren inom kvarhållningsperioden för publikationen. Standardkvarhållningsperioden är 14 dagar. Det ställs in med hjälp av parametrarna @retention och @retention_period_unit för sp_addmergepublication. Kräver @retention_period_unit att publikationens kompatibilitetsnivå är 90RTM eller högre. För prenumeranter som kör tidigare versioner av Microsoft SQL Server @retention_period_unit är alltid inställt på day. Mer information om kompatibilitetsnivå finns i avsnittet "Kompatibilitetsnivå för sammanslagning av publikationer" i artikeln Använda flera versioner av SQL Server i en replikeringstopologi.
När en prenumeration upphör att gälla måste den initieras igen eftersom metadata för prenumerationen tas bort. Mer information finns i rensning av metadata. Prenumerationer som inte initieras på nytt rensas bort av Förfallna prenumerationsrensningsjobbet som körs på Publisher. Som standard körs det här jobbet dagligen. den tar bort alla push-prenumerationer som inte har synkroniserats för den dubbla längden på kvarhållningsperioden för publikationen. Till exempel:
Om en publikation har en kvarhållningsperiod på 14 dagar kan en prenumeration upphöra att gälla om den inte har synkroniserats inom 14 dagar.
En prenumeration upphör bara att gälla om det fanns ändringar i data i prenumerationens partition. Anta till exempel att en prenumerant endast tar emot kunddata för kunder i Tyskland. Om kvarhållningsperioden är inställd på 14 dagar upphör prenumerationen endast att gälla dag 14 om det har gjorts ändringar i kunddata från den regionen under de senaste 14 dagarna.
Från 14 dagar till 27 dagar efter den senaste synkroniseringen kan prenumerationen initieras på nytt.
28 dagar efter den senaste synkroniseringen tas prenumerationen bort av rensningsjobbet för utgångna prenumerationer. Om en push-prenumeration upphör att gälla tas den bort helt, men pull-prenumerationer tas inte bort. Du måste rensa pull-prenumerationer hos prenumeranten. Mer information finns i Ta bort en pull-prenumeration.
Överväganden för att ange kvarhållningsperioden för publikationen
Tänk på följande när du anger kvarhållningsperioden för sammanslagningspublikationer:
Rensningen av metadata för sammanslagningsreplikering är beroende av kvarhållningsperioden för publikationen:
Replikering kan inte rensa metadata i publikations- och prenumerationsdatabaserna förrän kvarhållningsperioden har nåtts. Var försiktig när du anger ett högt värde för kvarhållningsperioden eftersom det kan påverka replikeringsprestanda negativt. Du bör använda en lägre inställning om du på ett tillförlitligt sätt kan förutsäga att alla prenumeranter synkroniseras regelbundet inom den tidsperioden.
Det går att ange att prenumerationer aldrig upphör att gälla (värdet 0 för
@retention), men du bör inte använda det här värdet eftersom metadata inte kan rensas.
Kvarhållningsperioden för en ompublicerare måste anges till ett värde som är lika med eller mindre än kvarhållningsperioden som angetts i den ursprungliga utgivaren. Om du använder alternativa synkroniseringspartner bör du använda samma kvarhållningsvärden för publikationen för Publishers och alla alternativa synkroniseringspartners. Att använda olika värden kan leda till icke-konvergering. Om du behöver ändra lagringsvärdet för publikationen återinitierar du prenumeranten för att undvika icke-konvergens av data.
Om kvarhållningsperioden för publikationen ökar efter en rensning och en prenumeration försöker slå samman med Utgivaren (som redan har tagit bort metadata) upphör prenumerationen inte att gälla på grund av det ökade kvarhållningsvärdet. Utgivaren har dock inte tillräckligt med metadata för att ladda ned ändringar till prenumeranten, vilket leder till icke-konvergering.
Rensning av metadata
Rensning av metadata i sammanslagningsreplikering utförs av den lagrade proceduren sp_mergemetadataretentioncleanup. Tidpunkten för rensning baseras på kvarhållningsperioden för publikationen. Varje gång sammanslagningsagenten körs för en prenumeration anropas rensningsproceduren. Proceduren tar bort metadata som är äldre än kvarhållningsperioden för publikationen från följande systemtabeller:
- MSmerge_contents
- MSmerge_tombstone
- MSmerge_genhistory
- MSmerge_current_partition_mappings
- MSmerge_past_partition_mappings
- MSmerge_generation_partition_mappings
Dessa tabeller används av alla publikationer i en publikationsdatabas: om det finns fler än en publikation används alltid den längsta kvarhållningsperioden för att avgöra när metadata kan tas bort.