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
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
Anslut till utgivaren i SQL Server Management Studio och expandera sedan servernoden.
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.
Expandera mappen Replikering , högerklicka på mappen Lokala publikationer och välj Ny publikation. Det här steget aktiverar guiden Ny publikation:
På sidan Publikationsdatabas väljer du
AdventureWorks2025och väljer sedan Nästa.På sidan Publikationstyp väljer du Transaktionspublikation och sedan Nästa:
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.
På sidan Filtrera tabellrader väljer du Lägg till.
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
Välj OK, och välj Nästa.
Markera kryssrutan Skapa en ögonblicksbild omedelbart och håll ögonblicksbilden tillgänglig för att initiera prenumerationer och välj Nästa:
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.
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.
På sidan Slutför guiden skriver du AdvWorksProductTrans i rutan Publikationsnamn och väljer Slutför:
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.
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å AdvWorksProductTrans i mappen Lokala publikationer och välj sedan Visa agentstatus för ögonblicksbild:
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
Anslut till utgivaren i SQL Server Management Studio, expandera servernoden och expandera sedan mappen Replikering .
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.
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
Anslut till utgivaren i SQL Server Management Studio, expandera servernoden och expandera sedan mappen Replikering .
Högerklicka på publikationen AdvWorksProductTrans i mappen Lokala publikationer och välj sedan Nya prenumerationer. Guiden för ny prenumeration startar:
På sidan Publikation väljer du AdvWorksProductTrans och sedan Nästa:
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.
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.
Dialogrutan Ny databas visas. Ange ProductReplica i rutan Databasnamn , välj OK och välj sedan Nästa:
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.
Välj Slutför för att acceptera standardvärdena på de återstående sidorna och slutför guiden.
Ange databasbehörigheter hos prenumeranten
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.
Välj OK för att stänga dialogrutan Ny inloggning .
Visa synkroniseringsstatus för prenumerationen
Anslut till utgivaren i SQL Server Management Studio. Expandera servernoden och expandera sedan mappen Replikering .
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:
Om prenumerationen inte visas under AdvWorksProductTrans väljer du F5-nyckeln för att uppdatera listan.
Mer information finns i:
- Initiera en prenumeration med en ögonblicksbild
- Skapa en push-prenumeration
- Prenumerera på publikationer
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.
Anslut till utgivaren i SQL Server Management Studio. Expandera servernoden, högerklicka på mappen Replikering och välj sedan Starta replikeringsövervakaren:
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.
Mer information finns i:
- Mäta svarstid och verifiera anslutningar för transaktionsreplikering
- Hitta fel med transaktionsreplikeringsagenterna