Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op:SQL Server
Azure SQL Managed Instance
Gebruik SQL Server Profiler om vastgelegde gebeurtenisgegevens in een trace weer te geven. SQL Server Profiler geeft gegevens weer op basis van gedefinieerde traceringseigenschappen. Een manier om SQL Server-gegevens te analyseren, is door de gegevens te kopiƫren naar een ander programma, zoals SQL Server of Database Engine Tuning Advisor. Database Engine Tuning Advisor kan een traceringsbestand gebruiken dat SQL Batch- en RPC-gebeurtenissen (Remote Procedure Call) bevat als de text gegevenskolom is opgenomen in de trace. Als u ervoor wilt zorgen dat de juiste gebeurtenissen en kolommen worden vastgelegd voor gebruik met Database Engine Tuning Advisor, gebruikt u de vooraf gedefinieerde afstemmingssjabloon die wordt geleverd met SQL Server Profiler.
Wanneer u een tracering opent met behulp van SQL Server Profiler, hoeft het traceringsbestand de bestandsextensie .trc niet te hebben als het bestand is gemaakt door sql Server Profiler of opgeslagen procedures van het SQL Trace-systeem.
SQL Server Profiler kan ook SQL Trace-bestanden .log en algemene SQL-scriptbestanden lezen. Wanneer u een SQL Trace-bestand .log opent dat geen bestandsextensie heeft .log , bijvoorbeeld trace.txt, geeft u SQLTrace_Log op als de bestandsindeling.
U kunt de weergave-indeling van datum en tijd in SQL Server Profiler configureren om de traceringsanalyse te vergemakkelijken.
Problemen met gegevens oplossen
Met BEHULP van SQL Server Profiler kunt u problemen met gegevens oplossen door traceringen of traceringsbestanden te groeperen op basis van de duur, CPU-, leesbewerkingenof schrijfbewerkingen gegevenskolommen. Voorbeelden van gegevens die u kunt oplossen, zijn query's die slecht presteren of die uitzonderlijk veel logische leesbewerkingen hebben.
Aanvullende informatie vindt u door traceringen op te slaan in tabellen en Transact-SQL te gebruiken om een query uit te voeren op de gebeurtenisgegevens. Als u bijvoorbeeld wilt bepalen welke SQL:BatchCompleted gebeurtenissen een overmatige wachttijd hadden, voert u het volgende uit:
SELECT TextData,
Duration,
CPU
FROM trace_table_name
WHERE EventClass = 12
-- SQL:BatchCompleted events
AND CPU < (Duration * 1000);
De server rapporteert de duur van een gebeurtenis in microseconden (10^-6 seconden) en de hoeveelheid CPU-tijd die door de gebeurtenis wordt gebruikt in milliseconden (10^-3 seconden). In de grafische gebruikersinterface van SQL Server Profiler wordt de kolom Duur standaard weergegeven in milliseconden, maar wanneer een tracering wordt opgeslagen in een bestand of een databasetabel, wordt de duur kolomwaarde in microseconden geschreven. Deze metingen zijn bedoeld voor Transact-SQL (T-SQL)-query's.
Objectnamen weergeven bij het weergeven van traceringen
Als u de naam van een object wilt weergeven in plaats van de object-id (Object-id), moet u de gegevenskolommen Servernaam, Database-id en Objectnaam vastleggen.
Als u ervoor kiest om te groeperen op de object-id gegevenskolom, moet u eerst groeperen op de servernaam en database-id gegevenskolommen en vervolgens op de object-id gegevenskolom. Als u ervoor kiest om te groeperen op de index-id gegevenskolom, moet u eerst groeperen op de gegevenskolommen servernaam, database-iden object-id, en vervolgens op de index-id gegevenskolommen. U moet in deze volgorde groeperen omdat object- en index-id's niet uniek zijn tussen servers en databases (en tussen objecten voor index-id's).
Specifieke gebeurtenissen binnen een trace zoeken
Volg deze stappen om gebeurtenissen in een tracering te vinden en te groeperen:
Maak uw tracering.
Wanneer u de trace definieert, legt u naast andere gegevenskolommen die u wilt vastleggen, de gegevenskolommen voor gebeurtenisklasse, ClientProcessIDen begintijd vast. Zie Een tracering maken (SQL Server Profiler) voor meer informatie.
Groepeer de vastgelegde gegevens op de gegevenskolom Event Class en leg de tracering vast in een bestand of tabel. Als u de vastgelegde gegevens wilt groeperen, selecteert u Kolommen ordenen op het tabblad Gebeurtenissen selecteren van het dialoogvenster Traceringseigenschappen. Zie Kolommen ordenen die worden weergegeven in een tracering (SQL Server Profiler) voor meer informatie.
Start de tracering en stop deze nadat de juiste tijd is verstreken of het aantal gebeurtenissen is vastgelegd.
Zoek de doelevenementen.
Open het traceringsbestand of de tabel en vouw het knooppunt van de gewenste gebeurtenisklasse uit; bijvoorbeeld Deadlock Chain. Zie Een traceringsbestand openen (SQL Server Profiler) of Een traceringstabel openen (SQL Server Profiler) voor meer informatie.
Zoek de traceringsgegevens totdat u de gebeurtenissen vindt waarvoor u zoekt (gebruik de opdracht Zoeken in het menu Bewerken van SQL Server Profiler om u te helpen waarden in de trace te vinden). Noteer de waarden in de ClientProcessID en begintijd gegevenskolommen van de gebeurtenissen die u traceert.
De gebeurtenissen weergeven in context.
Geef de traceringseigenschappen weer en groepeer op de gegevenskolom ClientProcessID in plaats van op de gegevenskolom Gebeurtenisklasse .
Vouw de knooppunten uit van elke clientproces-id die u wilt weergeven. Doorzoek de tracering handmatig of gebruik Zoeken totdat u de eerder genoteerde begintijdwaarden van de doelevenementen hebt gevonden. De gebeurtenissen worden in chronologische volgorde weergegeven met de andere gebeurtenissen die deel uitmaken van elke geselecteerde clientproces-id. De gebeurtenissen Deadlock en Deadlock Chain , die zijn vastgelegd in de trace, worden bijvoorbeeld direct na de SQL:BatchStarting-gebeurtenissen binnen de uitgebreide clientproces-id weergegeven.
Dezelfde techniek kan worden gebruikt om gegroepeerde gebeurtenissen te vinden. Zodra u de gebeurtenissen hebt gevonden die u zoekt, groepeert u deze op ClientProcessID, ApplicationNameof een andere gebeurtenisklasse om gerelateerde activiteit in chronologische volgorde weer te geven.