Wiedergeben einer Ablaufverfolgung in Assistent für Datenbankexperimente

In Assistent für Datenbankexperimente (DEA) können Sie eine erfasste Ablaufverfolgungsdatei für eine aktualisierte Testumgebung wiedergeben. Betrachten Sie beispielsweise eine Produktionsauslastung, die auf SQL Server 2008 R2 ausgeführt wird. Die Ablaufverfolgungsdatei für die Workload muss zweimal wiedergegeben werden: einmal in einer Umgebung mit derselben Version von SQL Server, die in der Produktion ausgeführt wird, und ein zweites Mal in einer Umgebung mit sql Server-Upgradezielversion, z. B. SQL Server 2016.

Hinweis

Zum Wiedergeben einer Ablaufverfolgung müssen Sie virtuelle Computer oder physische Computer manuell einrichten, um verteilte Wiedergabeablaufverfolgungen auszuführen. Weitere Informationen finden Sie unter Konfigurieren der verteilten Wiedergabe für Assistent für Datenbankexperimente.

Konfigurieren einer Ablaufverfolgungswiedergabe für Ziel 1

Zunächst müssen Sie eine Ablaufverfolgungswiedergabe für Ziel 1 ausführen, die Ihre vorhandene Produktionsumgebung darstellt.

  1. Wählen Sie in DEA auf der linken Navigationsleiste das Pfeilsymbol aus, und wählen Sie dann auf der Seite "Alle Wiedergabeen " die Option "Neue Wiedergabe" aus.

    Create a replay in DEA

    Hinweis

    Der Computer für verteilte Wiedergabecontroller erfordert Berechtigungen für das Benutzerkonto, das Sie für die Remoteverbindung verwenden.

  2. Geben Sie auf der Seite "Neue Wiedergabe " unter "Wiedergabedetails" die folgenden Informationen ein, oder wählen Sie sie aus:

    • Wiedergabename: Geben Sie einen Namen für die Wiedergabe der Ablaufverfolgung ein.

    • Quellablaufverfolgungsformat: Geben Sie das Format (Trace oder XEvents) der Quellablaufverfolgungsdatei an.

    • Vollständiger Pfad zur Quelldatei: Geben Sie den vollständigen Pfad zur Quellablaufverfolgungsdatei an. Wenn Sie DReplay verwenden, muss die Datei auf dem Computer vorhanden sein, der als DReplay-Controller fungiert, und das Benutzerkonto benötigt Zugriff auf die Datei und den Ordner.

    • Replay Tool: Angeben des Replay-Tools (DReplay oder InBuilt).

    • Name des Controllercomputers: Geben Sie den Namen des Computers an, der als Verteilter Wiedergabecontroller fungiert.

    • Speicherort der Ablaufverfolgung erneut wiedergeben: Geben Sie den Pfad zum Speichern von Ablaufverfolgungsdateien/XEvents an, die der Ablaufverfolgungswiedergabe zugeordnet sind.

      Hinweis

      Für eine Azure SQL-Datenbank oder ein Azure SQL-verwaltete Instanz müssen Sie den SAS-URI des Azure Blob Storage-Kontos bereitstellen.

  3. Vergewissern Sie sich, dass Sie die Datenbank(n) wiederhergestellt haben, indem Sie das Kontrollkästchen "Ja" aktivieren, die Datenbank(n) manuell wiederhergestellt haben.

  4. Geben Sie unter SQL Server-Verbindungsdetails die folgenden Informationen ein, oder wählen Sie sie aus:

    • Servertyp: Geben Sie den Typ des SQL Server an (SqlServer, AzureSqlDb, AzureSqlManagedInstance).
    • Servername: Geben Sie den Servernamen oder die IP-Adresse Ihres SQL Server an.
    • Authentifizierungstyp: Wählen Sie für den Authentifizierungstyp Windows aus.
    • Datenbankname: Geben Sie einen Namen für eine Datenbank ein, auf der eine serverseitige Ablaufverfolgung gestartet werden soll. Wenn Sie keine Datenbank angeben, wird die Ablaufverfolgung auf allen Datenbanken auf dem Server erfasst.
  5. Aktivieren oder deaktivieren Sie die Kontrollkästchen "Verbindung verschlüsseln" und "Serverzertifikat vertrauen" entsprechend Ihrem Szenario.

    New Replay page

Starten der Wiedergabe der Ablaufverfolgung auf Ziel 1

  • Nachdem Sie die erforderlichen Informationen eingegeben oder ausgewählt haben, wählen Sie "Start " aus, um die Wiedergabe der Ablaufverfolgung zu initiieren.

    Wenn die eingegebenen Informationen gültig sind, wird der Verteilte Wiedergabevorgang gestartet. Andernfalls werden die Textfelder mit falschen Informationen rot hervorgehoben. Stellen Sie sicher, dass die eingegebenen Werte korrekt sind, und wählen Sie dann "Start" aus.

    Replay progress against target 1

    Sie können den Prozess bei Bedarf überwachen. Wenn die Wiedergabe abgeschlossen ist, speichert DEA die Ergebnisse an dem von Ihnen angegebenen Speicherort in einer Datei.

    Replay against target 1 complete

Durchführen der Ablaufverfolgungswiedergabe für Ziel 2

Nachdem Sie die Wiedergabe der Ablaufverfolgung mit Ziel 1 abgeschlossen haben, müssen Sie dasselbe mit Ihrem zweiten Ziel tun, das die beabsichtigte Upgradeumgebung darstellt.

  1. Konfigurieren Sie eine Ablaufverfolgungswiedergabe, diesmal mithilfe von Details, die Ihrer Ziel-2-Umgebung zugeordnet sind.

  2. Starten Sie die Wiedergabe der Ablaufverfolgung auf Ziel 2.

    Sie können den Prozess bei Bedarf überwachen. Wenn die Wiedergabe abgeschlossen ist, speichert DEA die Ergebnisse an dem von Ihnen angegebenen Speicherort in einer Datei.

Häufig gestellte Fragen zur Wiedergabe von Ablaufverfolgungen

F: Welche Sicherheitsberechtigungen benötige ich, um eine Wiedergabeerfassung auf meinem Zielserver zu starten?

  • Der Windows-Benutzer, der den Ablaufverfolgungsvorgang in der DEA-Anwendung ausführt, muss über sysadmin-Rechte auf dem Zielcomputer verfügen, auf dem SQL Server ausgeführt wird. Diese Benutzerrechte sind erforderlich, um eine Ablaufverfolgung zu starten.
  • Das Dienstkonto, unter dem der Zielcomputer ausgeführt wird, auf dem SQL Server ausgeführt wird, muss Schreibzugriff auf den angegebenen Ablaufverfolgungsdateipfad haben.
  • Das Dienstkonto, unter dem die Verteilten Wiedergabeclientdienste ausgeführt werden, muss über Benutzerrechte verfügen, um eine Verbindung mit dem Zielcomputer herzustellen, auf dem SQL Server ausgeführt wird, und Abfragen auszuführen.

F: Kann ich mehr als eine Wiedergabe in derselben Sitzung starten?

Ja, Sie können mehrere Wiedergaben starten und sie in derselben Sitzung nachverfolgen.

F: Kann ich mehr als eine Wiedergabe parallel starten?

Ja, aber nicht mit demselben Satz von Computern, die in Controller plus Clients ausgewählt sind. Der Controller und die Clients sind ausgelastet. Richten Sie eine separate Gruppe von Computern unter Controller plus Client ein, um eine parallele Wiedergabe zu starten.

F: Wie lange dauert eine Wiedergabe normalerweise bis zum Ende?

Eine Wiedergabe dauert in der Regel die gleiche Zeit wie die Quellablaufverfolgung sowie die Zeit, die zum Vorverarbeitung der Quellablaufverfolgung benötigt wird. Wenn jedoch die Clientcomputer, die beim Controller registriert sind, nicht ausreichen, um die aus der Wiedergabe erzeugte Last zu verwalten, kann die Wiedergabe länger dauern. Sie können bis zu 16 Clientcomputer mit dem Controller registrieren.

F: Wie groß sind die Zielablaufverfolgungsdateien?

Die Zielablaufverfolgungsdateien können zwischen 5 und 15 Mal die Größe der Quellablaufverfolgung aufweisen. Die Dateigröße basiert auf der Anzahl der ausgeführten Abfragen. Beispielsweise können Abfrageplan-Blobs groß sein. Wenn sich die Statistiken für diese Abfragen häufig ändern, werden weitere Ereignisse erfasst.

F: Warum muss ich Datenbanken wiederherstellen?

SQL Server ist ein zustandsbehaftetes relationales Datenbankverwaltungssystem. Um einen A/B-Test ordnungsgemäß auszuführen, muss der Status der Datenbank jederzeit beibehalten werden. Andernfalls werden möglicherweise Fehler in Abfragen während der Wiedergabe angezeigt, die nicht in der Produktion angezeigt werden. Um diese Fehler zu verhindern, empfiehlt es sich, vor der Quellerfassung eine Sicherung zu erstellen. Ebenso ist das Wiederherstellen der Sicherung auf dem Zielcomputer, auf dem SQL Server ausgeführt wird, erforderlich, um Fehler während der Wiedergabe zu verhindern.

F: Was bedeutet "%" auf der Wiedergabeseite?

"%" bedeutet, dass nur ein Prozentsatz der übergebenen Abfragen übergeben wird. Sie können diagnostizieren, ob die Anzahl der Fehler erwartet wird. Möglicherweise werden die Fehler erwartet, oder die Fehler treten auf, da die Datenbank ihre Integrität verloren hat. Wenn der Wert für "%" nicht erwartungsvoll ist, können Sie die Ablaufverfolgung beenden und die Ablaufverfolgungsdatei in SQL Profiler anzeigen, um zu sehen, welche Abfragen nicht erfolgreich waren.

F: Wie kann ich die Ablaufverfolgungsereignisse betrachten, die während der Wiedergabe gesammelt wurden?

Öffnen Sie eine Zielablaufverfolgungsdatei, und zeigen Sie sie in SQL Profiler an. Oder wenn Sie Änderungen an der Wiedergabeerfassung vornehmen möchten, sind alle SQL Server-Skripts unter C:\Programme (x86)\Microsoft Corporation\Assistent für Datenbankexperimente\Scripts\StartReplayCapture.sql verfügbar.

F: Welche Ablaufverfolgungsereignisse erfasst DEA während der Wiedergabe?

DEA erfasst Ablaufverfolgungsereignisse, die leistungsbezogene Informationen enthalten. Die Aufnahmekonfiguration befindet sich im StartReplayCaptureTrace.sql-Skript. Diese Ereignisse sind typische SQL Server-Ablaufverfolgungsereignisse, die in der Referenzdokumentation sp_trace_setevent (Transact-SQL) aufgeführt sind.

Problembehandlung bei der Wiedergabe der Ablaufverfolgung

F: Warum kann ich keine Verbindung mit dem Computer herstellen, auf dem SQL Server ausgeführt wird?

  • Vergewissern Sie sich, dass der Name des Computers, auf dem SQL Server ausgeführt wird, gültig ist. Um dies zu bestätigen, versuchen Sie, mithilfe von SQL Server Management Studio (SSMS) eine Verbindung mit dem Server herzustellen.
  • Vergewissern Sie sich, dass die Firewallkonfiguration keine Verbindungen mit dem Computer blockiert, auf dem SQL Server ausgeführt wird.
  • Vergewissern Sie sich, dass der Benutzer über die erforderlichen Benutzerrechte verfügt.
  • Vergewissern Sie sich, dass das Dienstkonto des verteilten Replay-Clients Zugriff auf den Computer mit SQL Server hat.

Weitere Details finden Sie in den Protokollen in %temp%\DEA. Wenn das Problem weiterhin besteht, wenden Sie sich an das Produktteam.

F: Warum kann ich keine Verbindung mit dem Verteilten Wiedergabecontroller herstellen?

  • Stellen Sie sicher, dass der Verteilte Wiedergabecontroller-Dienst auf dem Controllercomputer ausgeführt wird. Um dies zu überprüfen, verwenden Sie die Verteilten Wiedergabeverwaltungstools (führen Sie den Befehl dreplay.exe status -f 1aus).
  • Wenn die Wiedergabe remote gestartet wird:
    • Vergewissern Sie sich, dass der Computer, auf dem DEA ausgeführt wird, erfolgreich den Controller anpingen kann. Vergewissern Sie sich, dass Firewalleinstellungen Verbindungen gemäß den Anweisungen auf der Seite " Umgebung konfigurieren" zulassen. Weitere Informationen finden Sie im Artikel SQL Server Distributed Replay.
    • Stellen Sie sicher, dass DCOM-Remotestart und Remoteaktivierung für den Benutzer des Verteilten Wiedergabecontrollers zulässig sind.
    • Stellen Sie sicher, dass DCOM Remote Access-Benutzerrechte für den Benutzer des Distributed Replay-Controllers zulässig sind.

F: Der Pfad der Ablaufverfolgungsdatei ist auf meinem Computer vorhanden. Warum kann der Verteilte Wiedergabecontroller ihn nicht finden?

Verteilte Wiedergabe kann nur auf lokale Datenträgerressourcen zugreifen. Sie müssen Quellablaufverfolgungsdateien auf den Verteilten Wiedergabecontrollercomputer kopieren, bevor Sie die Wiedergabe starten. Außerdem müssen Sie den Pfad auf der Seite "Neue Wiedergabe" der DEA angeben.

UNC-Pfade sind nicht mit verteilter Wiedergabe kompatibel. Verteilte Wiedergabepfade müssen lokal, absolute Pfade zur ersten Quellablaufverfolgungsdatei sein, einschließlich der Erweiterung.

F: Warum kann ich nicht auf der Seite "Neue Wiedergabe" nach Dateien suchen?

Da ordner auf einem Remotecomputer nicht durchsucht werden können, ist das Suchen nach Dateien nicht hilfreich. Es ist effizienter, die absoluten Pfade zu kopieren und einzufügen.

F: Ich habe mit der Wiedergabe mit einer Ablaufverfolgung begonnen, aber verteilte Wiedergabe hat keine Ereignisse wiedergegeben. Warum?

Dieses Problem kann auftreten, da die Ablaufverfolgungsdatei nicht über die wiederverspielbaren Ereignisse oder informationen zur Wiedergabe von Ereignissen verfügt. Überprüfen Sie, ob der bereitgestellte Pfad der Ablaufverfolgungsdatei auf eine Quellablaufverfolgungsdatei verweist. Die Quellablaufverfolgungsdatei wird mithilfe der konfiguration erstellt, die im Skript "StartCaptureTrace.sql" bereitgestellt wird.

F: Ich sehe "Unerwarteter Fehler ist aufgetreten!", wenn ich versuche, meine Ablaufverfolgungsdateien mithilfe des SQL Server 2017 Distributed Replay-Controllers vorzuverarbeiten. Warum?

Dieses Problem ist in der RTM-Version von SQL Server 2017 bekannt. Weitere Informationen finden Sie unter "Unerwarteter Fehler", wenn Sie das Feature "DReplay" verwenden, um eine erfasste Ablaufverfolgung in SQL Server 2017 wiederzuverwenden.

Das Problem wurde im neuesten kumulativen Update 1 für SQL Server 2017 behoben. Laden Sie die neueste Version des kumulativen Updates 1 für SQL Server 2017 herunter.

Siehe auch

  • Informationen zum Erstellen eines Analyseberichts, der Ihnen hilft, Einblicke in vorgeschlagene Änderungen zu erhalten, finden Sie unter Erstellen von Berichten.