Teilen über


Wiedergeben einer Ablaufverfolgung im Assistenten für Datenbankexperimente

Hinweis

Dieses Tool wird am 15. Dezember 2024 ausgemustert. Wir werden dieses Tool für alle auftretenden Probleme in Zukunft nicht mehr unterstützen und keine Programmfehlerbehebung oder weitere Updates herausgeben.

Im Assistenten für Datenbankexperimente (DEA) können Sie eine erfasste Ablaufverfolgungsdatei für eine upgegradeten Testumgebung wiedergeben. Betrachten Sie beispielsweise eine Produktionsworkload, 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 einer upgegradeten Zielversion von SQL Server, z. B. SQL Server 2016.

Hinweis

Zum Wiedergeben einer Ablaufverfolgung müssen Sie virtuelle Maschinen oder physische Computer manuell einrichten, um Distributed Replay-Ablaufverfolgungen auszuführen. Weitere Informationen finden Sie unter Konfigurieren von Distributed Replay für den Assistenten für Datenbankexperimente.

Konfigurieren einer Ablaufverfolgungswiedergabe für Ziel 1

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

  1. Wählen Sie im DEA auf der linken Navigationsleiste das Pfeilsymbol aus und wählen Sie dann auf der Seite Alle Wiedergaben die Option Neue Wiedergabe aus.

    Erstellen einer Wiedergabe im DEA

    Hinweis

    Der Distributed Replay-Controller-Computer erfordert, dass das Benutzerkonto, das Sie für die Remoteverbindung verwenden, über Berechtigungen verfügt.

  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 Ablaufverfolgungswiedergabe 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 DReplay verwendet wird, 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.

    • Wiedergabe-Tool: Geben Sie das Wiedergabe-Tools (DReplay oder InBuilt) an.

    • Name des Controllercomputers: Geben Sie den Namen des Computers an, der als Distributed Replay-Controller fungiert.

    • Speicherort der Wiedergabeablaufverfolgung: Geben Sie den Pfad an, unter dem Sie die Ablaufverfolgungsdateien/XEvents, die der Ablaufverfolgungswiedergabe zugeordnet sind, speichern.

      Hinweis

      Für eine Azure SQL-Datenbank oder eine Azure SQL Managed Instance müssen Sie den SAS-URI für das Azure Blob Storage-Konto zur Verfügung stellen.

  3. Bestätigen Sie, dass Sie die Datenbank(en) wiederhergestellt haben, indem Sie das Kontrollkästchen Ja, ich habe die Datenbank(en) manuell wiederhergestellt auswählen.

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

    • Servertyp: Geben Sie den Typ des SQL Servers an (SqlServer, AzureSqlDb, AzureSqlManagedInstance).
    • Servername: Geben Sie den Servernamen oder die IP-Adresse Ihres SQL Servers an.
    • Authentifizierungstyp: Wählen Sie Windows als Authentifizierungstyp 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 am Server erfasst.
  5. Aktivieren oder deaktivieren Sie Ihrem Szenario entsprechend die Kontrollkästchen Verbindung verschlüsseln und Serverzertifikat vertrauen.

    Seite „Neue Wiedergabe“

Starten der Ablaufverfolgungswiedergabe auf Ziel 1

  • Wählen Sie nach dem Eingeben oder Auswählen der erforderlichen Informationen Starten aus, um die Ablaufverfolgungswiedergabe zu beginnen.

    Wenn die von Ihnen eingegebenen Informationen gültig sind, wird der Distributed Replay-Prozess gestartet. Andernfalls werden die Textfelder mit falschen Informationen rot hervorgehoben. Stellen Sie sicher, dass die von Ihnen eingegebenen Werte korrekt sind, und wählen Sie dann Starten aus.

    Wiedergabestatus für Ziel 1

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

    Wiedergabe für Ziel 1 abgeschlossen

Durchführen der Ablaufverfolgungswiedergabe für Ziel 2

Nachdem Sie die Ablaufverfolgungswiedergabe für Ziel 1 abgeschlossen haben, müssen Sie dasselbe für Ihr zweiten Ziel durchführen, das die beabsichtigte Upgradeumgebung darstellt.

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

  2. Starten Sie die Ablaufverfolgungswiedergabe auf Ziel 2.

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

Häufig gestellte Fragen zur Ablaufverfolgungswiedergabe

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

  • Windows-Benutzer:innen, die den Ablaufverfolgungsvorgang in der DEA-Anwendung ausführen, müssen über SysAdmin-Rechte auf dem Bereitstellungszielcomputer verfügen, auf dem SQL Server ausgeführt wird. Diese Benutzerrechte sind erforderlich, um eine Ablaufverfolgung zu starten.
  • Das Dienstkonto, unter dem der Bereitstellungszielcomputer ausgeführt wird, auf dem SQL Server ausgeführt wird, muss Schreibzugriff auf den angegebenen Ablaufverfolgungsdateipfad haben.
  • Das Dienstkonto, unter dem die Distributed Replay-Client-Dienste ausgeführt werden, muss über Benutzerrechte verfügen, um eine Verbindung mit dem Bereitstellungszielcomputer 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 bis zum Abschluss verfolgen.

F: Kann ich mehr als eine Wiedergabe parallel starten?

Ja, aber sie können nicht denselben Satz an Computern in Controller plus Clients auswählen. Der Controller und die Clients sind ausgelastet. Richten Sie einen separate Satz an Computern unter Controller plus Client ein, um eine parallele Wiedergabe zu starten.

F: Wie lange dauert es normalerweise bis eine Wiedergabe zu Ende ist?

Eine Wiedergabe dauert in der Regel dieselbe Zeit wie die Quellablaufverfolgung plus der Zeit, die zur Vorverarbeitung der Quellablaufverfolgung benötigt wird. Wenn jedoch die Clientcomputer, die mit dem Controller registriert sind, nicht ausreichen, um die durch die Wiedergabe erzeugte Last zu verwalten, kann es länger dauern bis die Wiedergabe abgeschlossen ist. Sie können bis zu 16 Clientcomputer mit dem Controller registrieren.

F: Wie groß sind die Zielablaufverfolgungsdateien?

Die Zielablaufverfolgungsdateien können zwischen fünf- und fünfzehnmal so groß wie die Quellablaufverfolgung sein. Die Dateigröße basiert auf der Anzahl der ausgeführten Abfragen. Abfrageplan-Blobs können beispielsweise groß sein. Wenn sich die Statistiken für diese Abfragen häufig ändern, werden mehr Ereignisse erfasst.

F: Warum muss ich Datenbanken wiederherstellen?

SQL Server ist ein zustandsbehaftetes Managementsystem für relationale Datenbanken. Um einen A/B-Test ordnungsgemäß auszuführen, muss der Status der Datenbank jederzeit beibehalten werden. Andernfalls werden während der Wiedergabe möglicherweise Fehler in Abfragen angezeigt, die nicht in der Produktion angezeigt werden. Um diese Fehler zu verhindern, empfiehlt es sich, direkt vor der Quellerfassung ein Backup zu erstellen. Ebenso ist das Wiederherstellen des Backups am Bereitstellungszielcomputer, auf dem SQL Server ausgeführt wird, erforderlich, um Fehler während der Wiedergabe zu verhindern.

F: Was bedeutet „Weitergabe %“ auf der Wiedergabeseite?

Weitergabe % bedeutet, dass nur ein Prozentsatz der Abfragen weitergegeben wurde. Sie können diagnostizieren, ob die Anzahl der Fehler erwartet wurde. Möglicherweise wurden die Fehler erwartet, oder die Fehler treten auf, da die Datenbank ihre Integrität verloren hat. Wenn der Wert für Weitergabe % nicht der ist, den Sie erwartet haben, können Sie die Ablaufverfolgung stoppen 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. Alternativ sind alle SQL-Serverskripts unter C:\Program Files (x86)\Microsoft Corporation\Assistent für Datenbankexperimente\Skripts\StartReplayCapture.sql verfügbar, falls Sie Änderungen an der Wiedergabeerfassung vornehmen möchten.

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

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

Problembehandlung für die Ablaufverfolgungswiedergabe

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

  • Vergewissern Sie sich, dass der Name des Computers, auf dem SQL Server ausgeführt wird, gültig ist. Um das zu tun, versuchen Sie mithilfe von SQL Server Management Studio (SSMS) eine Verbindung zum Server herzustellen.
  • Vergewissern Sie sich, dass die Firewallkonfiguration keine Verbindungen mit dem Computer, auf dem SQL Server ausgeführt wird, blockiert.
  • Vergewissern Sie sich, dass die Benutzer:innen über die erforderlichen Benutzerrechte verfügen.
  • Vergewissern Sie sich, dass das Distributed Replay-Client-Dienstkonto Zugriff auf den Computer, auf dem SQL Server ausgeführt wird, hat.

Weitere Details finden Sie in den Protokollen in %temp%\DEA. Sollte das Problem weiterhin bestehen, wenden Sie sich an das Produktionsteam.

F: Warum kann ich keine Verbindung zum Distributed Replay-Controller herstellen?

  • Überprüfen Sie, ob der Distributed Replay-Controller-Dienst auf dem Controllercomputer ausgeführt wird. Um das zu tun, verwenden Sie die Distributed Replay-Verwaltungstools (führen Sie den Befehl dreplay.exe status -f 1 aus).
  • Wenn die Wiedergabe remote gestartet wird:
    • Vergewissern Sie sich, dass der Computer, auf dem DEA ausgeführt wird, den Controller erfolgreich anpingen kann. Vergewissern Sie sich, dass die Firewalleinstellungen Verbindungen gemäß den Anweisungen auf der Seite Wiedergabeumgebung konfigurieren zulassen. Weitere Informationen finden Sie unter SQL Server Distributed Replay.
    • Stellen Sie sicher, dass den Benutzer:innen des Distributed Replay-Controllers DCOM-Remotestart und -Remoteaktivierung gewährt sind.
    • Stellen Sie sicher, dass den Benutzer:innen des Distributed Replay-Controllers DCOM-Remotezugriffsrechte gewährt sind.

F: Der Ablaufverfolgungsdateipfad ist auf meinem Computer vorhanden. Warum kann der Distributed Replay-Controller ihn nicht finden?

Distributed Replay kann nur auf lokale Datenträgerressourcen zugreifen. Sie müssen Quellablaufverfolgungsdateien auf den Distributed Replay-Controller-Computer kopieren, bevor Sie die Wiedergabe starten. Außerdem müssen Sie den Pfad auf der DEA-Seite Neue Wiedergabe bereitstellen.

UNC-Pfade sind nicht mit Distributed Replay kompatibel. Distributed Replay-Pfade müssen lokale, absolute Pfade zur ersten Quellablaufverfolgungsdatei sein, einschließlich Erweiterung.

F: Warum kann ich auf der Seite „Neue Wiedergabe“ nicht 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 eine Wiedergabe mit einer Ablaufverfolgung gestartet, Distributed Replay hat jedoch keine Ereignisse wiedergegeben. Warum?

Dieses Problem kann auftreten, wenn die Ablaufverfolgungsdatei entweder nicht über die wiederzugebenden Ereignisse oder über die Informationen, wie die Ereignisse wiederzugeben sind, verfügt. Überprüfen Sie, ob der bereitgestellte Ablaufverfolgungsdateipfad auf eine Quellablaufverfolgungsdatei verweist. Die Quellablaufverfolgungsdatei wird mithilfe der Konfiguration erstellt, die im Skript StartCaptureTrace.sql bereitgestellt wird.

F: Mir wird die Meldung „Ein unerwarteter Fehler ist aufgetreten!“ angezeigt, wenn ich versuche, meine Ablaufverfolgungsdateien mithilfe des Distributed Replay-Controllers von SQL Server 2017 vorzuverarbeiten. Warum?

Dieses Problem ist in der RTM-Version von SQL Server 2017 bekannt. Weitere Informationen finden Sie unter Unerwarteter Fehler bei der Verwendung des DReplay-Features zur Wiedergabe einer erfassten Ablaufverfolgung in SQL Server 2017.

Das Problem wurde im neuesten kumulativen Update 1 für SQL Server 2017 behoben. Laden Sie die aktuelle Version von Kumulatives Update 1 für SQL Server 2017 herunter.

Siehe auch

  • Informationen zum Erstellen eines Analyseberichts, der Ihnen hilft, Erkenntnisse zu vorgeschlagenen Änderungen zu erhalten, finden Sie unter Berichte erstellen.