Een tracering opnieuw afspelen in Database Experimentation Assistant
Notitie
Dit hulpprogramma is uit gebruik genomen op 15 december 2024. We hebben het ondersteunen van dit hulpprogramma gestopt voor eventuele problemen die zich voordoen en zullen geen bugfixes of verdere updates uitgeven.
In Database Experimentation Assistant (DEA) kunt u een vastgelegd traceringsbestand opnieuw afspelen op basis van een bijgewerkte testomgeving. Denk bijvoorbeeld aan een productieworkload die wordt uitgevoerd op SQL Server 2008 R2. Het traceringsbestand voor de workload moet twee keer worden afgespeeld: één keer in een omgeving met dezelfde versie van SQL Server die in productie wordt gebruikt en een tweede keer in een omgeving met de doelversie voor de upgrade, zoals SQL Server 2016.
Notitie
Voor het opnieuw afspelen van een tracering moet u handmatig virtuele machines of fysieke computers instellen om gedistribueerde replay-traceringen uit te voeren. Zie Gedistribueerde herhaling configureren voor Database Experimentation Assistantvoor meer informatie.
Een tracereplay configureren voor doelwit 1
Eerst moet u een traceringsherhaling uitvoeren op doel 1, die uw bestaande productieomgeving vertegenwoordigt.
Selecteer in DEA op de linkernavigatiebalk het pijlpictogram en selecteer vervolgens op de pagina Alle herhalingenNieuwe herhaling.
Notitie
Voor de computer met de gedistribueerde replaycontroller zijn machtigingen vereist voor het gebruikersaccount dat u gebruikt om extern verbinding te maken.
Voer op de pagina Opnieuw afspelen onder Weergavedetailsde volgende gegevens in of selecteer deze:
naam opnieuw afspelen: voer een naam in voor de traceringsherhaling.
Brontraceringsindeling: Specificeer het formaat (Trace of XEvents) van het brontraceringsbestand.
volledig pad naar bronbestand: geef het volledige pad naar het brontraceringsbestand op. Als u DReplay gebruikt, moet het bestand bestaan op de computer die fungeert als de DReplay-controller en het gebruikersaccount vereist toegang tot het bestand en de map.
Hulpprogramma voor opnieuw afspelen: geef het hulpprogramma voor opnieuw afspelen (DReplay of InBuilt) op.
Controllercomputernaam: Geef de naam op van de computer die fungeert als de Distributed Replay Controller.
Traceringslocatie opnieuw afspelen: geef het pad op om traceringsbestanden/XEvents op te slaan die zijn gekoppeld aan de traceringsherhaling.
Notitie
Voor een Azure SQL Database of azure SQL Managed Instance moet u de SAS-URI van het Azure Blob Storage-account opgeven.
Controleer of u de database(s) hebt hersteld door het selectievakje Ja, ik heb de database(s) handmatig hersteld selectievakje.
Voer onder sql Server-verbindingsgegevensde volgende gegevens in of selecteer deze:
- Servertype: geef het type SQL Server (SqlServer, AzureSqlDb-, AzureSqlManagedInstance) op).
- Servernaam: geef de servernaam of het IP-adres van uw SQL Server op.
- verificatietype: selecteer Windowsvoor het verificatietype.
- databasenaam: voer een naam in voor een database waarop een tracering aan de serverzijde moet worden gestart. Als u geen database opgeeft, wordt tracering vastgelegd in alle databases op de server.
Schakel de selectievakjes Verbinding Versleutelen en Servercertificaat Vertrouwen in of uit voor uw scenario.
Start de traceringsherhaling op doelwit 1
Nadat u de vereiste gegevens hebt ingevoerd of geselecteerd, selecteert u Start om de tracering opnieuw af te spelen.
Als de opgegeven gegevens geldig zijn, wordt het gedistribueerde herhalingsproces gestart. Anders worden de tekstvakken met onjuiste informatie gemarkeerd met rood. Zorg ervoor dat de waarden die u hebt ingevoerd juist zijn en selecteer Start.
U kunt het proces zo nodig bewaken. Wanneer het opnieuw afspelen is voltooid, worden de resultaten opgeslagen in een bestand op de locatie die u hebt opgegeven.
Voer de traceringsherhaling uit voor doelwit 2
Nadat u klaar bent met het uitvoeren van de traceringsherhaling op doel 1, moet u hetzelfde doen ten opzichte van uw tweede doel, dat de beoogde upgradeomgeving vertegenwoordigt.
Configureer een traceringsherhaling, deze keer met behulp van details die zijn gekoppeld aan uw doel 2-omgeving.
Start de traceringsherhaling op doelwit 2.
U kunt het proces zo nodig bewaken. Wanneer het opnieuw afspelen is voltooid, worden de resultaten opgeslagen in een bestand op de locatie die u hebt opgegeven.
Veelgestelde vragen over trace-reproductie
nl-NL: V: Welke beveiligingsmachtigingen heb ik nodig om een herhalingsopname op mijn doelserver te starten?
- De Windows-gebruiker waarop de traceringsbewerking in de DEA-toepassing wordt uitgevoerd, moet sysadmin-rechten hebben op de doelcomputer waarop SQL Server wordt uitgevoerd. Deze gebruikersrechten zijn vereist om een tracering te starten.
- Het serviceaccount waaronder de doelcomputer waarop SQL Server wordt uitgevoerd, moet schrijftoegang hebben tot het opgegeven traceringsbestandspad.
- Het serviceaccount waaronder de gedistribueerde replay-clientservices worden uitgevoerd, moet gebruikersrechten hebben om verbinding te maken met de doelcomputer waarop SQL Server wordt uitgevoerd en om query's uit te voeren.
V: Kan ik meer dan één herhaling starten in dezelfde sessie?
Ja, u kunt meerdere herhalingen starten en deze bijhouden tot voltooiing in dezelfde sessie.
V: Kan ik meer dan één herhaling parallel starten?
Ja, maar niet met dezelfde set computers die zijn geselecteerd in Controller plus Clients. De controller en clients zijn bezet. Stel een afzonderlijke set computers in onder Controller plus Client om een parallelle herhaling te starten.
V: Hoe lang duurt het meestal voordat een herhaling is voltooid?
Een herhaling duurt doorgaans dezelfde tijd als de brontracering plus de hoeveelheid tijd die nodig is om de brontracering vooraf te verwerken. Als de bij de controller geregistreerde clientcomputers echter niet voldoende zijn om de belasting te beheren die door de replay wordt veroorzaakt, kan het langer duren voordat de replay is voltooid. U kunt maximaal 16 clientcomputers registreren bij de controller.
V: Hoe groot zijn de doeltraceringsbestanden?
De doeltraceringsbestanden kunnen tussen 5 en 15 keer de grootte van de brontracering zijn. De bestandsgrootte is gebaseerd op het aantal query's dat wordt uitgevoerd. Queryplan-blobs kunnen bijvoorbeeld groot zijn. Als de statistieken voor deze query's vaak veranderen, worden er meer gebeurtenissen vastgelegd.
V: Waarom moet ik databases herstellen?
SQL Server is een toestandbewust relationeel databasebeheersysteem. Als u een A/B-test goed wilt uitvoeren, moet de status van de database altijd worden bewaard. Anders ziet u mogelijk fouten in query's tijdens het opnieuw afspelen die niet in productie worden weergegeven. Om deze fouten te voorkomen, raden we u aan een back-up te maken vlak voordat de bronopname wordt vastgelegd. Op dezelfde manier is het herstellen van de back-up op de doelcomputer met SQL Server vereist om fouten tijdens het opnieuw afspelen te voorkomen.
V: Wat houdt 'pass %' in op de afspeelpagina?
Doorgeven % betekent dat slechts een percentage van de doorgegeven query's. U kunt vaststellen of het aantal fouten wordt verwacht. De fouten kunnen worden verwacht of de fouten kunnen optreden omdat de integriteit van de database verloren is gegaan. Als de waarde voor % niet is wat u verwacht, kunt u de tracering stoppen en het traceringsbestand in SQL Profiler bekijken om te zien welke query's niet zijn geslaagd.
V: Hoe kan ik de traceringsgebeurtenissen bekijken die zijn verzameld tijdens het opnieuw afspelen?
Open een doeltraceringsbestand en bekijk het in SQL Profiler. Als u wijzigingen wilt aanbrengen in de herhalingsopname, zijn alle SQL Server-scripts beschikbaar op C:\Program Files (x86)\Microsoft Corporation\Database Experimentation Assistant\Scripts\StartReplayCapture.sql.
V: Welke traceringsevenementen verzamelt DEA tijdens het opnieuw afspelen van de gegevens?
DEA legt traceringsgebeurtenissen vast die prestatiegerelateerde informatie bevatten. De configuratie voor vastleggen bevindt zich in het StartReplayCaptureTrace.sql script. Deze gebeurtenissen zijn typische SQL Server-traceringsevenementen die worden vermeld in de referentiedocumentatie sp_trace_setevent (Transact-SQL).
Problemen met het afspelen van traceringen oplossen
V: Waarom kan ik geen verbinding maken met de computer waarop SQL Server wordt uitgevoerd?
- Controleer of de naam van de computer met SQL Server geldig is. Probeer verbinding te maken met de server met behulp van SQL Server Management Studio (SSMS).
- Controleer of de firewallconfiguratie verbindingen met de computer met SQL Server niet blokkeert.
- Controleer of de gebruiker over de vereiste gebruikersrechten beschikt.
- Controleer of het serviceaccount van de Distributed Replay-client toegang heeft tot de computer waarop SQL Server wordt uitgevoerd.
Meer informatie vindt u in de logboeken in %temp%\DEA. Neem contact op met het productteam als het probleem zich blijft voordoen.
V: Waarom kan ik geen verbinding maken met de Distributed Replay-controller?
- Controleer of de Distributed Replay-controllerservice wordt uitgevoerd op de controllercomputer. Gebruik de Distributed Replay Management Tools (voer de opdracht
dreplay.exe status -f 1
) uit om dit te controleren. - Als de herhaling op afstand wordt gestart:
- Controleer of de computer met DEA de controller kan pingen. Controleer of firewallinstellingen verbindingen toestaan volgens de instructies op de pagina Omgeving voor opnieuw afspelen configureren. Voor meer informatie, zie het artikel Overzicht van SQL Server Distributed Replay.
- Zorg ervoor dat DCOM Remote Launch en Remote Activation zijn toegestaan voor de gebruiker van de Distributed Replay-controller.
- Zorg ervoor dat DCOM Remote Access-gebruikersrechten zijn toegestaan voor de gebruiker van de Distributed Replay-controller.
V: Het pad naar het traceringsbestand bestaat op mijn computer. Waarom kan de Distributed Replay-controller deze niet vinden?
Gedistribueerd afspelen heeft alleen toegang tot lokale schijfbronnen. U moet brontraceringsbestanden kopiëren naar de server van de Distributed Replay-controller voordat u de herhaling start. U moet ook het pad opgeven op de pagina DEA Nieuwe Weergave.
UNC-paden zijn niet compatibel met gedistribueerde herhaling. Gedistribueerde replay-paden moeten lokale, absolute paden naar het eerste brontraceringsbestand zijn, inclusief extensie.
V: Waarom kan ik niet bladeren naar bestanden op de Nieuwe Replay-pagina?
Omdat we niet door mappen op een externe computer kunnen bladeren, is het zoeken naar bestanden niet nuttig. Het is efficiënter om de absolute paden te kopiëren en plakken.
V: Ik begon opnieuw af te spelen met een trace, maar Distributed Replay heeft geen gebeurtenissen herhaald. Waarom?
Dit probleem kan optreden omdat het traceringsbestand niet beschikt over ofwel de opnieuw afspeelbare gebeurtenissen, of de informatie over hoe gebeurtenissen opnieuw moeten worden afgespeeld. Controleer of het opgegeven pad voor het traceringsbestand naar een oorspronkelijk traceringsbestand verwijst. Het brontraceringsbestand wordt gemaakt met behulp van de configuratie die is opgegeven in het StartCaptureTrace.sql script.
V: Ik zie 'Onverwachte fout opgetreden!' wanneer ik mijn traceringsbestanden voorbewerk met behulp van de SQL Server 2017 Distributed Replay-controller. Waarom?
Dit probleem is bekend in de RTM-versie van SQL Server 2017. Voor meer informatie, zie Onverwachte fout wanneer u de DReplay-functie gebruikt om een vastgelegde trace opnieuw af te spelen in SQL Server 2017.
Het probleem is opgelost in de meest recente cumulatieve update 1 voor SQL Server 2017. Download de nieuwste versie van KB4038634 - Cumulatieve update 1 voor SQL Server 2017.