Kommentar
Å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.
Gäller för:SQL Server
När du definierar ett parameteriserat radfilter för en sammanslagningspublikation använder du en funktion som refererar till prenumerantens information, såsom prenumerantens inloggningsnamn. Som standard validerar replikering prenumerantinformation baserat på den funktionen före varje synkronisering och varje gång en snapshot appliceras på prenumeranten. Valideringsprocessen säkerställer att data är korrekt partitionerad för varje prenumerant. Valideringsbeteendet styrs av validate_subscriber_info publiceringsegenskapen, som kan ändras med hjälp av sp_changemergepublication (Transact-SQL) eller på sidan Prenumerationsalternativ i dialogrutan Publikationsegenskaper . För mer information om att ändra publiceringsegenskaper, se Visa och ändra publikationsegenskaper.
Hur partitionsvalidering fungerar
När en publikation filtreras, till exempel med funktionen SUSER_SNAME(), applicerar Merge Agent den initiala ögonblicksbilden på varje prenumerant baserat på data som är giltig för uttrycket SUSER_SNAME().
Om validering är aktiverad, när prenumeranten återansluter till Publisher för nästa synkronisering, validerar Merge Agent informationen hos abonnenten och säkerställer att varje abonnents partition är densamma som den som mottogs i den initiala snapshoten. För varje efterföljande sammanslagnings- eller snapshot-applikation validerar Merge Agent varje abonnents partition.
Om Merge Agent upptäcker att funktionen som används i filtreringsuttrycket returnerar ett annat värde än den gjorde vid den ursprungliga snapshoten, misslyckas tillämpningen av sammanslagningen eller snapshoten, och den prenumerantens prenumeration kan behöva ominitialiseras. Ominitialisering kan vara nödvändig för att förhindra problem som kan uppstå om sammanslagningsinställningarna för en prenumerant ändras, men det kan vara tillräckligt att ändra information hos prenumeranten, såsom inloggningsnamnet, tillbaka till det värde som användes vid tidpunkten för den ursprungliga ögonblicksbilden.
När Merge Agent validerar en partition, förutom att validera partitionen mot de värden som returneras av funktioner som används i filtreringsuttryck, kontrollerar agenten också om snapshoten genererades före ändringar som ogiltigförklarar den, såsom metadatarensningsoperationer eller schemaändringar. Om en partitionerad snapshot är för gammal kommer Merge Agent att returnera ett felmeddelande och du måste återskapa en partitionerad snapshot för den abonnenten baserat på en aktuell vanlig snapshot.
Relaterat innehåll
- Replikeringsadministration: vanliga frågor och svar
- Metodtips för replikeringsadministration
- Initiera prenumerationer igen
- Verifiera replikerade data