Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Query Profiler v rozšíření MSSQL pro Visual Studio Code zaznamenává a monitoruje databázové aktivity v reálném čase pomocí rozšířených událostí. Během vývoje můžete sledovat živou aktivitu T-SQL, identifikovat pomalé operace a najít kritické body výkonu.
Query Profiler podporuje SQL Server (místní nebo v cloudových prostředích), Azure SQL Database a SQL databázi v koncových bodech Fabric. Během vývoje a testování můžete monitorovat aktivní relace, kontrolovat podrobnosti o provádění a porozumět tomu, jak vaše aplikace komunikuje s vaší databází.
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 ke 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í
.xelsoubory 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 SESSIONoprá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í:
V zobrazení Připojení klikněte pravým tlačítkem myši na instanci SQL Serveru.
Vyberte Spustit profiler dotazů (Preview).
Z palety příkazů:
Otevřete paletu příkazů (Ctrl+Shift+P nebo Cmd+Shift+P).
Vyberte MSSQL: Spusťte profiler dotazů.
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.
Ověřte nebo změňte připojení pro profilovací relaci.
V rozevíracím seznamu vyberte šablonu . Dostupné šablony závisí na cíli připojení.
Šablony SQL Serveru (místní):
Template Zachycené události Description Standard_OnPrem sql_batch_completed,sql_batch_starting,rpc_starting,rpc_completed,sp_statement_starting,sp_statement_completed,attention,existing_connection,login,logoutKomplexní šablona profilování, která zachycuje dávkové aktivity SQL a RPC, události na úrovni příkazů uložených procedur a události připojení. Poskytuje nejpodrobnější zobrazení aktivity serveru. TSQL_OnPrem sql_batch_completed,sql_batch_starting,existing_connection, ,loginlogoutZjednodušená šablona zaměřená na dávkové spouštění T-SQL Zaznamenává události dávkového spuštění a dokončení bez uložených procedur nebo podrobností RPC, což snižuje režii pro scénáře, kdy je potřeba jenom aktivita dotazů nejvyšší úrovně. TSQL_Locks sql_batch_completed,sql_batch_starting,lock_acquired,lock_released,existing_connection, ,loginlogoutZachytává dávkové události T-SQL spolu s událostmi získání a uvolnění zámku. Užitečné při diagnostice problémů s blokováním, zablokováním a kolizí zámků. TSQL_Duration sql_batch_completed(filtrováno: doba trvání >= 1000 mikrosekund),sql_batch_starting,existing_connection, ,loginlogoutZachycuje dávkové události T-SQL a filtruje sql_batch_completed, aby zahrnovaly pouze dávky, které trvají 1 milisekundu nebo déle. Užitečné pro identifikaci pomalých dotazů a snížení šumu z rychle spouštěných příkazů.Azure SQL Database a SQL databáze v šablonách Fabric:
Template Zachycené události Description Standard_Azure sql_batch_completed,sql_batch_starting,rpc_starting, ,rpc_completedattention,existing_connection, ,loginlogoutStandardní šablona profilace pro Azure SQL Database Zaznamenává dávkové operace SQL a činnosti RPC včetně připojovacích událostí. Podobá se Standard_OnPrem, ale neobsahuje události na úrovni příkazu uložené procedury. TSQL_Azure sql_batch_completed,sql_batch_starting,existing_connection, ,loginlogoutZjednodušená šablona profilace T-SQL pro Azure SQL Database Zaznamenává události dávkového spouštění bez podrobností RPC nebo uložené procedury. Poznámka:
Azure SQL Database a SQL databáze v šablonách Fabric vytvářejí relace omezené na databázi (
ON DATABASE) místo na server. Pro tato připojení nejsou dostupné šablony s filtrem pro uzamčení a dobu trvání.Zadejte název relace. Stisknutím klávesy Enter akci potvrďte nebo stisknutím klávesy Escape akci zrušíte.
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_startingneborpc_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
Vyberte ikonu filtru v záhlaví sloupce, například
DatabaseName.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.
Výběrem možnosti Použít vyfiltrujte mřížku. Výběrem možnosti Vymazat odeberete filtr pro tento sloupec.
Filtrování podle číselných hodnot (například Duration)
Vyberte ikonu filtru u číselného sloupce, například
Duration.Zvolte relační operátor (například
=,>,<) a zadejte číselnou prahovou hodnotu.Výběrem možnosti Použít vyfiltrujte mřížku.
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.
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í.
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í.
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.
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í.
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á.
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).
Otevřete paletu příkazů (Ctrl+Shift+P nebo Cmd+Shift+P).
Vyberte MSSQL: Otevřete soubor Profiler XEL....
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
.xelsouboru nebo živého připojení. - V této verzi Preview není zaručena podpora koncových bodů služby Azure SQL Managed Instance.
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.