Delen via


Samengevoegde replicatie

Van toepassing op:SQL Server

Samenvoegreplicatie, zoals transactionele replicatie, begint meestal met een momentopname van de publicatiedatabaseobjecten en -gegevens. Vervolgens aangebrachte gegevens- en schemawijzigingen bij de Publisher en de Abonnees worden bijgehouden met triggers. De abonnee synchroniseert met de Uitgever wanneer deze is verbonden met het netwerk en wisselt alle rijen uit die zijn gewijzigd tussen publisher en abonnee sinds de laatste keer dat de synchronisatie heeft plaatsgevonden.

Samenvoegreplicatie wordt doorgaans gebruikt in server-naar-client-omgevingen. Samenvoegreplicatie is geschikt in een van de volgende situaties:

  • Meerdere abonnees kunnen dezelfde gegevens op verschillende momenten bijwerken en deze wijzigingen doorgeven aan de uitgever en andere abonnees.

  • Abonnees moeten gegevens ontvangen, offline wijzigingen aanbrengen en later wijzigingen synchroniseren met publisher en andere abonnees.

  • Elke abonnee vereist een andere partitie met gegevens.

  • Conflicten kunnen optreden en, wanneer dat het geval is, hebt u de mogelijkheid nodig om ze te detecteren en op te lossen.

  • Voor de toepassing is een wijziging van de nettogegevens vereist in plaats van toegang tot tussenliggende gegevensstatussen. Als een rij bijvoorbeeld vijf keer wordt gewijzigd bij een abonnee voordat deze wordt gesynchroniseerd met een Uitgever, wordt de rij slechts één keer gewijzigd bij de Uitgever om de wijziging van de nettogegevens weer te geven (dat wil gezegd de vijfde waarde).

Met samenvoegreplicatie kunnen verschillende sites autonoom werken en later updates samenvoegen tot één uniform resultaat. Omdat er updates worden uitgevoerd op meer dan één knooppunt, zijn dezelfde gegevens mogelijk bijgewerkt door de uitgever en door meer dan één abonnee. Conflicten kunnen daarom optreden wanneer updates worden samengevoegd, en replicatie bij samenvoeging biedt verschillende manieren om conflicten te verwerken.

Samenvoegreplicatie wordt geïmplementeerd door de SQL Server Snapshot Agent en Merge Agent. Als de publicatie niet is gefilterd of statische filters gebruikt, maakt de momentopnameagent één momentopname. Als in de publicatie geparameteriseerde filters worden gebruikt, maakt de momentopnameagent een momentopname voor elke partitie met gegevens. De Merge Agent past de initiële snapshots toe op de abonnees. Er worden ook incrementele gegevenswijzigingen samengevoegd die zijn opgetreden bij publisher of abonnees nadat de eerste momentopname is gemaakt, en detecteert en lost eventuele conflicten op volgens de regels die u configureert.

Als u wijzigingen wilt bijhouden, moeten replicatie (en transactionele replicatie met abonnementen in de wachtrij) elke rij in elke gepubliceerde tabel uniek kunnen identificeren. Als u deze merge-replicatie wilt uitvoeren, wordt de kolom rowguid aan elke tabel toegevoegd, tenzij de tabel al een kolom van het gegevenstype uniqueidentifier heeft met de ROWGUIDCOL-eigenschap ingesteld (in dat geval wordt deze kolom gebruikt). Als de tabel uit de publicatie wordt verwijderd, wordt de rowguid kolom verwijderd. Als er een bestaande kolom is gebruikt voor het bijhouden, wordt de kolom niet verwijderd. Een filter mag niet de rowguidcol bevatten die door replicatie wordt gebruikt om rijen te identificeren. De functie newid() is de standaard voor de rowguid kolom, maar klanten kunnen indien nodig een GUID voor elke rij opgeven. Geef echter geen waarde 00000000-0000-0000-0000-000000000000op.

In het volgende diagram ziet u de onderdelen die worden gebruikt in samenvoegreplicatie.

Diagram van het samenvoegen van replicatieonderdelen en gegevensstroom.

TLS 1.3-versleuteling configureren

SQL Server 2025 (17.x) Preview introduceert TDS 8.0-ondersteuning voor samenvoegreplicatie, 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 onderlinge communicatie tussen exemplaren van gekoppelde servers in SQL Server 2025 (17.x) Preview in een replicatietopologie. Gekoppelde servers in SQL Server 2025 (17.x) Preview gebruiken het OLE DB v19-stuurprogramma, dat standaard Encrypt=Mandatory wordt versleuteld.

In deze sectie