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
Wanneer je een geparametriseerd rijfilter definieert voor een mergepublicatie, gebruik je een functie die verwijst naar abonnee-informatie, zoals de inlognaam van de abonnee. Standaard valideert replicatie de abonnee-informatie op basis van die functie vóór elke synchronisatie en telkens wanneer een snapshot wordt toegepast op de abonnee. Het validatieproces zorgt ervoor dat de gegevens correct worden gepartitioneerd voor elke abonnee. Validatiegedrag wordt bepaald door de validate_subscriber_info publicatie-eigenschap, die kan worden gewijzigd met sp_changemergepublication (Transact-SQL) of op de pagina Abonnementsopties in het dialoogvenster Publicatie-eigenschappen . Voor meer informatie over het wijzigen van publicatie-eigenschappen, zie Bekijk en Wijzigen Publicatie-eigenschappen.
Hoe partitievalidatie werkt
Wanneer een publicatie bijvoorbeeld wordt gefilterd met de functie SUSER_SNAME(), past de Merge Agent de initiële snapshot toe op elke abonnee op basis van gegevens die geldig zijn voor de SUSER_SNAME()-expressie.
Als validatie is ingeschakeld, valideert de Merge Agent bij de verbinding met de Publisher voor de volgende synchronisatie de informatie bij de Subscriber en zorgt ervoor dat de partitie van elke Subscriber hetzelfde is als die in de eerste snapshot. Voor elke volgende merge- of snapshotapplicatie valideert de Merge Agent de partitie van elke abonnee.
Als de Merge Agent detecteert dat de functie die in de filterexpressie wordt gebruikt een andere waarde teruggeeft dan bij de eerste snapshot, faalt de merge- of snapshotapplicatie en kan het abonnement van de abonnee opnieuw initialiseren moeten worden. Herinitialisatie kan nodig zijn om problemen te voorkomen die kunnen ontstaan als de samenvoeginstellingen van een abonnee worden gewijzigd, maar het kan voldoende zijn om informatie bij de abonnee, zoals de inlognaam, terug te zetten naar de waarde die op het moment van de oorspronkelijke snapshot werd gebruikt.
Wanneer de Merge Agent een partitie valideert, controleert de agent, naast het valideren van de partitie tegen de waarden die door functies worden gebruikt in filterexpressies, ook of de snapshot is gegenereerd vóór wijzigingen die deze ongeldig maken, zoals metadata-opruimoperaties of schemawijzigingen. Als een gepartitioneerde snapshot te oud is, geeft de Merge Agent een foutmelding en moet je een gepartitioneerde snapshot voor die abonnee opnieuw genereren op basis van een huidige reguliere snapshot.