Not
Å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
Sammanslagningsreplikering är en bra lösning på problemet med att flytta data mellan en central server och mobila klienter som bara ibland är anslutna. Med hjälp av replikeringsguiderna kan du enkelt konfigurera och administrera en topologi för sammanslagningsreplikering.
Den här handledningen visar hur du kan konfigurera en replikeringstopologi för mobila klienter. Mer information om sammanslagningsreplikering finns i översikten över sammanslagningsreplikering.
Vad du kommer att lära dig
I den här handledningen lär du dig att använda merge-replikering för att publicera data från en central databas till en eller flera mobila användare, så att varje användare får en delmängd av data som är unikt filtrerad.
I den här handledningen kommer du att lära dig hur du:
- Konfigurera en utgivare för sammanslagningsreplikering.
- Lägg till en mobil prenumerant för sammanslagningspublikation.
- Synkronisera prenumerationen med kopplingspublikationen.
Förutsättningar
Den här handledningen är avsedd för användare som är bekanta med grundläggande databasåtgärder, men som har begränsad erfarenhet av replikering. Innan du påbörjar den här självstudien måste du slutföra Självstudie: Förbereda SQL Server för replikering.
För att slutföra den här självstudien behöver du SQL Server, SQL Server Management Studio (SSMS) och en AdventureWorks-databas:
Installera på utgivarservern (källa):
- Alla versioner av SQL Server, förutom SQL Server Express eller SQL Server Compact. Dessa utgåvor kan inte vara en replikeringsutgivare.
- Exempeldatabasen
AdventureWorks2025. För att förbättra säkerheten installeras inte exempeldatabaserna som standard.
På prenumerantservern (målet) installerar du valfri utgåva av SQL Server, förutom SQL Server Express eller SQL Server Compact. Publikationen som skapas i den här självstudien stöder varken SQL Server Express eller SQL Server Compact.
Installera SQL Server Management Studio.
Installera SQL Server 2017 Developer Edition.
Ladda ned AdventureWorks-exempeldatabasen. Anvisningar om hur du återställer en databas i SSMS finns i Återställa en databas.
Anmärkning
Replikering stöds inte på SQL Server-instanser som är mer än två versioner ifrån varandra.
I SQL Server Management Studio måste du ansluta till utgivaren och prenumeranten med hjälp av en inloggning som är medlem i den fasta serverrollen sysadmin . Mer information om den här rollen finns i Roller på servernivå.
Beräknad tid för att slutföra den här självstudien: 60 minuter
Konfigurera en utgivare för sammanslagningsreplikering
I det här avsnittet skapar du en sammanslagningspublikation med hjälp av SQL Server Management Studio för att publicera en delmängd av tabellerna Employee, SalesOrderHeader och SalesOrderDetail i exempeldatabasen AdventureWorks2025 . Dessa tabeller filtreras med parameteriserade radfilter så att varje prenumeration innehåller en unik partition av data. Du lägger också till SQL Server-inloggningen som används av sammanslagningsagenten i publikationens åtkomstlista (PAL).
Skapa sammanslagningspublikation och definiera artiklar
Anslut till utgivaren i SQL Server Management Studio och expandera sedan servernoden.
Starta SQL Server-agenten genom att högerklicka på den i Object Explorer och välja Starta. Om det här steget inte startar agenten måste du göra det manuellt från SQL Server Configuration Manager.
Expandera mappen Replikering , högerklicka på Lokala publikationer och välj Ny publikation. Guiden Ny publikation har startats:
På sidan Publikationsdatabas väljer du
AdventureWorks2025och väljer sedan Nästa.På sidan Publikationstyp väljer du Slå samman publikation och väljer sedan Nästa.
På sidan Prenumeranttyper kontrollerar du att endast SQL Server 2008 (10.0.x) eller senare har valts och väljer sedan Nästa:
På sidan Artiklar expanderar du noden Tabeller . Välj följande tre tabeller: Employee, SalesOrderHeader och SalesOrderDetail. Välj Nästa.
Anmärkning
Tabellen Employee innehåller en kolumn (OrganizationNode) som har datatypen hierarchyid . Den här datatypen stöds endast för replikering i SQL Server 2017.
Om du använder en version tidigare än SQL Server 2017 visas ett meddelande längst ned på skärmen för att meddela dig om potentiell dataförlust för användning av den här kolumnen i dubbelriktad replikering. I den här självstudien kan du ignorera det här meddelandet. Den här datatypen bör dock inte replikeras i en produktionsmiljö om du inte använder den version som stöds.
Mer information om hur du replikerar datatypen hierarchyid finns i Använda hierarchyid-kolumner i replikering.
På sidan Filtrera tabellrader väljer du Lägg till och sedan Lägg till filter.
I dialogrutan Lägg till filter väljer du Anställd (HumanResources) i Välj den tabell som ska filtreras. Välj kolumnen LoginID , välj högerpilen för att lägga till kolumnen i WHERE-satsen i filterfrågan och ändra WHERE-satsen enligt följande:
WHERE [LoginID] = HOST_NAME()Välj En rad i den här tabellen går bara till en prenumeration och väljer OK.
På sidan Filtrera tabellrader väljer du Anställd (Personal), lägger till och väljer sedan Lägg till koppling för att utöka det valda filtret.
a. I dialogrutan Lägg till koppling väljer du Sales.SalesOrderHeader under Ansluten tabell. Välj Skriv kopplingsinstrukmentet manuellt och slutför kopplingsinstrukmentet på följande sätt:
ON [Employee].[BusinessEntityID] = [SalesOrderHeader].[SalesPersonID]b) I Ange kopplingsalternativ väljer du Unik nyckel och sedan OK.
På sidan Filtrera tabellrader väljer du SalesOrderHeader, väljer Lägg till och väljer sedan Lägg till koppling för att utöka det valda filtret.
a. I dialogrutan Lägg till koppling väljer du Sales.SalesOrderDetail under Ansluten tabell.
b) Välj Använd Builder för att skapa instruktionen.
c. Bekräfta att kopplingssatsen är följande i rutan Förhandsversion :ON [SalesOrderHeader].[SalesOrderID] = [SalesOrderDetail].[SalesOrderID]d. I Ange kopplingsalternativ väljer du Unik nyckel och sedan OK. Välj Nästa.
Välj Skapa en ögonblicksbild omedelbart, avmarkera Schemalägg ögonblicksbildsagenten så att den körs vid följande tidpunkter och välj Nästa:
På sidan Agentsäkerhet väljer du Säkerhetsinställningar. Ange <Publisher_Machine_Name>\repl_snapshot i rutan Processkonto , ange lösenordet för det här kontot och välj sedan OK. Välj Nästa.
På sidan Slutför guiden anger du AdvWorksSalesOrdersMerge i rutan Publikationsnamn och väljer Slutför:
När publikationen har skapats väljer du Stäng. Under noden Replikering i Object Explorer högerklickar du på Lokala publikationer och väljer Uppdatera för att visa din nya sammanslagningsreplikering.
Visa status för generering av ögonblicksbilder
Anslut till utgivaren i SQL Server Management Studio, expandera servernoden och expandera sedan mappen Replikering .
Högerklicka på AdvWorksSalesOrdersMerge i mappen Lokala publikationer och välj sedan Visa status för ögonblicksbildagent:
Aktuell status för jobbet Snapshot Agent för publikationen visas. Kontrollera att ögonblicksbildjobbet har slutförts innan du fortsätter till nästa lektion.
Lägg till inloggningen för Merge Agent i PAL
Anslut till utgivaren i SQL Server Management Studio, expandera servernoden och expandera sedan mappen Replikering .
Högerklicka på AdvWorksSalesOrdersMerge i mappen Lokala publikationer och välj sedan Egenskaper.
a. Välj sidan Publikationsåtkomstlista och välj Lägg till.
b) I dialogrutan Lägg till publikationsåtkomst väljer du <Publisher_Machine_Name>\repl_merge och väljer OK. Välj OK igen.
Mer information finns i:
- Filtrera publicerade data
- Parameteriserade radfilter
- Definiera en artikel
Skapa en prenumeration på sammanslagningspublikationen
I det här avsnittet lägger du till en prenumeration i den sammanslagningspublikation som du skapade tidigare. I den här handledningen används fjärrprenumeranten (NODE2\SQL2016). Sedan anger du behörigheter för prenumerationsdatabasen och manuellt genererar den filtrerade ögonblicksbilden av data för den nya prenumerationen.
Lägga till en prenumerant för sammanslagningspublikation
Anslut till prenumeranten i SQL Server Management Studio och expandera servernoden. Expandera mappen Replikering , högerklicka på mappen Lokala prenumerationer och välj sedan Nya prenumerationer. Guiden för ny prenumeration startar:
På sidan Publikation väljer du Hitta SQL Server Publisher i utgivarlistan .
I dialogrutan Anslut till server anger du namnet på utgivarinstansen i rutan Servernamn och väljer Anslut.
Välj AdvWorksSalesOrdersMerge och välj Nästa.
På sidan Sammanfoga agentplats väljer du Kör varje agent vid sin prenumerant och väljer sedan Nästa:
På sidan Prenumeranter väljer du instansnamnet för prenumerantservern. Under Prenumerationsdatabas väljer du Ny databas i listan.
I dialogrutan Ny databas anger du SalesOrdersReplica i rutan Databasnamn . Välj OK, och välj Nästa.
På sidan Slå samman agentsäkerhet väljer du ellipsknappen (...). Ange <Subscriber_Machine_Name>\repl_merge i rutan Processkonto och ange lösenordet för det här kontot. Välj OK, välj Nästa och sedan Nästa igen.
På sidan Synkroniseringsschema anger du Agentschema tillKör på begäran endast. Välj Nästa.
På sidan Initiera prenumerationer väljer du Vid första synkronisering från listan Initiera när . Välj Nästa för att gå vidare till sidan Prenumerationstyp och välj lämplig prenumerationstyp. I den här självstudien används Klient. När du har valt prenumerationstyp väljer du Nästa igen.
På sidan HOST_NAME Värden anger du värdet adventure-works\pamela0 i rutan HOST_NAME Värde. Välj sedan Slutför.
Välj Slutför igen. När prenumerationen har skapats väljer du Stäng.
Ange serverbehörigheter hos prenumeranten
Anslut till prenumeranten i SQL Server Management Studio. Expandera Säkerhet, högerklicka på Inloggningar och välj sedan Ny inloggning.
På sidan Allmänt väljer du Sök och anger < sedan Subscriber_ Machine_Name>\repl_merge i rutan Ange objektnamn. Välj Kontrollera namn och välj sedan OK.
På sidan Användarmappning väljer du databasen SalesOrdersReplica och väljer rollen db_owner . På sidan Skyddsbara objekt ger du explicit behörighet att ändra spårning. Välj OK.
Skapa den filtrerade ögonblicksbilden av data för prenumerationen
Anslut till utgivaren i SQL Server Management Studio, expandera servernoden och expandera sedan mappen Replikering .
Högerklicka på publikationen AdvWorksSalesOrdersMerge i mappen Lokala publikationer och välj sedan Egenskaper.
a. Välj sidan Datapartitioner och välj Lägg till.
b) I dialogrutan Lägg till datapartition anger du adventure-works\pamela0 i rutan HOST_NAME Value och väljer sedan OK.
c. Välj den nyligen tillagda partitionen, välj Generera de valda ögonblicksbilderna nu och välj sedan OK.
Mer information finns i:
- Prenumerera på publikationer
- Skapa en pull-prenumeration
- Ögonblicksbilder för sammanslagning av publikationer med parametriserade filter
Synkronisera prenumerationen med kopplingspublikationen
I det här avsnittet startar du Sammanslagningsagenten för att initiera prenumerationen med hjälp av SQL Server Management Studio. Du använder också den här proceduren för att synkronisera med utgivaren.
Starta synkroniseringen och initiera prenumerationen
Anslut till prenumeranten i SQL Server Management Studio.
Kontrollera att SQL Server-agenten körs. Om det inte är det högerklickar du på SQL Server-agenten i Object Explorer och väljer Starta. Om det här steget inte startar agenten måste du göra det manuellt med hjälp av SQL Server Configuration Manager.
Öppna Replication-noden. Högerklicka på prenumerationen i databasen SalesOrdersReplica i mappen Lokala prenumerationer och välj sedan Visa synkroniseringsstatus.
Välj Start för att initiera prenumerationen.