Sdílet prostřednictvím


Profiler dotazů (Preview)

Query Profiler v rozšíření MSSQL pro Visual Studio Code umožňuje zaznamenávat a monitorovat databázové aktivity v reálném čase přímo v editoru. S využitím rozšířených událostí poskytuje Profiler dotazů monitorování výkonu s nízkou režií, které vám pomůže rychle sledovat živou aktivitu T-SQL, identifikovat pomalé operace a odhalit kritické body výkonu při sestavování.

Profiler dotazů podporuje SQL Server (místní nebo v prostředí privátního a veřejného cloudu) a Azure SQL Database. Během vývoje a testování můžete monitorovat aktivní relace, kontrolovat podrobnosti o provádění a pochopit, jak vaše aplikace komunikuje s databází během vývoje a testování, aniž byste museli přepínat mezi monitorovacími nástroji a editorem.

Snímek obrazovky s mřížkou živých událostí Profileru dotazů zobrazující zachycenou databázovou aktivitu v rozšíření MSSQL pro Visual Studio Code

Návod

Profiler dotazů je aktuálně ve verzi Preview a může se změnit na základě zpětné vazby. Připojte se k naší komunitě v diskuzích Na GitHubu a sdílejte nápady nebo nahlašujte problémy.

Features

Query Profiler v rozšíření MSSQL poskytuje následující možnosti:

  • Zachytávání dotazů a databázových aktivit v reálném čase v mřížce živých událostí
  • Nakonfigurujte nové relace pro profilování pomocí výběru šablony a pojmenování relací.
  • Řídí životní cyklus relace pomocí akcí Start, Pause, Resume, Stop a Clear Data .
  • Spusťte několik souběžných relací profilace a přepněte mezi nimi pomocí výběru relace.
  • Filtrování zachycených událostí podle textu, názvu databáze, doby trvání a dalších polí
  • Přepnutím automatického posouvání můžete sledovat nejnovější události nebo kontrolovat starší položky.
  • Export zachycených událostí do formátu CSV.
  • Otevřete a zobrazte existující .xel soubory v mřížce Profileru jen pro čtení.
  • Automaticky vyberte příslušnou šablonu pro cíle služby Azure SQL Database (Standard_Azure).
  • Funguje ve Windows, macOS a Linuxu na všech podporovaných platformách Visual Studio Code.

Předpoklady

  • Nainstalujte nejnovější verzi rozšíření MSSQL pro Visual Studio Code.
  • Aktivní připojení k podporované instanci SQL Serveru nebo Azure SQL Database.
  • Příslušná oprávnění serveru. K zahájení relace profilování potřebujete ALTER ANY EVENT SESSION oprávnění (nebo ekvivalentní).

Spuštění profileru dotazů

Profiler dotazů můžete spustit ze zobrazení Připojení nebo z palety příkazů.

Ze zobrazení Připojení:

  1. V zobrazení Připojení klikněte pravým tlačítkem myši na instanci SQL Serveru.

  2. Vyberte Spustit profiler dotazů (Preview).

    Snímek obrazovky zobrazující možnost Spustit profiler dotazů v kontextové nabídce Připojení

Z palety příkazů:

  1. Otevřete paletu příkazů (Ctrl+Shift+P nebo Cmd+Shift+P).

  2. Vyberte MSSQL: Spusťte profiler dotazů.

  3. Pokud není aktuálně aktivní žádné připojení, vyberte po zobrazení výzvy připojení.

Panel dotazového profileru se otevře a je svázán s vybraným připojením.

Vytvořte relaci profilování

Když se panel Query Profileru otevře bez aktivní relace, zobrazí se obrazovka Nová relace.

  1. Ověřte nebo změňte připojení pro profilovací relaci.

  2. V rozevíracím seznamu vyberte šablonu . Dostupné šablony závisí na cíli připojení:

    • Standard_OnPrem: Standardní šablona profilace pro místní SQL Server.
    • TSQL_OnPrem: Šablona profilace T-SQL pro místní SQL Server.
    • TSQL_Locks: Šablona profilace T-SQL s událostmi uzamčení pro místní SQL Server.
    • TSQL_Duration: Filtrování šablon profilace T-SQL podle doby trvání pro místní SQL Server.
    • Standard_Azure: Šablona standardní profilace pro Azure SQL Database

    Snímek obrazovky s rozevíracím seznamem pro výběr šablony zobrazující dostupné šablony profileru

    Poznámka:

    Když jako cíl vyberete Azure SQL Database, rozšíření automaticky vybere Standard_Azure šablonu. Pokud je dostupná jenom jedna platná šablona, rozšíření ji vybere automaticky nebo ji zobrazí jako text jen pro čtení.

  3. Zadejte název relace. Stisknutím klávesy Enter akci potvrďte nebo stisknutím klávesy Escape akci zrušíte.

    Snímek obrazovky s výzvou k zadání názvu relace pro novou relaci Profileru dotazů

Okno přejde do zobrazení živých událostí a relace Profileru se vytvoří prostřednictvím služby SQL Tools.

Monitorování živých událostí

Při spuštění relace profilace streamuje mřížka událostí zachycené události v chronologickém pořadí. V mřížce se zobrazí následující sloupce na základě vybrané šablony:

  • EventClass: Typ zachycené události, například sql_batch_starting nebo rpc_completed.
  • TextData: Příkaz T-SQL nebo text události.
  • ApplicationName: Aplikace, která událost vygenerovala.
  • LoginName: Přihlášení přidružené k události.
  • ClientProcessID: Identifikátor procesu klienta.
  • SPID: ID procesu serveru.
  • Čas zahájení: Časové razítko události.
  • CPU: Spotřebovaná doba procesoru.
  • Čtení: Počet logických čtení.
  • Zápisy: Počet logických zápisů.
  • Doba trvání: Doba provádění události.
  • DatabaseName: Databáze, ve které došlo k události.
  • HostName: Hostitelský počítač, který událost vygeneroval.

Akce panelu nástrojů

Panel nástrojů poskytuje pro aktivní relaci následující ovládací prvky:

Činnost Description
Nová relace Otevře nový proces relace pro vytvoření další profilovací relace.
Start Obnoví streamování událostí pro pozastavenou nebo zastavenou relaci.
Stop Zastaví relaci profilace. Nepřicházejí žádné nové události, ale zachycené události zůstanou viditelné pro kontrolu, filtrování a export.
Pauza Dočasně zastaví aktualizaci mřížky. V uživatelském rozhraní se zobrazuje ukazatel Pozastaveno .
Vymazat data Vymaže všechny řádky z mřížky aktuální relace. Pokud relace stále běží, nové události i nadále vyplňují mřížku.
Vymazat všechny filtry Odebere všechny aktivní filtry sloupců a obnoví zobrazení celé události.
Rychlé filtrování všech sloupců... Vyhledávání ve všech sloupcích za účelem rychlého vyhledání odpovídajících událostí
Exportovat do souboru CSV Exportuje zachycené události aktuální relace do souboru CSV.
Automatické posouvání Přepíná, jestli se mřížka při příchodu nových událostí posune na nejnovější řádek. Automatické posouvání je ve výchozím nastavení zapnuté pro nové relace.

Filtrování událostí

Pomocí filtrů sloupců můžete zúžit mřížku událostí a zaměřit se na relevantní aktivitu. Každé záhlaví sloupce obsahuje ikonu filtru, která otevře filtr specifický pro datový typ daného sloupce.

Filtrování podle hodnot sloupců (napříkladDatabaseName)ApplicationName

  1. Vyberte ikonu filtru v záhlaví sloupce, například DatabaseName.

  2. V rozevíracím seznamu filtru vyhledejte hodnoty pomocí vyhledávacího pole nebo vyberte a zrušte výběr konkrétních položek ze seznamu zaškrtávacích políček.

  3. Výběrem možnosti Použít vyfiltrujte mřížku. Výběrem možnosti Vymazat odeberete filtr pro tento sloupec.

    Snímek obrazovky s filtrem sloupce DatabaseName zobrazující seznam dostupných databází

Filtrování podle číselných hodnot (například Duration)

  1. Vyberte ikonu filtru u číselného sloupce, například Duration.

  2. Zvolte relační operátor (například =, >, <) a zadejte číselnou prahovou hodnotu.

  3. Výběrem možnosti Použít vyfiltrujte mřížku.

    Snímek obrazovky s filtrem sloupce Doba trvání s číselným relačním operátorem a vstupem hodnoty

Pokud jsou aktivní jeden nebo více filtrů, zobrazí se pod panelem nástrojů filtrované čipy zobrazující sloupce, které se filtrují. Výběrem symbolu X na čipu tento filtr odeberete nebo výběrem možnosti Vymazat všechny filtry na panelu nástrojů obnovíte všechny filtry najednou.

Snímek obrazovky s aktivními čipy filtru zobrazující použité filtry DatabaseName a ApplicationName

Poznámka:

Filtry se aplikují na straně klienta na aktuálně zobrazené události i na nové události streamované během relace.

Spravovat více relací

Profiler dotazů podporuje souběžné spouštění více relací profilace, z nichž každý má vlastní připojení, šablonu a vyrovnávací paměť událostí.

  1. Výběrem možnosti Nová relace na panelu nástrojů vytvořte jinou relaci. Nová relace může cílit na stejné nebo jiné připojení.

  2. K přepínání mezi relacemi použijte rozevírací seznam Selektor relace. Každá relace zobrazuje svůj stav (Spuštěno, Pozastaveno nebo Zastaveno) s vizuálním indikátorem.

  3. Při přepínání relací:

    • Mřížka událostí se aktualizuje, aby zobrazovala zachycené události vybraného sezení.
    • Akce panelu nástrojů se aplikují na vybranou relaci.

Export zachycených událostí

Zachycené události můžete exportovat z relace profilace do souboru CSV pro offline kontrolu nebo sdílení.

  1. Na panelu nástrojů vyberte Exportovat do souboru CSV . Export je dostupný bez ohledu na to, jestli je relace spuštěná, pozastavená nebo zastavená.

  2. Zvolte umístění a název souboru CSV.

Exportovaný soubor obsahuje události, které jsou aktuálně viditelné v mřížce relace.

Otevření existujícího souboru XEL

V mřížce Query Profileru můžete otevřít a zkontrolovat dříve zachycené trasovací soubory rozšířených událostí (.xel).

  1. Otevřete paletu příkazů (Ctrl+Shift+P nebo Cmd+Shift+P).

  2. Vyberte MSSQL: Otevřete soubor Profiler XEL....

  3. Procházejte k souboru .xel, který chcete otevřít, a vyberte ho.

Soubor se otevře na panelu Profileru jen pro čtení. Události se načítají a zobrazují ve stejné mřížce s možnostmi filtrování. Ovládací prvky Start, Pause a Stop nejsou k dispozici, protože soubor není živá relace.

Podporované scénáře

Profiler dotazů funguje s následujícími cíli SQL Serveru a Azure SQL:

Target Podporované šablony
SQL Server (místní, virtuální počítače, kontejnery) Standard_OnPrem, TSQL_OnPrem, TSQL_Locks, TSQL_Duration
Azure SQL Database Standard_Azure

Poznámka:

Pokud vyberete nepodporovanou šablonu nebo se pokusíte o relaci na úrovni serveru ve službě Azure SQL Database, profiler dotazů zobrazí cílovou chybovou zprávu a navrhne příslušnou šablonu.

Omezení

  • V této verzi Preview není žádná integrace AI ani GitHub Copilotu.
  • Žádná korelace mezi databázemi nebo mezi servery nad rámec rozšířených událostí a aktuálních šablon.
  • Neukládá se ani nenačítá přednastavení filtru.
  • Nepřehrávání tras ani generování skriptů ze zachycených událostí.
  • Žádná offline analýza bez existujícího .xel souboru nebo živého připojení.
  • Podpora pro Azure SQL Managed Instance a SQL databázi ve Fabric koncových bodech není v této verzi Preview zaručena.

Názory a podpora

Pokud máte nápady, zpětnou vazbu nebo chcete zapojit komunitu, připojte se k diskuzi na adrese https://aka.ms/vscode-mssql-discussions. Pokud chcete nahlásit chybu, navštivte https://aka.ms/vscode-mssql-bugstránku . Pokud chcete požádat o novou funkci, přejděte na https://aka.ms/vscode-mssql-feature-request.