Eine Protokollspur im Datenbankexperimentassistenten abspielen
Anmerkung
Dieses Tool wurde am 15. Dezember 2024eingestellt. Wir haben dieses Tool für alle auftretenden Probleme nicht mehr unterstützt, und es werden keine Fehlerkorrekturen oder weitere Updates ausgeführt.
Im Datenbankexperiments-Assistenten (DEA) können Sie eine erfasste Ablaufverfolgungsdatei in einer aktualisierten 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.
Anmerkung
Zum Wiedergeben einer Ablaufverfolgung müssen Sie virtuelle oder physische Computer manuell einrichten, um verteilte Ablaufverfolgungen auszuführen. Weitere Informationen finden Sie unter Konfigurieren Sie Distributed Replay für den Database Experimentation Assistant.
Konfigurieren Sie eine Ablaufverfolgungswiedergabe für Ziel 1
Sie müssen zunächst eine Verfolgungswiedergabe für Ziel 1 ausführen, das Ihre vorhandene Produktionsumgebung darstellt.
Wählen Sie in DEA auf der linken Navigationsleiste das Pfeil-Symbol aus, und wählen Sie dann auf der Seite Alle WiedergabenNeue Wiedergabeaus.
Anmerkung
Der Computer mit dem Distributed Replay Controller erfordert Berechtigungen für das Benutzerkonto, das Sie zur Remoteverbindung verwenden.
Geben Sie auf der Seite Neue Wiedergabe unter Wiedergabedetailsdie folgenden Informationen ein oder wählen Sie sie aus:
Wiedergabename: Geben Sie einen Namen für die Wiederholung 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: Geben Sie das Wiedergabetool an (DReplay oder InBuilt).
Controller-Computername: Geben Sie den Namen des Computers an, der als Distributed Replay Controller fungiert.
Ablaufverfolgungsspeicherort: Geben Sie den Pfad zum Speichern von Ablaufverfolgungsdateien/XEvents an, die der Ablaufverfolgungswiedergabe zugeordnet sind.
Anmerkung
Für eine Azure SQL-Datenbank oder eine verwaltete Azure SQL-Instanz müssen Sie den SAS-URI des Azure Blob Storage-Kontos bereitstellen.
Vergewissern Sie sich, dass Sie die Datenbank(en) wiederhergestellt haben, indem Sie das Kontrollkästchen Ja, ich habe die Datenbank(en) manuell wiederhergestellt auswählen.
Geben Sie unter SQL Server-Verbindungsdetailsdie 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 Windowsaus.
- Datenbankname: Geben Sie einen Namen für eine Datenbank ein, auf der eine serverseitige Ablaufverfolgung gestartet werden soll. Wenn Sie keine Datenbank angeben, wird das Tracing für alle Datenbanken auf dem Server durchgeführt.
Aktivieren oder deaktivieren Sie die Kontrollkästchen Verbindung verschlüsseln und Serverzertifikat vertrauen entsprechend Ihrem Szenario.
Starte die 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 starten.
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 Startaus.
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.
Führen Sie die Ablaufverfolgungswiedergabe für Ziel 2 durch
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.
Konfigurieren Sie eine Wiedergabe der Ablaufverfolgung, diesmal mit Details, die Ihrer Ziel-2-Umgebung zugeordnet sind.
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 Replay-Erfassung 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 mit 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 bis zum Abschluss in derselben Sitzung nachverfolgen.
F: Kann ich mehr als eine Wiedergabe parallel starten?
Ja, aber nicht mit demselben Satz an Computern, die im Controller plus Clientsausgewä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 zur 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 so groß wie die Quellablaufverfolgung sein. Die Dateigröße basiert auf der Anzahl der ausgeführten Abfragen. Beispielsweise können die 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 "pass %" auf der Wiedergabeseite?
Pass % bedeutet, dass nur ein Prozentsatz der Abfragen erfolgreich ist. 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 übergeben % 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 während der Wiedergabe gesammelten Trace-Ereignisse ansehen?
Ö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\Database Experimentation Assistant\Scripts\StartReplayCapture.sql verfügbar.
F: Welche Ablaufverfolgungsereignisse sammelt DEA während der Wiedergabe?
DEA erfasst Trace-Ereignisse, die leistungsbezogene Informationen enthalten. Die Aufnahmekonfiguration befindet sich im skript StartReplayCaptureTrace.sql. Diese Ereignisse sind typische SQL Server-Ablaufverfolgungsereignisse, die in der sp_trace_setevent (Transact-SQL) Referenzdokumentationaufgeführt sind.
Problembehebung bei der Trace-Wiedergabe
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 Replay-Controller herstellen?
- Stellen Sie sicher, dass der Verteilte Wiedergabecontroller-Dienst auf dem Controllercomputer ausgeführt wird. Verwenden Sie zum Überprüfen die Verteilten Wiedergabeverwaltungstools (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, erfolgreich den Controller anpingen kann. Vergewissern Sie sich, dass Firewalleinstellungen Verbindungen gemäß den Anweisungen auf der Seite Konfigurieren der Wiedergabeumgebung zulassen. Weitere Informationen finden Sie im Artikel SQL Server Distributed Replay overview.
- Stellen Sie sicher, dass DCOM-Remotestart und Remoteaktivierung für den Benutzer des Distributed Replay Controllers zugelassen 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 Distributed Replay-Controller-Computer kopieren, bevor Sie die Wiedergabe starten. Außerdem müssen Sie den Pfad auf der DEA Neue Wiedergabe Seite angeben.
UNC-Pfade sind nicht mit verteilter Wiedergabe kompatibel. Verteilte Wiedergabepfade müssen lokale, absolute Pfade zur ersten Quellablaufverfolgungsdatei sein, einschließlich der Dateiendung.
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 die Wiedergabe mit einer Ablaufverfolgung gestartet, aber Distributed Replay hat keine Ereignisse wiedergegeben. Warum?
Dieses Problem kann auftreten, weil die Ablaufverfolgungsdatei weder über wiederspielbare Ereignisse noch über Informationen zur Wiedergabe von Ereignissen verfügt. Überprüfen Sie, ob der bereitgestellte Pfad der Trace-Datei auf eine Quellablaufverfolgungsdatei verweist. Die Quellablaufverfolgungsdatei wird mithilfe der konfiguration erstellt, die im StartCaptureTrace.sql Skript bereitgestellt wird.
F: Ich sehe "Unerwarteter Fehler aufgetreten!", wenn ich versuche, meine Protokolldateien mithilfe des SQL Server 2017 Distributed Replay-Controllers vorzubereiten. 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 2017wiederzugeben.
Das Problem wurde im neuesten kumulativen Update 1 für SQL Server 2017 behoben. Laden Sie die neueste Version von KB4038634 – Kumulatives Update 1 für SQL Server 2017herunter.