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
Momentopnamereplicatie distribueert gegevens precies zoals deze op een bepaald moment in de tijd worden weergegeven en controleert niet op updates van de gegevens. Wanneer de synchronisatie plaatsvindt, wordt de volledige momentopname gegenereerd en verzonden naar abonnees.
Opmerking
Momentopnamereplicatie kan op zichzelf worden gebruikt, maar het momentopnameproces (waarmee een kopie wordt gemaakt van alle objecten en gegevens die zijn opgegeven door een publicatie) wordt ook vaak gebruikt om de eerste set gegevens en databaseobjecten voor transactionele en samenvoegingspublicaties te bieden.
Het gebruik van momentopnamereplicatie op zichzelf is het meest geschikt wanneer een of meer van de volgende scenario's waar zijn:
- Gegevens worden zelden gewijzigd.
- Kopieën van gegevens die verouderd zijn met betrekking tot de Uitgever gedurende een bepaalde periode.
- Kleine hoeveelheden gegevens repliceren.
- Een grote hoeveelheid wijzigingen vindt plaats gedurende een korte periode.
Momentopnamereplicatie is het meest geschikt wanneer gegevenswijzigingen aanzienlijk zijn, maar niet vaak. Als een verkooporganisatie bijvoorbeeld een productprijslijst onderhoudt en de prijzen allemaal eenmaal of twee keer per jaar worden bijgewerkt, moet u de volledige momentopname van gegevens repliceren nadat deze is gewijzigd. Gezien bepaalde typen gegevens kunnen ook frequentere momentopnamen geschikt zijn. Als een relatief kleine tabel bijvoorbeeld overdag wordt bijgewerkt bij Publisher, maar enige latentie acceptabel is, kunnen wijzigingen 's nachts worden bezorgd als momentopname.
Momentopnamereplicatie heeft een lagere doorlopende overhead voor de Publisher dan transactionele replicatie, omdat incrementele wijzigingen niet worden bijgehouden. Als de gegevensset die wordt gerepliceerd echter groot is, zijn er aanzienlijke resources nodig om de momentopname te genereren en toe te passen. Houd rekening met de grootte van de hele gegevensset en de frequentie van wijzigingen in de gegevens bij het evalueren of de replicatie van momentopnamen moet worden gebruikt.
Hoe momentopnamereplicatie werkt
Standaard gebruiken alle drie de typen replicatie een momentopname om abonnees te initialiseren. De SQL Server Snapshot Agent genereert altijd de momentopnamebestanden, maar de agent die de bestanden levert, verschilt, afhankelijk van het type replicatie dat wordt gebruikt. Momentopnamereplicatie en transactionele replicatie maken gebruik van de distributieagent om de bestanden te leveren, terwijl samenvoegreplicatie gebruikmaakt van de SQL Server Merge Agent. De Momentopnameagent wordt uitgevoerd bij de Distributeur. De distributieagent en de samenvoegagent worden uitgevoerd bij de distributeur voor pushabonnementen of bij abonnees voor pull-abonnementen.
Momentopnamen kunnen worden gegenereerd en toegepast direct nadat het abonnement is gemaakt of volgens een planning die is ingesteld op het moment dat de publicatie wordt gemaakt. De momentopnameagent bereidt momentopnamebestanden voor met het schema en de gegevens van gepubliceerde tabellen en databaseobjecten, slaat de bestanden op in de momentopnamemap voor Publisher en registreert traceringsgegevens in de distributiedatabase op de distributeur. U geeft een standaardmap voor momentopnamen op wanneer u een distributeur configureert, maar u kunt een alternatieve locatie voor een publicatie opgeven in plaats van of naast de standaardinstelling.
Naast het standaardmomentopnameproces dat in dit artikel wordt beschreven, wordt een tweedelig momentopnameproces gebruikt voor het samenvoegen van publicaties met geparameteriseerde filters.
In de volgende afbeelding ziet u de belangrijkste onderdelen van de replicatie van momentopnamen.
TLS 1.3-versleuteling configureren
SQL Server 2025 (17.x) Preview introduceert TDS 8.0-ondersteuning voor momentopnamereplicatie, waaronder:
- Replicatieagents configureren voor gebruik van TLS 1.3-versleuteling tussen exemplaren van SQL Server 2025 (17.x) Preview en ook tussen SQL Server 2025 (17.x) Preview en Azure SQL Managed Instance.
- Standaardversleuteling voor gekoppelde servercommunicatie tussen SQL Server 2025 (17.x) Preview-versie exemplaren in een replicatietopologie. Gekoppelde servers in SQL Server 2025 (17.x) Preview gebruiken het OLE DB v19-stuurprogramma, dat standaard
Encrypt=Mandatorywordt versleuteld.
Opmerking
Voor replicatietopologieën met een externe distributeur:
Momentopnameagent
Voor samenvoegreplicatie wordt een momentopname gegenereerd telkens wanneer de momentopnameagent wordt uitgevoerd. Voor transactionele replicatie is het genereren van momentopnamen afhankelijk van de instelling van de publicatie-eigenschap immediate_sync. Als de eigenschap is ingesteld op true (de standaardinstelling bij het gebruik van de wizard Nieuwe publicatie), wordt er telkens een momentopname gegenereerd wanneer de momentopnameagent wordt uitgevoerd en kan deze op elk gewenst moment worden toegepast op een abonnee. Als de eigenschap is ingesteld op false (de standaardinstelling bij gebruik sp_addpublication), wordt de momentopname alleen gegenereerd als er sinds de laatste momentopnameagent een nieuw abonnement is toegevoegd; Abonnees moeten wachten totdat de momentopnameagent is voltooid voordat ze kunnen synchroniseren.
De momentopnameagent voert de volgende stappen uit:
Hiermee wordt een verbinding tot stand gebracht van de distributeur met de uitgever en worden de gepubliceerde tabellen indien nodig vergrendeld:
Voor samenvoegpublicaties neemt de Snapshot Agent geen vergrendelingen.
Voor transactionele publicaties wordt de momentopnameagent standaard alleen vergrendeld tijdens de eerste fase van het genereren van momentopnamen.
Voor momentopnamepublicaties worden vergrendelingen bewaard tijdens het hele proces voor het genereren van momentopnamen.
Hiermee schrijft u een kopie van het tabelschema voor elk artikel naar een
.schbestand. Er worden meer scriptbestanden gegenereerd als andere databaseobjecten worden gepubliceerd, zoals indexen, beperkingen, opgeslagen procedures, weergaven, door de gebruiker gedefinieerde functies, enzovoort.Kopieert de gegevens uit de gepubliceerde tabel in Publisher en schrijft de gegevens naar de map momentopname. De momentopname wordt gegenereerd als een set BCP-bestanden (Bulk Copy Program).
Voor momentopnamen en transactionele publicaties voegt de momentopnameagent rijen toe aan de
MSrepl_commandsenMSrepl_transactionstabellen in de distributiedatabase. De vermeldingen in deMSrepl_commandstabel zijn opdrachten die de locatie van.schen.bcpbestanden, eventuele andere momentopnamebestanden en verwijzingen naar scripts vóór of na de momentopname aangeven. De vermeldingen in deMSrepl_transactionstabel zijn opdrachten die relevant zijn voor het synchroniseren van de abonnee.Voor samenvoegpublicaties voert de Snapshot Agent extra stappen uit.
Publiceert eventuele vergrendelingen voor gepubliceerde tabellen.
Tijdens het genereren van momentopnamen kunt u geen schemawijzigingen aanbrengen in gepubliceerde tabellen. Nadat de momentopnamebestanden zijn gegenereerd, kunt u deze weergeven in de map met momentopnamen met behulp van Windows Verkenner.
Distributieagent en samenvoegagent
Telkens wanneer de distributieagent voor de publicatie wordt uitgevoerd, wordt voor momentopnamepublicaties een nieuwe momentopname verplaatst naar elke abonnee die:
- is nog niet gesynchroniseerd,
- is gemarkeerd voor herinitialisatie of
- bevat nieuwe artikelen.
Voor momentopname en transactionele replicatie voert de distributieagent de volgende stappen uit:
Brengt een verbinding tot stand met de distributeur.
Bekijkt de
MSrepl_commandsenMSrepl_transactionstabellen in de distributiedatabase op de Distributeur. De agent leest de locatie van de momentopnamebestanden uit de eerste tabel en de synchronisatieopdrachten Abonnee uit beide tabellen.Hiermee past u het schema en de opdrachten toe op de abonnementsdatabase.
Voor een niet-gefilterde samenvoegreplicatiepublicatie voert de Merge Agent de volgende stappen uit:
Hiermee wordt een verbinding met de uitgever tot stand gebracht.
Bekijkt de
sysmergeschemachangetabel in Publisher en bepaalt of er een nieuwe momentopname moet worden toegepast bij de abonnee.Als er een nieuwe momentopname beschikbaar is, is de Samenvoegagent van toepassing op de abonnementsdatabase van de momentopnamebestanden vanaf de locatie die is opgegeven in
sysmergeschemachange.