Översikt över distribuerad SQL Server-återspelning
gäller för: SQL Server 2016 (13.x),
SQL Server 2017 (14.x) och
SQL Server 2019 (15.x)
Viktig
SQL Server Distributed Replay är inte tillgängligt med SQL Server 2022 (16.x).
Funktionen Microsoft SQL Server Distributed Replay hjälper dig att utvärdera effekten av framtida SQL Server-uppgraderingar. Du kan också använda den för att utvärdera effekten av maskinvaru- och operativsystemuppgraderingar och SQL Server-justering.
Utfasning av distribuerad repris i SQL Server 2022
Distribuerad återuppspelning är föråldrad från och med SQL Server 2022 (16.x), enligt Inaktuella databasmotorfunktioner i SQL Server 2022 (16.x). Distributed Replay har ett beroende av SQL Server Native Client (SNAC), som togs bort från SQL Server 2022 (16.x). Den här ändringen dokumenteras i supportprinciper för SQL Server Native Client. Dessutom förlitar sig Distributed Replay på .trc
filer, som samlas in med SQL Trace och SQL Server Profiler, som båda också är inaktuella.
Den distribuerade replay-kontrollanten har tagits bort från SQL Server 2022-installationen (16.x) och Distributed Replay-klienten är inte längre tillgänglig i SQL Server Management Studio (SSMS) från och med version 18. För att hämta den distribuerade replay-styrenheten måste du installera SQL Server 2019 (15.x) eller en tidigare version. För att hämta den distribuerade replay-klienten måste du installera SSMS 17.9.1.
För kunder som använder SQL Server 2022 (16.x) kan du i stället använda Replay Markup Language (RML) Utilities, som inkluderar ostress, för att återköra en arbetsbelastning.
Fördelar med distribuerad repris
På samma sätt som SQL Server Profiler kan du använda Distributed Replay för att spela upp en insamlad spårning mot en uppgraderad testmiljö. Till skillnad från SQL Server Profiler är Distributed Replay inte begränsat till att spela upp arbetsbelastningen från en enda dator.
Distributed Replay erbjuder en mer skalbar lösning än SQL Server Profiler. Med Distributed Replay kan du spela upp en arbetsbelastning från flera datorer och bättre simulera en verksamhetskritisk arbetsbelastning.
Funktionen Distributed Replay kan använda flera datorer för att spela upp spårningsdata och simulera en verksamhetskritisk arbetsbelastning. Använd Distributed Replay för programkompatibilitetstestning, prestandatestning eller kapacitetsplanering.
När du ska använda distribuerad repris
SQL Server Profiler och Distributed Replay ger viss överlappning i funktioner.
Du kan använda SQL Server Profiler för att spela upp en insamlad spårning mot en uppgraderad testmiljö. Du kan också analysera reprisresultaten för att leta efter potentiella funktions- och prestandainkompatibiliteter. SQL Server Profiler kan dock bara spela upp en arbetsbelastning från en enda dator. När du spelar upp en intensiv OLTP-applikation som har många aktiva samtidiga anslutningar eller högt dataflöde kan SQL Server Profiler bli en flaskhals.
Distributed Replay erbjuder en mer skalbar lösning än SQL Server Profiler. Använd Distributed Replay för att spela upp en arbetsbelastning från flera datorer och bättre simulera en verksamhetskritisk arbetsbelastning.
I följande tabell beskrivs när varje verktyg ska användas.
Verktyg | Använd när... |
---|---|
SQL Server Profiler | Du vill använda den konventionella reprismekanismen på en enda dator. I synnerhet behöver du funktioner för felsökning rad för rad, till exempel kommandona Steg, Kör till marköroch Växla brytpunkt kommandon. Du vill spela upp en Analysis Services-spårning igen. |
Distribuerad återspelning | Du vill utvärdera programkompatibiliteten. Du vill till exempel testa scenarier för SQL Server- och operativsystemuppgradering, maskinvaruuppgraderingar eller indexjustering. Samtidigheten i den insamlade spårningen är så hög att en enda reprisklient inte kan simulera den tillräckligt. |
Begrepp om distribuerad repris
Följande komponenter utgör Distributed Replay-miljön:
administrationsverktyget för distribuerad uppspelning: Ett konsolprogram, DReplay.exe, som används för att kommunicera med den distribuerade uppspelningskontrollen. Använd administrationsverktyget för att styra den distribuerade reprisen.
Distributed Replay-styrenhet: En dator som kör Windows-tjänsten med namnet SQL Server Distributed Replay controller. Den distribuerade replay-kontrollanten samordnar de distribuerade replay-klienternas åtgärder. Det kan bara finnas en kontrollantinstans i varje distribuerad replay-miljö.
distribuerade replay-klienter: En eller flera datorer (fysiska eller virtuella) som kör Windows-tjänst med namnet SQL Server Distributed Replay-klient. Distributed Replay-klienterna arbetar tillsammans för att simulera arbetsbelastningar mot en instans av SQL Server. Det kan finnas en eller flera klienter i varje distribuerad replay-miljö.
Målserver: En instans av SQL Server som distribuerade Replay-klienter kan använda för att spela upp spårningsdata. Vi rekommenderar att målservern finns i en testmiljö.
Administrationsverktyget, styrenheten och klienten för distribuerad uppspelning kan installeras på olika datorer eller på samma dator. Det kan bara finnas en instans av den distribuerade replay-styrenheten eller klienttjänsten som körs på samma dator.
Följande bild visar den fysiska arkitekturen för SQL Server Distributed Replay:
Distribuerade återspelningsuppgifter
Aktivitetsbeskrivning | Artikel |
---|---|
Beskriver hur du konfigurerar distribuerad repris. | Konfigurera distribuerad omspelning |
Beskriver hur du förbereder indata för spårning. | Förbered indata för spårning |
Beskriver hur du spelar upp spårningsdata igen. | Spela upp spårningsdata |
Beskriver hur du granskar resultatet av Distributed Replay-spårningsdata. | Granska återspelningsresultaten |
Beskriver hur du använder administrationsverktyget för att initiera, övervaka och avbryta åtgärder på kontrollanten. | kommandoradsalternativ för administrationsverktyg (verktyget Distribuerad omspelning) |
Krav
Innan du använder funktionen Distribuerad repris bör du överväga de produktkrav som beskrivs i den här artikeln.
Krav för indataspårning
För att kunna spela upp spårningsdata måste de uppfylla kraven för version och format och innehålla nödvändiga händelser och kolumner.
Indataspårningsversioner
Distributed Replay stöder indataspårningsdata som samlas in i följande versioner av SQL Server:
- SQL Server 2019 (15.x)
- SQL Server 2017 (14.x) (kumulativ uppdatering 1 och senare versioner – se kumulativa uppdateringar för SQL Server 2017)
- SQL Server 2016 (13.x)
- SQL Server 2014 (12.x)
- SQL Server 2012 (11.x)
- SQL Server 2008 R2 (10.50.x)
- SQL Server 2008 (10.0.x)
- SQL Server 2005 (9.x)
Format för indataspårning
Indataspårningsdata kan vara i något av följande format:
En enda spårningsfil som har tillägget
.trc
.En uppsättning rollover-spårfiler som följer namngivningskonventionen för filöverrullning, till exempel:
<TraceFile>.trc
,<TraceFile>_1.trc
,<TraceFile>_2.trc
,<TraceFile>_3.trc
, ...<TraceFile>_n.trc
.
Indataspårningshändelser och kolumner
Indataspårningsdata måste innehålla specifika händelser och kolumner som ska spelas upp av Distributed Replay. Mallen TSQL_Replay i SQL Server Profiler innehåller alla nödvändiga händelser och kolumner, förutom extra information. Mer information om mallen finns i Replay Requirements.
Varning
Om du inte använder mallen TSQL_Replay för att samla in spårningsdata för indata, eller om kraven på indataspårning inte uppfylls, kan du få oväntade reprisresultat.
Du kan också skapa en anpassad spårningsmall och använda den för att spela upp händelser med Distributed Replay, så länge den innehåller följande händelser:
- Granska inloggning
- Granskningsutloggning
- Befintlig Anslutning
- RPC-utdataparameter
- RPC: Slutförd
- RPC:Startar
- SQL:BatchCompleted
- SQL:BatchStarting
Om du spelar upp markörer på serversidan krävs även följande händelser:
- StängKursor
- CursorExecute
- CursorOpen
- CursorPrepare
- CursorUnprepare
Om du spelar upp förberedda SQL-instruktioner på serversidan krävs även följande händelser:
- Utför Förberedt SQL
- Förbereda SQL
Alla indataspårningsdata måste innehålla följande kolumner:
- Händelseklass
- Händelseföljd
- TextData
- Programnamn
- Inloggningsnamn
- DatabaseName
- Databas-ID
- värdnamn
- Binära data
- SPID
- Starttid
- Sluttid
- IsSystem
Indataspårning och målserverkombinationer som stöds
I följande tabell visas de versioner av spårningsdata som stöds och för varje version vilken version av SQL Server data kan spelas upp mot.
Version av indataspårningsdata | Versioner av SQL Server som stöds för målserverinstansen |
---|---|
SQL Server 2005 (9.x) | SQL Server 2008 (10.0.x), SQL Server 2008 R2 (10.50.x), SQL Server 2012 (11.x), SQL Server 2014 (12.x), SQL Server 2016 (13.x), SQL Server 2017 (14.x), SQL Server 2019 (15.x) |
SQL Server 2008 (10.0.x) | SQL Server 2008 (10.0.x), SQL Server 2008 R2 (10.50.x), SQL Server 2012 (11.x), SQL Server 2014 (12.x), SQL Server 2016 (13.x), SQL Server 2017 (14.x), SQL Server 2019 (15.x) |
SQL Server 2008 R2 (10.50.x) | SQL Server 2008 R2 (10.50.x), SQL Server 2012 (11.x), SQL Server 2014 (12.x), SQL Server 2016 (13.x), SQL Server 2017 (14.x), SQL Server 2019 (15.x) |
SQL Server 2012 (11.x) | SQL Server 2012 (11.x), SQL Server 2014 (12.x), SQL Server 2016 (13.x), SQL Server 2017 (14.x), SQL Server 2019 (15.x) |
SQL Server 2014 (12.x) | SQL Server 2014 (12.x), SQL Server 2016 (13.x), SQL Server 2017 (14.x), SQL Server 2019 (15.x) |
SQL Server 2016 (13.x) | SQL Server 2016 (13.x), SQL Server 2017 (14.x), SQL Server 2019 (15.x) |
SQL Server 2017 (14.x) | SQL Server 2017 (14.x), SQL Server 2019 (15.x) |
SQL Server 2019 (15.x) | SQL Server 2019 (15.x) |
Operativsystemkrav
Operativsystem som stöds för att köra administrationsverktyget och styrenheten och klienttjänsterna är samma som din SQL Server-instans. Mer information om vilka operativsystem som stöds för SQL Server-instansen finns i SQL Server 2016 och 2017: Maskinvaru- och programvarukrav.
Distribuerade replay-funktioner stöds på både x86-baserade och x64-baserade operativsystem. För x64-baserade operativsystem stöds endast Windows i Windows-läge (WOW).
Installationsbegränsningar
En dator kan bara ha en enda instans av varje distribuerad replay-funktion installerad. I följande tabell visas hur många installationer av varje funktion som tillåts i en enda distribuerad replay-miljö.
Funktion för distribuerad repris | Maximalt antal installationer per reprismiljö |
---|---|
SQL Server Distributed Replay-kontrolltjänst | 1 |
SQL Server Distributed Replay-klienttjänst | 16 (fysiska eller virtuella datorer) |
Administrationsverktyg | Obegränsad |
Anteckning
Även om endast en instans av administrationsverktyget kan installeras på en enda dator kan du starta flera instanser av administrationsverktyget. Kommandon som utfärdas från flera administrationsverktyg löses i den ordning de tas emot.
Dataåtkomstprovider
Distributed Replay stöder endast SQL Server Native Client ODBC-dataåtkomstprovidern.
Krav för förberedelse av målserver
Vi rekommenderar att målservern finns i en testmiljö. Om du vill spela upp spårningsdata mot en annan instans av SQL Server än den ursprungligen registrerades kontrollerar du att följande steg har utförts på målservern:
Alla inloggningar och användare som finns i spårningsdata måste finnas i samma databas på målservern.
Alla inloggningar och användare på målservern måste ha samma behörigheter som de hade på den ursprungliga servern.
Databas-ID:t på målet bör helst vara samma som på källan. Men om de inte är samma kan matchning utföras baserat på DatabaseName- om det finns i spårningen.
Standarddatabasen för varje inloggning som finns i spårningsdata måste anges (på målservern) till respektive måldatabas för inloggningen. Till exempel innehåller spårningsdata som ska spelas upp aktivitet för inloggningen, Fred, i databasen Fred_Db på den ursprungliga instansen av SQL Server. På målservern måste därför standarddatabasen för inloggningen, Fred, anges till den databas som matchar Fred_Db (även om databasnamnet är annorlunda). Om du vill ange standarddatabasen för inloggningen använder du den
sp_defaultdb
systemlagringsproceduren.
Om du spelar upp händelser som är associerade med saknade eller felaktiga inloggningar resulterar det i omspelningsfel, men reprisåtgärden fortsätter.