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.
De Query Profiler in de MSSQL-extensie voor Visual Studio Code legt databaseactiviteit in realtime vast en bewaakt deze met behulp van uitgebreide gebeurtenissen. U kunt live T-SQL-activiteiten observeren, trage bewerkingen identificeren en prestatieknelpunten vinden tijdens de ontwikkeling.
Query Profiler ondersteunt SQL Server (on-premises en in cloudomgevingen), Azure SQL Database en SQL Database in Fabric-eindpunten. U kunt actieve sessies bewaken, uitvoeringsdetails bekijken en begrijpen hoe uw toepassing communiceert met uw database tijdens het ontwikkelen en testen.
Aanbeveling
Query Profiler is momenteel in preview en kan worden gewijzigd op basis van feedback. Neem deel aan de community op GitHub-discussies om ideeën te delen of problemen te melden.
Features
Query Profiler in de MSSQL-extensie biedt de volgende mogelijkheden:
- Leg realtime query- en databaseactiviteit vast in een live gebeurtenissenraster.
- Stel nieuwe profielsessies in met sjabloonkeuze en sessienaam.
- Beheer de sessielevenscyclus met de acties Starten, Onderbreken, Hervatten, Stoppen en Gegevens wissen .
- Voer meerdere gelijktijdige profileringssessies uit en schakel tussen deze sessies met de sessiekiezer.
- Filter vastgelegde gebeurtenissen op tekst, databasenaam, duur en andere velden.
- Schakel automatisch schuiven in om de meest recente gebeurtenissen te volgen of oudere items te controleren.
- Vastgelegde gebeurtenissen exporteren naar CSV.
- Open en bekijk bestaande
.xel-bestanden in een alleen-lezen Profiler-raster. - Selecteer automatisch de juiste sjabloon voor Azure SQL Database-doelen (
Standard_Azure). - Werkt op Windows, macOS en Linux op alle ondersteunde Visual Studio Code-platforms.
Vereiste voorwaarden
- Installeer de nieuwste versie van de MSSQL-extensie voor Visual Studio Code.
- Een actieve verbinding met een ondersteund SQL Server-exemplaar of Azure SQL Database.
- Juiste servermachtigingen. U hebt de
ALTER ANY EVENT SESSIONmachtiging (of gelijkwaardig) nodig om een profileringssessie te starten.
Query profiler starten
U kunt Query Profiler starten vanuit de weergave Verbindingen of het opdrachtenpalet.
Vanuit de weergave Verbindingen:
Klik in de weergave Verbindingen met de rechtermuisknop op een SQL Server-exemplaar.
Selecteer Query Profiler starten (Preview).
Vanuit het opdrachtpalet:
Open het opdrachtenpalet (Ctrl+Shift+P of Cmd+Shift+P).
Selecteer MSSQL: Starten Query Profiler.
Als er momenteel geen verbinding actief is, selecteert u een verbinding wanneer hierom wordt gevraagd.
Het deelvenster Query Profiler wordt geopend, gekoppeld aan de geselecteerde verbinding.
Een profileringssessie maken
Wanneer het deelvenster Query Profiler wordt geopend zonder actieve sessie, wordt het scherm Nieuwe sessie weergegeven.
Controleer of wijzig de verbinding voor de profileringssessie.
Selecteer een sjabloon in de vervolgkeuzelijst. Beschikbare sjablonen zijn afhankelijk van uw verbindingsdoel.
SQL Server-sjablonen (on-premises):
Sjabloon Vastgelegde gebeurtenissen Description Standard_OnPrem sql_batch_completed,sql_batch_starting,rpc_starting,rpc_completed,sp_statement_starting,sp_statement_completed,attention,existing_connection,login,logoutUitgebreide profileringssjabloon voor het vastleggen van SQL-batch- en RPC-activiteit, opgeslagen gebeurtenissen op procedureoverzichtsniveau en verbindingsgebeurtenissen. Biedt de meest gedetailleerde weergave van serveractiviteit. TSQL_OnPrem sql_batch_completedsql_batch_starting,existing_connection,loginlogoutLichtgewicht sjabloon gericht op het uitvoeren van T-SQL-batches. Legt batchgebeurtenissen vast zonder opgeslagen procedure of RPC-details, waardoor overhead wordt verminderd voor scenario's waarbij alleen queryactiviteit op het hoogste niveau nodig is. TSQL_Locks sql_batch_completed, ,sql_batch_startinglock_acquired,lock_released, ,existing_connection, ,loginlogoutLegt T-SQL-batchgebeurtenissen vast, samen met vergrendelings- en releasegebeurtenissen. Handig voor het diagnosticeren van blokkadeproblemen, deadlocks en vergrendelingsgeschillen. TSQL_Duration sql_batch_completed(gefilterd: duur >= 1000 microseconden),sql_batch_starting, ,existing_connection,login,logoutLegt T-SQL-batchgebeurtenissen vast, maar filters sql_batch_completedom alleen batches op te nemen die 1 milliseconden of langer duren. Handig voor het identificeren van trage query's en het verminderen van ruis van snel uitgevoerde instructies.Azure SQL Database en SQL Database in Fabric-sjablonen:
Sjabloon Vastgelegde gebeurtenissen Description Standard_Azure sql_batch_completed, ,sql_batch_startingrpc_starting,rpc_completed, ,attention, ,existing_connectionloginlogoutStandaardprofileringssjabloon voor Azure SQL Database. Legt SQL-batch- en RPC-activiteit vast d.m.v. verbindingsgebeurtenissen. Vergelijkbaar met Standard_OnPrem, maar zonder opgeslagen gebeurtenissen op procedureniveau. TSQL_Azure sql_batch_completedsql_batch_starting,existing_connection,loginlogoutLichtgewicht T-SQL-profileringssjabloon voor Azure SQL Database. Legt batchuitvoeringsgebeurtenissen vast zonder RPC of opgeslagen proceduredetails. Opmerking
Azure SQL Database en SQL Database in Fabric-sjablonen maken sessies die zijn gericht op de database (
ON DATABASE) in plaats van de server. Vergrendelings- en duurfiltersjablonen zijn niet beschikbaar voor deze verbindingen.Voer een sessienaam in. Druk op Enter om te bevestigen of te ontsnappen om te annuleren.
Het deelvenster gaat over naar de livegebeurtenissenweergave en er wordt een Profiler-sessie gemaakt via de SQL Tools Service.
Livegebeurtenissen bewaken
Wanneer u een profileringssessie uitvoert, worden in het gebeurtenissenraster vastgelegde gebeurtenissen in chronologische volgorde gestreamd. In het raster worden de volgende kolommen weergegeven op basis van de geselecteerde sjabloon:
-
EventClass: type vastgelegde gebeurtenis, zoals
sql_batch_startingofrpc_completed. - TextData: de T-SQL-instructie of gebeurtenistekst.
- ApplicationName: de toepassing die de gebeurtenis heeft gegenereerd.
- LoginName: de aanmelding die is gekoppeld aan de gebeurtenis.
- ClientProcessID: Clientproces-id.
- SPID: Serverproces-id.
- StartTime: Tijdstempel van de gebeurtenis.
- CPU: VERBRUIKTE CPU-tijd.
- Leesbewerkingen: aantal logische leesbewerkingen.
- Schrijfbewerkingen: aantal logische schrijfbewerkingen.
- Duur: uitvoeringstijd van de gebeurtenis.
- DatabaseName: de database waar de gebeurtenis heeft plaatsgevonden.
- HostName: de hostcomputer die de gebeurtenis heeft gegenereerd.
Werkbalkacties
De werkbalk bevat de volgende besturingselementen voor de actieve sessie:
| Handeling | Description |
|---|---|
| Nieuwe sessie | Hiermee opent u de nieuwe sessiestroom om een andere profileringssessie te maken. |
| Begin | Hervat gebeurtenisstreaming voor een onderbroken of gestopte sessie. |
| Stop | Hiermee stopt u de profileringssessie. Er komen geen nieuwe gebeurtenissen binnen, maar vastgelegde gebeurtenissen blijven zichtbaar voor controle, filtering en export. |
| Onderbreken | Het raster wordt tijdelijk niet meer bijgewerkt. In de gebruikersinterface wordt een gepauzeerd indicator weergegeven. |
| Gegevens wissen | Hiermee worden alle rijen uit het raster van de huidige sessie gewist. Als de sessie nog steeds wordt uitgevoerd, blijven nieuwe gebeurtenissen het raster vullen. |
| Alle filters wissen | Hiermee verwijdert u alle actieve kolomfilters en herstelt u de volledige gebeurtenisweergave. |
| Alle kolommen snel filteren... | Zoekt in alle kolommen om snel overeenkomende gebeurtenissen te vinden. |
| exporteren naar CSV- | Hiermee exporteert u de vastgelegde gebeurtenissen van de huidige sessie naar een CSV-bestand. |
| Automatisch schuiven | Hiermee wordt aangegeven of het raster naar de meest recente rij schuift wanneer er nieuwe gebeurtenissen binnenkomen. Automatisch schuiven is standaard ingeschakeld voor nieuwe sessies. |
Gebeurtenissen filteren
Gebruik kolomfilters om het gebeurtenissenraster te beperken en zich te richten op relevante activiteit. Elke kolomkop bevat een filterpictogram waarmee een filter wordt geopend dat specifiek is voor het gegevenstype van die kolom.
Filteren op kolomwaarden (bijvoorbeeld DatabaseName of ApplicationName)
Selecteer het filterpictogram op een kolomkop, zoals
DatabaseName.Gebruik in de vervolgkeuzelijst filter het zoekvak om waarden te zoeken of selecteer en deselecteer specifieke items in de lijst met selectievakjes.
Selecteer Toepassen om het raster te filteren. Selecteer Wissen om het filter voor die kolom te verwijderen.
Filteren op numerieke waarden (bijvoorbeeld Duration)
Selecteer het filterpictogram op een numerieke kolom, zoals
Duration.Kies een vergelijkingsoperator (bijvoorbeeld
=,>)<en voer een numerieke drempelwaarde in.Selecteer Toepassen om het raster te filteren.
Wanneer een of meer filters actief zijn, worden filterchips weergegeven onder de werkbalk waarin wordt weergegeven welke kolommen worden gefilterd. Selecteer de X op een chip om dat filter te verwijderen of selecteer Alle filters wissen op de werkbalk om alle filters in één keer opnieuw in te stellen.
Opmerking
Filters passen clientzijde toe op zowel de momenteel weergegeven gebeurtenissen als nieuwe gebeurtenissen die tijdens de sessie worden gestreamd.
Meerdere sessies beheren
Query Profiler ondersteunt het gelijktijdig uitvoeren van meerdere profileringssessies, elk met een eigen verbinding, sjabloon en gebeurtenisbuffer.
Selecteer Nieuwe sessie op de werkbalk om een andere sessie te maken. De nieuwe sessie kan zich richten op dezelfde of een andere verbinding.
Gebruik de vervolgkeuzelijst Sessieselector om te schakelen tussen sessies. Elke sessie geeft de status weer (actief, onderbroken of gestopt) met een visuele indicator.
Wanneer u overschakelt tussen sessies:
- Het gebeurtenissenraster wordt bijgewerkt om de vastgelegde gebeurtenissen van de geselecteerde sessie weer te geven.
- De werkbalkacties worden uitgevoerd voor de geselecteerde sessie.
Vastgelegde gebeurtenissen exporteren
U kunt de vastgelegde gebeurtenissen vanuit een profileringssessie exporteren naar een CSV-bestand voor offlinebeoordeling of -delen.
Selecteer Exporteren naar CSV op de werkbalk. Exporteren is beschikbaar, ongeacht of de sessie wordt uitgevoerd, onderbroken of gestopt.
Kies een locatie en bestandsnaam voor het CSV-bestand.
Het geëxporteerde bestand bevat de gebeurtenissen die momenteel zichtbaar zijn in het raster van de sessie.
Een bestaand XEL-bestand openen
U kunt eerder vastgelegde uitgebreide gebeurtenis-traceringsbestanden (.xel) openen en controleren in het Query Profiler raster.
Open het opdrachtenpalet (Ctrl+Shift+P of Cmd+Shift+P).
Selecteer MSSQL: Open Profiler XEL-bestand....
Blader naar en selecteer het
.xelbestand dat u wilt openen.
Het bestand wordt geopend in een alleen-lezen Profiler-deelvenster. Gebeurtenissen worden geladen en weergegeven in hetzelfde raster met filtermogelijkheden. Besturingselementen Starten, Onderbreken en Stoppen zijn niet beschikbaar omdat het bestand geen livesessie is.
Ondersteunde scenario’s
Query Profiler werkt met de volgende SQL Server- en Azure SQL-doelen:
| Doelwit | Ondersteunde sjablonen |
|---|---|
| SQL Server (on-premise, VM's, containers) | Standard_OnPrem, TSQL_OnPrem, TSQL_Locks, TSQL_Duration |
| Azure SQL Database | Standard_Azure |
Opmerking
Als u een niet-ondersteunde sjabloon selecteert of een sessie op serverniveau in Azure SQL Database probeert uit te voeren, wordt in Query Profiler een gericht foutbericht weergegeven en wordt de juiste sjabloon voorgesteld.
Beperkingen
- Geen AI- of GitHub Copilot-integratie in deze preview.
- Geen correlatie tussen databases of meerdere servers, behalve wat uitgebreide gebeurtenissen en de huidige sjablonen bieden.
- Het opslaan of laden van vooraf ingestelde filters is niet mogelijk.
- Geen herhaling van traceringen of het genereren van scripts van vastgelegde gebeurtenissen.
- Geen offlineanalyse zonder een bestaand
.xelbestand of een liveverbinding. - Azure SQL Managed Instance-eindpunten worden niet gegarandeerd ondersteund in deze preview.
Feedback en ondersteuning
Als u ideeën, feedback of contact wilt opnemen met de community, kunt u deelnemen aan de discussie op https://aka.ms/vscode-mssql-discussions. Als u een fout wilt melden, gaat u naar https://aka.ms/vscode-mssql-bug. Als u een nieuwe functie wilt aanvragen, gaat u naar https://aka.ms/vscode-mssql-feature-request.
Verwante inhoud
- Quickstart: Verbinding maken met en query's uitvoeren op een database met de MSSQL-extensie voor Visual Studio Code
- GitHub Copilot voor MSSQL-extensie voor Visual Studio Code
- Schemaontwerper
- Schema vergelijken
- Documentatie voor Visual Studio Code
- MSSQL-extensie voor Visual Studio Code-opslagplaats op GitHub