Option Wiedergabe (Verwaltungstool Distributed Replay)

Gilt für: SQL Server 2016 (13.x), SQL Server 2017 (14.x) und SQL Server 2019 (15.x)

Wichtig

SQL Server Distributed Replay ist nicht mit SQL Server 2022 (16.x) verfügbar.

Das Verwaltungstool Microsoft SQL Server Distributed Replay, DReplay.exe, ist ein Befehlszeilentool, das Sie für die Kommunikation mit dem Distributed Replay-Controller verwenden können. In diesem Thema werden die replay -Befehlszeilenoption und die entsprechende Syntax beschrieben.

Die replay -Option initiiert die Ereigniswiedergabephase, in der der Controller Wiedergabedaten an die angegebenen Clients weiterleitet, die verteilte Wiedergabe startet und die Clients synchronisiert. Optional kann jeder Client, der an der Wiedergabe teilnimmt, die Wiedergabeaktivität aufzeichnen und eine Ergebnisdatei der Ablaufverfolgung lokal speichern.

Weitere Informationen zu den Syntaxkonventionen für das Verwaltungstool finden Sie unter Transact-SQL-Syntaxkonventionen.

Syntax


dreplay replay [-m controller] -d controller_working_dir [-o]  
    [-s target_server] -w clients [-c config_file]  
    [-f status_interval]  

Parameter

-mController
Gibt den Computernamen des Controllers an. Sie können mit "localhost" oder "." auf den lokalen Computer verweisen.

Wenn der -m -Parameter nicht angegeben ist, wird der lokale Computer verwendet.

-dcontroller_working_dir
Gibt das Verzeichnis auf dem Controller an, in dem die Zwischendatei gespeichert wird. Der -d -Parameter ist erforderlich.

Es gelten die folgenden Anforderungen:

  • Das Verzeichnis muss sich auf dem Controller befinden.

  • Sie müssen den vollständigen Pfad angeben, der mit einem Laufwerkbuchstaben beginnen muss (z. B. c:\WorkingDir).

  • Der Pfad darf nicht mit einem umgekehrten Schrägstrich ("\") enden.

  • UNC-Pfade werden nicht unterstützt.

-o
Zeichnet die Wiedergabeaktivität der Clients auf und speichert sie in einer Ergebnisdatei der Ablaufverfolgung unter dem Pfad, der in der Clientkonfigurationsdatei <ResultDirectory> vom DReplayClient.xml-Element angegeben wird.

Wenn der -o -Parameter nicht angegeben wird, dann wird die Ergebnisdatei der Ablaufverfolgung nicht generiert. Die Konsolenausgabe gibt am Ende der Wiedergabe Zusammenfassungsinformationen zurück, es sind jedoch keine weiteren Wiedergabestatistiken verfügbar.

-starget_server
Gibt die Zielinstanz von SQL Server an, für die die verteilte Arbeitsauslastung wiedergegeben werden soll. Sie müssen diesen Parameter im folgenden Format angeben: server_name[\instance name] .

Sie "localhost" oder "." nicht als Zielserver verwenden.

Der -s -Parameter ist nicht erforderlich, wenn das <Server> -Element im <ReplayOptions> -Abschnitt der Wiedergabekonfigurationsdatei DReplay.exe.replay.configangegeben wird.

Wenn der -s -Parameter verwendet wird, wird das <Server> -Element im <ReplayOptions> -Abschnitt der Wiedergabekonfigurationsdatei ignoriert.

-wclients
Dieser erforderliche Parameter ist eine durch Trennzeichen getrennte Liste (ohne Leerzeichen), die die Computernamen von Clients angibt, die an der verteilten Wiedergabe teilnehmen sollten. IP-Adressen sind nicht zulässig. Beachten Sie, dass die Clients bereits beim Controller registriert sein müssen.

Hinweis

Jeder Client wird beim Starten des Clientdiensts bei dem Controller registriert, der in der Clientkonfigurationsdatei angegeben ist.

-cconfig_file
Der vollständige Pfad der Wiedergabekonfigurationsdatei. Mit ihm wird der Speicherort angegeben, wenn die Datei an einem anderen Speicherort gespeichert wird.

Der -c -Parameter ist nicht erforderlich, wenn Sie die Standardwerte der Wiedergabekonfigurationsdatei DReplay.exe.replay.configverwenden möchten.

-fstatus_interval
Gibt die Häufigkeit (in Sekunden) für die Anzeige des Status an.

Wenn -f nicht angegeben wird, ist das Standardintervall 30 Sekunden.

Beispiele

In diesem Beispiel wird ein Großteil des Verhaltens der verteilten Wiedergabe von der geänderten Wiedergabekonfigurationsdatei DReplay.exe.replay.configabgeleitet.

  • Der -m -Parameter gibt an, dass ein Computer mit dem Namen controller1 als Controller fungiert. Der Computername muss angegeben werden, wenn der Controllerdienst auf einem anderen Computer ausgeführt wird.

  • Der -d -Parameter gibt den Speicherort der Zwischendatei auf dem Controller im Verzeichnis an ( c:\WorkingDir).

  • Der -o -Parameter legt fest, dass jeder angegebene Client die Wiedergabeaktivität aufzeichnet und in einer Ergebnisdatei der Ablaufverfolgung speichert. Hinweis: Mit dem <ResultTrace>-Element in der Konfigurationsdatei kann angegeben werden, ob Zeilenanzahl und Resultset aufgezeichnet werden.

  • Der -w -Parameter gibt an, dass die Computer client1 bis client4 als Clients an der verteilten Wiedergabe teilnehmen.

  • Der -c -Parameter wird verwendet, um auf die geänderte Konfigurationsdatei DReplay.exe.replay.configzu zeigen.

  • Der -s -Parameter ist nicht erforderlich, da das <Server> -Element im <ReplayOptions> -Element der Wiedergabekonfigurationsdatei DReplay.exe.replay.configangegeben wird.

Die Ereigniswiedergabephase wird mit der folgenden Syntax initiiert, wenn das Verwaltungstool und der Controller nicht auf demselben Computer ausgeführt werden:

dreplay replay -m controller1 -d c:\WorkingDir -o -w client1,client2,client3,client4 -c c:\DReplay.exe.replay.config  

Um einen synchronen Sequenzierungsmodus anzugeben, wird das <SequencingMode> -Element der Datei DReplay.exe.replay.config auf den Wert synchronizationfestgelegt. Der <ResultTrace> -Abschnitt der Wiedergabekonfigurationsdatei wurde geändert, um anzugeben, dass die Zeilenanzahl aufgezeichnet wird. Diese Änderungen werden im folgenden XML-Beispiel gezeigt:

<?xml version='1.0'?> 
<Options> 
    <ReplayOptions> 
        <Server>server_name\replay_target_instance</Server> 
        <SequencingMode>synchronization</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> 

Um einen Belastungssequenzierungsmodus anzugeben, wird das <SequencingMode> -Element der Datei DReplay.exe.replay.config auf den Wert stressfestgelegt. Das <ConnectTimeScale> -Element und das <ThinkTimeScale> -Element werden auf den Wert 50 festgelegt (um 50 Prozent anzugeben). Weitere Informationen zu Verbindungszeit und Reaktionszeit finden Sie unter Konfigurieren von Distributed Replay. Diese Änderungen werden im folgenden XML-Beispiel gezeigt:

<?xml version='1.0'?> 
<Options> 
    <ReplayOptions> 
        <Server>server_name\replay_target_instance_name</Server> 
        <SequencingMode>stress</SequencingMode> 
        <ConnectTimeScale>50</ConnectTimeScale> 
        <ThinkTimeScale>50</ThinkTimeScale> 
        <HealthmonInterval>60</HealthmonInterval> 
        <QueryTimeout>3600</QueryTimeout> 
        <ThreadsPerClient></ThreadsPerClient> 
    </ReplayOptions> 
    <OutputOptions> 
        <ResultTrace> 
            <RecordRowCount>Yes</RecordRowCount> 
            <RecordResultSet>No</RecordResultSet> 
        </ResultTrace> 
    </OutputOptions> 
</Options> 

Berechtigungen

Sie müssen das Verwaltungstool als interaktiver Benutzer mit einem lokalen Benutzerkonto oder Domänenbenutzerkonto ausführen. Um ein lokales Benutzerkonto zu verwenden, müssen das Verwaltungstool und der Controller auf demselben Computer ausgeführt werden.

Weitere Informationen finden Sie unter Distributed Replay Security.

Weitere Informationen