Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op: SQL Server 2016 (13.x),
SQL Server 2017 (14.x) en
SQL Server 2019 (15.x)
Belangrijk
SQL Server Distributed Replay is niet beschikbaar met SQL Server 2022 (16.x).
De configuratiedetails van Microsoft SQL Server Distributed Replay worden opgegeven in XML-bestanden op de Distributed Replay-controller, clients en op de locatie waar het administratieprogramma is geïnstalleerd. Deze bestanden omvatten het volgende:
Controllerconfiguratiebestand: DReplayController.config
Wanneer de SQL Server Distributed Replay-controllerservice wordt gestart, wordt het logboekregistratieniveau uit het configuratiebestand van de controller geladen. DReplayController.config
Dit bestand bevindt zich in de map waarin u de Distributed Replay-controllerservice hebt geïnstalleerd:
<controllerinstallatiepad>\DReplayController.config
Het logboekregistratieniveau dat is opgegeven door het configuratiebestand van de controller, bevat het volgende:
Configuratie | XML-element | Beschrijving | Toegestane waarden | Verplicht |
---|---|---|---|---|
Niveau van logboekregistratie | <LoggingLevel> |
Dit specificeert het logboekniveau voor de controller-service. | INFORMATION | WARNING | CRITICAL |
Nee. De waarde is standaard CRITICAL . |
Voorbeeld
In dit voorbeeld ziet u een controllerconfiguratiebestand dat is gewijzigd om logboekvermeldingen van INFORMATION
en WARNING
te onderdrukken.
<?xml version='1.0'?>
<Options>
<LoggingLevel>CRITICAL</LoggingLevel>
</Options>
Clientconfiguratiebestand: DReplayClient.config
Wanneer de SQL Server Distributed Replay-clientservice wordt gestart, worden configuratie-instellingen uit het clientconfiguratiebestand geladen. DReplayClient.config
Dit bestand bevindt zich op elke client, in de map waarin u de Distributed Replay-clientservice hebt geïnstalleerd:
<client-installatiepad>\DReplayClient.config
De instellingen die zijn opgegeven door het clientconfiguratiebestand zijn onder andere:
Configuratie | XML-element | Beschrijving | Toegestane waarden | Verplicht |
---|---|---|---|---|
Controleur | <Controller> |
Hiermee geeft u de computernaam van de controller. De client probeert zich te registreren bij de gedistribueerde replay-omgeving door contact op te maken met de controller. | U kunt 'localhost ' of '. ' gebruiken om naar de lokale computer te verwijzen. |
Nee. Standaard probeert de client zich te registreren bij het controllerexemplaren dat lokaal wordt uitgevoerd (". "), als deze bestaat. |
Werkmap van de cliënt | <WorkingDirectory> |
Is het lokale pad op de client waar de verzendbestanden worden opgeslagen. De bestanden in deze map worden overschreven bij de volgende herhaling. |
Een volledige mapnaam, te beginnen met de schijfletter. | Nee. Als er geen waarde is opgegeven, worden de verzendbestanden opgeslagen op dezelfde locatie als het standaardclientconfiguratiebestand. Als er een waarde is opgegeven en die map niet bestaat op de client, wordt de clientservice niet gestart. |
Map met client resultaten | <ResultDirectory> |
Is het lokale pad op de client waar het resultaattraceringsbestand van de activiteit voor opnieuw afspelen (voor de client) wordt opgeslagen. De bestanden in deze map worden overschreven bij de volgende herhaling. |
Een volledige mapnaam, te beginnen met de schijfletter. | Nee. Als er geen waarde is opgegeven, wordt het resultaattraceringsbestand opgeslagen op dezelfde locatie als het standaardclientconfiguratiebestand. Als er een waarde is opgegeven en die map niet bestaat op de client, wordt de clientservice niet gestart. |
Niveau van logboekregistratie | <LoggingLevel> |
Is het logboekregistratieniveau voor de clientservice. | INFORMATION | WARNING | CRITICAL |
Nee. De waarde is standaard CRITICAL . |
Voorbeeld
In dit voorbeeld ziet u een clientconfiguratiebestand dat is gewijzigd om op te geven dat de controllerservice wordt uitgevoerd op een andere computer, een computer met de naam Controller1
. De WorkingDirectory
en ResultDirectory
elementen zijn geconfigureerd voor het gebruik van mappen c:\ClientWorkingDir
en c:\ResultTraceDir
, respectievelijk. Het logboekregistratieniveau is gewijzigd van de standaardwaarde om vermeldingen in logboeken te onderdrukken en WARNING
te registrerenINFORMATION
.
<?xml version='1.0'?>
<Options>
<Controller>Controller1</Controller>
<WorkingDirectory>c:\ClientWorkingDir</WorkingDirectory>
<ResultDirectory>c:\ResultTraceDir</ResultDirectory>
<LoggingLevel>CRITICAL</LoggingLevel>
</Options>
Configuratiebestand vooraf verwerken: DReplay.exe.preprocess.config
Wanneer u het beheerprogramma gebruikt om de fase voorverwerking te initiëren, worden de instellingen voor voorbewerking uit het configuratiebestand geladen. DReplay.exe.preprocess.config
Gebruik het standaardconfiguratiebestand of gebruik de beheertoolparameter -c om de locatie van een gewijzigd voorverwerkingsconfiguratiebestand op te geven. Zie Preprocess Option (Distributed Replay Administration Tool) voor meer informatie over het gebruik van de preprocessoptie van het beheerprogramma.
Het standaardconfiguratiebestand voorverwerking bevindt zich in de map waarin u het beheerprogramma hebt geïnstalleerd:
<installatiepad> voor beheerprogramma's\DReplayAdmin\DReplay.exe.preprocess.config
De configuratie-instellingen voor voorverwerking worden opgegeven in XML-elementen die subelementen zijn van het <PreprocessModifiers>
element in het configuratiebestand voor voorverwerking. Deze instellingen omvatten het volgende:
Configuratie | XML-element | Beschrijving | Toegestane waarden | Verplicht |
---|---|---|---|---|
Systeemsessieactiviteiten opnemen | <IncSystemSession> |
Geeft aan of systeemsessieactiviteiten tijdens de opname worden opgenomen tijdens het opnieuw afspelen. | Yes | No |
Nee. De waarde is standaard No . |
Maximale niet-actieve tijd | <MaxIdleTime> |
Hiermee wordt de niet-actieve tijd tot een absoluut getal (in seconden) ingekapseld. | Een geheel getal dat = -1 is >.-1 geeft geen wijziging aan van de oorspronkelijke waarde in het oorspronkelijke traceringsbestand.0 geeft aan dat er op een bepaald moment activiteit gaande is. |
Nee. De waarde is standaard -1 . |
Voorbeeld
Het standaardvoorbewerkingsconfiguratiebestand:
<?xml version='1.0'?>
<Options>
<PreprocessModifiers>
<IncSystemSession>No</IncSystemSession>
<MaxIdleTime>-1</MaxIdleTime>
</PreprocessModifiers>
</Options>
Configuratiebestand opnieuw afspelen: DReplay.exe.replay.config
Wanneer u het beheerprogramma gebruikt om de fase voor het opnieuw afspelen van gebeurtenissen te initiëren, worden de instellingen voor opnieuw afspelen vanuit het configuratiebestand voor opnieuw afspelen geladen. DReplay.exe.replay.config
Gebruik het standaardconfiguratiebestand of gebruik de parameter beheerprogramma -c om de locatie van een gewijzigd configuratiebestand voor opnieuw afspelen op te geven. Zie Replay Option (Distributed Replay Administration Tool) voor meer informatie over het gebruik van de optie voor opnieuw afspelen van het beheerprogramma.
Het standaardconfiguratiebestand voor opnieuw afspelen bevindt zich in de map waarin u het beheerprogramma hebt geïnstalleerd:
<installatiepad> voor beheerprogramma's\DReplayAdmin\DReplay.exe.replay.config
De configuratie-instellingen voor opnieuw afspelen worden opgegeven in XML-elementen die onderliggende elementen zijn van de <ReplayOptions>
en <OutputOptions>
elementen van het configuratiebestand voor opnieuw afspelen.
<ReplayOptions-element>
De instellingen die zijn opgegeven door het configuratiebestand voor opnieuw afspelen in het <ReplayOptions>
element, bevatten het volgende:
Configuratie | XML-element | Beschrijving | Toegestane waarden | Verplicht |
---|---|---|---|---|
Doelinstantie van SQL Server (de testserver) | <Server> |
Hiermee geeft u de naam van de server en het exemplaar van SQL Server waarmee verbinding moet worden gemaakt. |
server_name[\instance_name] U kunt ' localhost ' of '. ' niet gebruiken om de lokale host weer te geven. |
Nee, als de servernaam al is opgegeven met behulp van de doelserverparameter-s met de optie voor opnieuw afspelen van het beheerprogramma. |
Modus voor sequentiëren | <SequencingMode> |
Hiermee geeft u de modus op die wordt gebruikt voor gebeurtenisplanning. | synchronization | stress |
Nee. De waarde is standaard stress . |
Granulariteit van de stressschaal | <StressScaleGranularity> |
Hiermee specificeert u of alle verbindingen met de sessie-id (SPID) gezamenlijk (SPID) of onafhankelijk (verbinding) moeten worden geschaald in stressmodus. | SPID | Verbinding | Ja. De waarde is standaard SPID . |
Tijdschaal verbinden | <ConnectTimeScale> |
Wordt gebruikt om de verbindingstijd in de stressmodus te schalen. | Een geheel getal tussen 1 en 100 . |
Nee. De waarde is standaard 100 . |
Denk aan tijdschaal | <ThinkTimeScale> |
Wordt gebruikt om denktijd in stressmodus te schalen. | Een geheel getal tussen 0 en 100 . |
Nee. De waarde is standaard 100 . |
Groepsgewijze verbinding gebruiken | <UseConnectionPooling> |
Hiermee geeft u op of verbindingpooling wordt ingeschakeld op elke gedistribueerde replay-client. | Ja | Nee | Ja. De waarde is standaard Yes . |
Interval voor gezondheidsbewaking | <HealthmonInterval> |
Geeft aan hoe vaak de gezondheidscontrole moet worden uitgevoerd (in seconden). Deze waarde wordt alleen gebruikt in de synchronisatiemodus. |
Geheel getal >= 1 ( -1 om uit te schakelen) |
Nee. De waarde is standaard 60 . |
Querytime-out | <QueryTimeout> |
Hiermee geeft u de time-outwaarde van de query op, in seconden. Deze waarde is alleen van kracht totdat de eerste rij is geretourneerd. | Geheel getal >= 1 ( -1 om uit te schakelen) |
Nee. De waarde is standaard 3600 . |
Draadprocessen per klant | <ThreadsPerClient> |
Hiermee specificeert u het aantal replay-threads dat moet worden gebruikt voor elke replay-client. | Een geheel getal tussen 1 en 512 . |
Nee. Als dit niet is opgegeven, gebruikt Gedistribueerde herhaling een waarde van 255 . |
<Het element OutputOptions>
De instellingen die zijn opgegeven door het configuratiebestand voor opnieuw afspelen in het <OutputOptions>
element, bevatten het volgende:
Configuratie | XML-element | Beschrijving | Toegestane waarden | Verplicht |
---|---|---|---|---|
Aantal rijen opnemen | <RecordRowCount> |
Geeft aan of het aantal rijen moet worden vastgelegd voor elke resultatenset. | Yes | No |
Nee. De waarde is standaard Yes . |
Resultaatset vastleggen | <RecordResultSet> |
Geeft aan of de inhoud van alle resultatensets moet worden vastgelegd. | Yes | No |
Nee. De waarde is standaard No . |
Voorbeeld
Het standaardconfiguratiebestand voor opnieuw afspelen:
<?xml version='1.0'?>
<Options>
<ReplayOptions>
<Server></Server>
<SequencingMode>stress</SequencingMode>
<ConnectTimeScale></ConnectTimeScale>
<ThinkTimeScale></ThinkTimeScale>
<HealthmonInterval>60</HealthmonInterval>
<QueryTimeout>3600</QueryTimeout>
<ThreadsPerClient></ThreadsPerClient>
</ReplayOptions>
<OutputOptions>
<ResultTrace>
<RecordRowCount>Yes</RecordRowCount>
<RecordResultSet>No</RecordResultSet>
</ResultTrace>
</OutputOptions>
</Options>
Mogelijk probleem bij het uitvoeren met de synchronisatievolgordemodus
U kunt een symptoom tegenkomen waarbij de functionaliteit voor opnieuw afspelen lijkt te 'vastlopen' of gebeurtenissen langzaam opnieuw afspelen. Dit verschijnsel kan optreden als de tracering die opnieuw wordt afgespeeld, afhankelijk is van gegevens en/of gebeurtenissen die niet bestaan in de herstelde doeldatabase.
Een voorbeeld hiervan is een vastgelegde workload die gebruikmaakt van WAITFOR, zoals in de WAITFOR RECEIVE-statement van Service Broker. Wanneer u de synchronisatievolgordemodus gebruikt, worden batches serieel afgespeeld. Als een INSERT plaatsvindt op basis van de brondatabase na de back-up van de database, maar voordat de tracering voor opnieuw afspelen wordt gestart, moet de WAITFOR RECEIVE die tijdens het opnieuw afspelen wordt uitgegeven, mogelijk de volledige duur van de WAITFOR wachten. Gebeurtenissen die zijn ingesteld om opnieuw te worden afgespeeld nadat WAITFOR RECEIVE is vastgelopen. Dit kan resulteren in de prestatiemonitor-teller Batch-aanvragen per seconde voor de doeldatabase voor opnieuw afspelen die naar nul daalt totdat de WAITFOR is voltooid.
Als u de synchronisatiemodus wilt gebruiken en dit gedrag wilt voorkomen, moet u het volgende doen:
Maak de databases die u gaat gebruiken als de herhalingsdoelen.
Sta toe dat alle lopende activiteiten worden voltooid.
Maak een back-up van de databases en laat de back-up voltooien.
Begin met de opname van de trace voor gedistribueerde herhalingen en hervat de normale werkbelasting.