Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Managed Instance
Abonnementen kunnen worden gedeactiveerd of verlopen als ze niet binnen een opgegeven bewaarperiode worden gesynchroniseerd. De actie die optreedt, is afhankelijk van het type replicatie en de retentieperiode die wordt overschreden.
Zie De verloopperiode voor abonnementeninstellen, de bewaarperiode voor distributie instellen voor transactionele publicaties (SQL Server Management Studio) en publicatie en distributie configureren om bewaarperioden in te stellen.
Transactionele replicatie
Transactionele replicatie maakt gebruik van de maximale bewaarperiode voor distributie (de @max_distretention parameter van sp_adddistributiondb (Transact-SQL)) en de bewaarperiode voor publicatie (de @retention parameter van sp_addpublication (Transact-SQL)):
Als een abonnement niet gesynchroniseerd is binnen de maximale distributie-retentieperiode (standaard 72 uur) en er zijn wijzigingen in de distributiedatabase die niet aan de abonnee worden geleverd, wordt het abonnement als gedeactiveerd gemarkeerd door de opruimtaak voor verlopen abonnementen die op de distributeur draait. Je moet het abonnement opnieuw initialiseren.
Als een abonnement niet wordt gesynchroniseerd binnen de publicatie-retentieperiode (standaard 336 uur), verloopt het abonnement en wordt het verwijderd door de opruimklus van verlopen abonnementen die op de Publisher draait. (Voor de fix in KB4014798 heette de taak Distributie opruimen.) Je moet het abonnement opnieuw aanmaken en synchroniseren.
Als een push-abonnement verloopt, wordt het volledig verwijderd, maar pull-abonnementen niet. U moet pull-abonnementen opschonen bij de abonnee. Zie Een pull-abonnement verwijderen voor meer informatie.
Replicatie samenvoegen
Samenvoegreplicatie maakt gebruik van de bewaarperiode voor publicatie (de @retention en @retention_period_unit parameters van sp_addmergepublication (Transact-SQL)). Wanneer een abonnement verloopt, moet je het opnieuw initialiseren omdat het proces metadata voor het abonnement verwijdert. De opruimtaak voor verlopen abonnementen die op de Publisher wordt uitgevoerd, verwijdert abonnementen die niet opnieuw worden geïnitialiseerd. Standaard draait deze taak dagelijks. Hiermee worden alle push-abonnementen verwijderd die gedurende tweemaal de bewaartermijn voor publicaties niet synchroniseren. Voorbeeld:
Als een publicatie een retentieperiode van 14 dagen heeft, kan een abonnement verlopen als het niet binnen 14 dagen synchroniseert.
Als de Publisher SQL Server 2005 (9.x) of een nieuwere versie draait en de agent voor het abonnement afkomstig is van SQL Server 2005 (9.x) of een latere versie, verloopt een abonnement alleen als er wijzigingen zijn in de data in de partitie van dat abonnement. Stel dat een abonnee alleen klantgegevens ontvangt voor klanten in Duitsland. Als de retentieperiode op 14 dagen wordt ingesteld, verloopt het abonnement pas op dag 14 als er wijzigingen zijn in de Duitse klantgegevens in de afgelopen 14 dagen.
Van 14 dagen tot 27 dagen na de laatste synchronisatie kun je het abonnement opnieuw initialiseren.
28 dagen na de laatste synchronisatie verbreekt de opruimtaak voor verlopen abonnement het abonnement. Als een push-abonnement verloopt, wordt het volledig verwijderd, maar pull-abonnementen niet. U moet pull-abonnementen opschonen bij de abonnee. Zie Een pull-abonnement verwijderen voor meer informatie.
Overwegingen bij het vaststellen van de behoudsperiode van publicaties voor samengevoegde publicaties
Houd rekening met de volgende overwegingen bij het instellen van de bewaarperiode voor samenvoegpublicaties:
De retentieperiode voor samengevoegde publicaties omvat een herstelperiode van 24 uur om abonnees in verschillende tijdzones te accommoderen. Als je bijvoorbeeld een retentieperiode van één dag instelt, is de daadwerkelijke retentieperiode 48 uur.
Het opruimen van merge-replicatiemetadata hangt af van de publicatieretentieperiode:
Replicatie kan geen metagegevens in de publicatie- en abonnementsdatabases opschonen totdat de bewaarperiode is bereikt. Wees voorzichtig bij het specificeren van een hoge waarde voor de retentieperiode, omdat dit de replicatieprestaties negatief kan beïnvloeden. Gebruik een lagere instelling als je betrouwbaar kunt voorspellen dat alle abonnees binnen die periode regelmatig zullen synchroniseren.
Je kunt aangeven dat abonnementen nooit verlopen (een waarde van 0 voor
@retention), maar gebruik deze waarde niet omdat metadata niet opgeschoond kan worden.
Stel de retentieperiode voor elke heruitgever in op een waarde gelijk aan of lager dan de retentieperiode die bij de oorspronkelijke Publisher is vastgesteld. Gebruik ook dezelfde publicatieretentiewaarden voor alle uitgevers en hun alternatieve synchronisatiepartners. Het gebruik van verschillende waarden kan leiden tot non-convergentie. Als u de bewaarwaarde van de publicatie wilt wijzigen, initialiseert u de abonnee opnieuw om de niet-convergentie van gegevens te voorkomen.
Als je de retentieperiode van publicaties verlengt na een opschoning en een abonnement probeert samen te voegen met de Publisher (die de metadata al heeft verwijderd), verloopt het abonnement niet vanwege de verhoogde retentiewaarde. De Publisher heeft echter niet genoeg metadata om wijzigingen naar de abonnee te downloaden, wat leidt tot non-convergentie.