Självstudie: Konfigurera replikering mellan två fullständigt anslutna servrar (transaktionella)

Gäller för:SQL Server

Transaktionsreplikering är en bra lösning på problemet med att flytta data mellan kontinuerligt anslutna servrar. Med hjälp av replikeringsguiden kan du enkelt konfigurera och administrera en replikeringstopologi.

Den här handledningen förklarar hur du konfigurerar en transaktionsreplikeringstopologi för ständigt anslutna servrar. Mer information om hur transaktionsreplikering fungerar finns i översikten över transaktionsreplikering.

Vad du kommer att lära dig

Denna handledning lär dig att publicera data från en databas till en annan med transaktionsreplikering.

I den här handledningen kommer du att lära dig hur du:

  • Skapa en utgivare via transaktionsreplikering.
  • Skapa en prenumerant för transaktionsutgivaren.
  • Verifiera prenumerationen och mäta svarstiden.

Förutsättningar

Den här handledningen är avsedd för användare som är bekanta med grundläggande databasåtgärder, men med 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 fungera som publicerare för replikering.
    • 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 Compact. SQL Server Compact kan inte vara abonnent i transaktionsreplikering.

  • 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 utgivaren för transaktionsreplikering

I det här avsnittet skapar du en transaktionspublikation med hjälp av SQL Server Management Studio för att publicera en filtrerad delmängd av tabellen Produkt i exempeldatabasen AdventureWorks2025 . Du lägger också till SQL Server-inloggningen som används av distributionsagenten i publikationens åtkomstlista (PAL).

Skapa en publikation och definiera artiklar

  1. Anslut till utgivaren i SQL Server Management Studio och expandera sedan servernoden.

  2. Högerklicka på SQL Server-agenten och välj Starta. SQL Server-agenten bör köras innan du skapar publikationen. Om det här steget inte startar agenten måste du göra det manuellt från SQL Server Configuration Manager.

  3. Expandera mappen Replikering , högerklicka på mappen Lokala publikationer och välj Ny publikation. Det här steget aktiverar guiden Ny publikation:

    Val för att starta Ny publikationsguiden

  4. På sidan Publikationsdatabas väljer du AdventureWorks2025och väljer sedan Nästa.

  5. På sidan Publikationstyp väljer du Transaktionspublikation och sedan Nästa:

    Sidan

  6. På sidan Artiklar expanderar du noden Tabeller och markerar kryssrutan Produkt . Expandera sedan Produkt och avmarkera kryssrutorna bredvid ListPrice och StandardCost. Välj Nästa.

    sidan

  7. På sidan Filtrera tabellrader väljer du Lägg till.

  8. I dialogrutan Lägg till filter väljer du kolumnen SafetyStockLevel . Välj högerpilen för att lägga till kolumnen i WHERE-satsen i filteruttrycket för frågan. Skriv sedan in WHERE-satsmodifieraren manuellt på följande sätt:

    WHERE [SafetyStockLevel] < 500  
    

    Dialogrutan

  9. Välj OK, och välj Nästa.

  10. Markera kryssrutan Skapa en ögonblicksbild omedelbart och håll ögonblicksbilden tillgänglig för att initiera prenumerationer och välj Nästa:

    Sidan

  11. På sidan Agentsäkerhet avmarkerar du kryssrutan Använd säkerhetsinställningarna från ögonblicksbildsagenten .

    Välj Säkerhetsinställningar för ögonblicksbildsagenten. Ange <Publisher_Machine_Name>\repl_snapshot i rutan Processkonto , ange lösenordet för det här kontot och välj sedan OK.

    Sidan

  12. Upprepa föregående steg för att ange <Publisher_Machine_Name>\repl_logreader som processkonto för Log Reader Agent. Välj sedan OK.

    Dialogrutan

  13. På sidan Slutför guiden skriver du AdvWorksProductTrans i rutan Publikationsnamn och väljer Slutför:

    Sidan

  14. När publikationen har skapats, välj Stäng för att avsluta guiden.

Du kan stöta på följande fel om SQL Server-agenten inte körs när du försöker skapa publikationen. Det här felet anger att publikationen har skapats framgångsrikt men att ögonblicksbildsagenten inte kunde starta. Om detta händer måste du starta SQL Server-agenten och sedan starta ögonblicksbildsagenten manuellt. Nästa avsnitt innehåller instruktioner.

Varning om att ögonblicksbildsagenten inte kunde starta

Visa status för generering av ögonblicksbilder

  1. Anslut till utgivaren i SQL Server Management Studio, expandera servernoden och expandera sedan mappen Replikering .

  2. Högerklicka på AdvWorksProductTrans i mappen Lokala publikationer och välj sedan Visa agentstatus för ögonblicksbild:
    Kommando på snabbmenyn för att visa status för ögonblicksbildsagenten

  3. Den aktuella statusen för Snapshot Agent-jobbet för publikationen visas. Kontrollera att ögonblicksbildsjobbet har slutförts innan du fortsätter till nästa avsnitt.

Om SQL Server-agenten inte kördes när du skapade publikationen ser du att ögonblicksbildsagenten aldrig kördes när du kontrollerar statusen för ögonblicksbildsagenten för publikationen. I så fall väljer du Starta för att starta ögonblicksbildsagenten:

Om du ser ett fel här, se Felsökning av fel i ögonblicksbildsagenten.

Lägg till inloggningen för distributionsagenten i PAL

  1. Anslut till utgivaren i SQL Server Management Studio, expandera servernoden och expandera sedan mappen Replikering .

  2. Högerklicka på AdvWorksProductTrans i mappen Lokala publikationer och välj sedan Egenskaper. Dialogrutan Egenskaper för publikation visas.

    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_distribution och väljer OK.

    Val för att lägga till en inloggning i publikationens åtkomstlista

Mer information finns i Programmeringskoncept för replikering.

Skapa en prenumeration på transaktionspublikationen

I det här avsnittet lägger du till en prenumerant i publikationen som du skapade tidigare. I den här handledningen används en avlägsen prenumerant (NODE2\SQL2016), men du kan också lägga till en prenumeration lokalt hos utgivaren.

Skapa prenumerationen

  1. Anslut till utgivaren i SQL Server Management Studio, expandera servernoden och expandera sedan mappen Replikering .

  2. Högerklicka på publikationen AdvWorksProductTrans i mappen Lokala publikationer och välj sedan Nya prenumerationer. Guiden för ny prenumeration startar:

    Val för att starta guiden Ny prenumeration

  3. På sidan Publikation väljer du AdvWorksProductTrans och sedan Nästa:

    Sidan

  4. På sidan Distributionsagentplats väljer du Kör alla agenter på distributören och väljer sedan Nästa. Mer information om pull- och push-prenumerationer finns i Prenumerera på publikationer.

  5. Om namnet på prenumerantinstansen inte visas på sidan Prenumeranter väljer du Lägg till prenumerant och väljer sedan Lägg till SQL Server-prenumerant i listrutan. Det här steget öppnar dialogrutan Anslut till server . Ange namnet på prenumerantinstansen och välj sedan Anslut.

    När prenumeranten har lagts till markerar du kryssrutan bredvid instansnamnet för din prenumerant. Välj sedan Ny databas under Prenumerationsdatabas.

    Sidan Prenumeranter med val för att lägga till en prenumerantserver

  6. Dialogrutan Ny databas visas. Ange ProductReplica i rutan Databasnamn , välj OK och välj sedan Nästa:

    Ange ett namn för prenumerationsdatabasen

  7. På sidan Distributionsagentsäkerhet väljer du knappen ellips (...). Ange <Publisher_Machine_Name>\repl_distribution i rutan Processkonto , ange lösenordet för det här kontot, välj OK och välj sedan Nästa.

    Information om distributionskonto i dialogrutan

  8. Välj Slutför för att acceptera standardvärdena på de återstående sidorna och slutför guiden.

Ange databasbehörigheter hos prenumeranten

  1. Anslut till prenumeranten i SQL Server Management Studio. Expandera Säkerhet, högerklicka på Inloggningar och välj sedan Ny inloggning.

    a. På sidan Allmänt under Inloggningsnamn väljer du Sök och lägger till inloggningen för <Subscriber_Machine_Name>\repl_distribution.

    b) På sidan Användarmappningar beviljar du medlemskap för db_owner-inloggningen till ProductReplica-databasen.

    Val för att konfigurera inloggningen på prenumeranten

  2. Välj OK för att stänga dialogrutan Ny inloggning .

Visa synkroniseringsstatus för prenumerationen

  1. Anslut till utgivaren i SQL Server Management Studio. Expandera servernoden och expandera sedan mappen Replikering .

  2. I mappen Lokala publikationer expanderar du publikationen AdvWorksProductTrans , högerklickar på prenumerationen i databasen ProductReplica och väljer sedan Visa synkroniseringsstatus. Prenumerationens aktuella synkroniseringsstatus visas:

    Val för att öppna dialogrutan Visa synkroniseringsstatus

  3. Om prenumerationen inte visas under AdvWorksProductTrans väljer du F5-nyckeln för att uppdatera listan.

Mer information finns i:

Mäta replikeringsfördröjning

I det här avsnittet använder du spårningstoken för att verifiera att ändringar replikeras till prenumeranten och för att fastställa svarstiden. Latens är den tid det tar för en ändring som görs av utgivaren att visas för prenumeranten.

  1. Anslut till utgivaren i SQL Server Management Studio. Expandera servernoden, högerklicka på mappen Replikering och välj sedan Starta replikeringsövervakaren:

    Kommandot

  2. Expandera en utgivargrupp i det vänstra fönstret, expandera utgivarinstansen och välj sedan publikationen AdvWorksProductTrans .

    a. Välj fliken Spårningstoken .
    b) Välj Infoga spårning.
    c. Visa förfluten tid för spårningstoken i följande kolumner: Utgivare till distributör, Distributör till prenumerant, Total svarstid. Värdet Väntar anger att token inte har nått en angiven punkt.

    Information för spårningstoken

Mer information finns i:

Nästa steg