Lekérdezésprofilozó

A Visual Studio Code MSSQL-bővítményében található lekérdezésprofilozó valós időben rögzíti és figyeli az adatbázis-tevékenységeket kiterjesztett események használatával. Megfigyelheti az élő T-SQL-tevékenységeket, azonosíthatja a lassú műveleteket, és megtalálhatja a teljesítmény szűk keresztmetszeteit a fejlesztés során.

A Query Profiler támogatja az SQL Servert (helyszíni vagy felhőkörnyezetekben), az Azure SQL Database-t és az SQL Database-t Fabric-végpontokban. Figyelheti az aktív munkameneteket, áttekintheti a végrehajtás részleteit, és megismerheti, hogyan működik az alkalmazás az adatbázissal a fejlesztés és tesztelés során.

Képernyőkép a Query Profiler élő eseményrácsáról, amelyen rögzített adatbázis-tevékenység látható a Visual Studio Code MSSQL-bővítményében.

Features

Az MSSQL-bővítmény lekérdezésprofilozója a következő képességeket biztosítja:

  • Valós idejű lekérdezési és adatbázis-tevékenység rögzítése élő eseményrácson.
  • Új profilkészítési munkamenetek konfigurálása sablonkiválasztással és munkamenet-elnevezéssel.
  • A munkamenet életciklusának szabályozása a Start, a Pause, a Resume, a Stop és a Clear Data műveletekkel.
  • Futtasson több egyidejű profilkészítési munkamenetet, és váltson közöttük a munkamenet-választóval.
  • Szűrje a rögzített eseményeket szöveg, adatbázisnév, időtartam és egyéb mezők szerint.
  • Az automatikus görgetés váltásával követheti a legújabb eseményeket, vagy megvizsgálhatja a régebbi bejegyzéseket.
  • Rögzített események exportálása CSV-be.
  • Nyissa meg és tekintse meg a meglévő .xel fájlokat a csak olvasható Profiler rácson.
  • Automatikusan válassza ki a megfelelő sablont az Azure SQL Database-célokhoz (Standard_Azure).
  • Windows, macOS és Linux rendszeren működik az összes támogatott Visual Studio Code-platformon.

Előfeltételek

  • Telepítse a Visual Studio Code MSSQL-bővítményének legújabb verzióját.
  • Aktív kapcsolat egy támogatott SQL Server-példányhoz vagy az Azure SQL Database-hez.
  • Megfelelő kiszolgálói engedélyek. Profilkészítési ALTER ANY EVENT SESSION munkamenet indításához (vagy azzal egyenértékű) engedélyre van szüksége.

Lekérdezésprofilozó indítása

A Query Profilert a Kapcsolatok nézetben vagy a parancskatalógusban indíthatja el.

A Kapcsolatok nézetben:

  1. A Kapcsolatok nézetben kattintson a jobb gombbal egy SQL Server-példányra.

  2. Válassza a Lekérdezésprofilozó indítása lehetőséget.

    Képernyőkép a Lekérdezésprofilozó indítása lehetőségről a Kapcsolatok helyi menüben.

A parancskatalógusban:

  1. Nyissa meg a parancskatalógust (Ctrl+Shift+P vagy Cmd+Shift+P).

  2. Válassza ki az MSSQL-t: Indítsa el a lekérdezésprofilozót.

  3. Ha jelenleg nincs aktív kapcsolat, válassza ki a kapcsolatot, amikor a rendszer kéri.

Megnyílik a Lekérdezésprofilozó panel, amely a kijelölt kapcsolathoz van kötve.

Profilkészítési munkamenet létrehozása

Amikor a Lekérdezésprofilozó panel aktív munkamenet nélkül megnyílik, megjelenik az Új munkamenet képernyő.

  1. Ellenőrizze vagy módosítsa a profilkészítési munkamenet kapcsolatát .

  2. Válasszon egy sablont a legördülő listából. Az elérhető sablonok a kapcsolati céltól függenek.

    SQL Server- (helyszíni) sablonok:

    Template Rögzített események Description
    Standard_OnPrem sql_batch_completed, sql_batch_starting, rpc_starting, rpc_completed, sp_statement_startingsp_statement_completed, attention, existing_connection, , loginlogout Átfogó profilkészítési sablon, amely rögzíti az SQL-köteg- és RPC-tevékenységeket, a tárolt eljárás utasításszintű eseményeit és a kapcsolati eseményeket. A kiszolgálói tevékenység legrészletesebb nézetét nyújtja.
    TSQL_OnPrem sql_batch_completed, sql_batch_starting, existing_connection, login, , logout Egyszerű sablon, amely a T-SQL-köteg végrehajtására összpontosít. Rögzíti a kötegelt kezdési és befejezési eseményeket tárolt eljárás vagy RPC-részletek nélkül, csökkentve az olyan forgatókönyvek többletterhelését, ahol csak legfelső szintű lekérdezési tevékenységre van szükség.
    TSQL_Locks sql_batch_completed, sql_batch_starting, lock_acquired, lock_releasedexisting_connection, loginlogout Rögzíti a T-SQL-köteges eseményeket, valamint a zárolási beszerzési és kiadási eseményeket. Hasznos a blokkolással, holtpontokkal és zárolási versengésekkel kapcsolatos problémák diagnosztizálásában.
    TSQL_Duration sql_batch_completed(szűrt: időtartam >= 1000 mikroszekundum), sql_batch_starting, existing_connection, , loginlogout Rögzíti a T-SQL-köteges eseményeket, de sql_batch_completed csak az 1 ezredmásodpercet vagy hosszabb időt igénylő kötegeket szűri. Hasznos a lassú lekérdezések azonosításához, miközben csökkenti a gyors végrehajtású utasítások zaját.

    Azure SQL Database és SQL-adatbázis Fabric-sablonokban:

    Template Rögzített események Description
    Standard_Azure sql_batch_completed, sql_batch_starting, rpc_starting, rpc_completedattention, existing_connection, loginlogout Standard profilkészítési sablon az Azure SQL Database-hez. Rögzíti az SQL-köteg- és RPC-tevékenységeket kapcsolati eseményekkel. Hasonló a Standard_OnPrem, de tárolt eljárás utasításszintű eseményei nélkül.
    TSQL_Azure sql_batch_completed, sql_batch_starting, existing_connection, login, , logout Egyszerűsített T-SQL-profilkészítési sablon az Azure SQL Database-hez. Tárolt eljárások és RPC részletek nélkül rögzíti a kötegek végrehajtásának eseményeit.

    Megjegyzés:

    Az Azure SQL Database és az SQL Database a Fabric-sablonokban az adatbázisra összpontosítva hozza létre a munkameneteket, nem a szerverre ON DATABASE. Ezekhez a kapcsolatokhoz nem érhetők el zárolási és időtartam-szűrésű sablonok.

    Képernyőkép a sablonkijelölés legördülő listájáról, amelyen elérhető profilkészítő sablonok láthatók.

  3. Adjon meg egy munkamenetnevet. A megszakításhoz nyomja le az Enter billentyűt a megerősítéshez, vagy az Escape billentyűt.

    Képernyőkép egy új Lekérdezésprofiler-munkamenet munkamenet-névbeviteli kéréséről.

A panel átáll az élő események nézetre, és létrehoz egy Profiler-munkamenetet az SQL Tools Service-en keresztül.

Élő események monitorozása

Profilkészítési munkamenet futtatásakor az eseményrács streamjei időrendi sorrendben rögzítik az eseményeket. A rács a következő oszlopokat jeleníti meg a kiválasztott sablon alapján:

  • EventClass: A rögzített esemény típusa, például sql_batch_starting vagy rpc_completed.
  • TextData: A T-SQL utasítás vagy eseményszöveg.
  • ApplicationName: Az eseményt létrehozó alkalmazás.
  • LoginName: Az eseményhez társított bejelentkezés.
  • ClientProcessID: Ügyfélfolyamat azonosítója.
  • SPID: Kiszolgáló folyamatazonosítója.
  • StartTime: Az esemény időbélyege.
  • CPU: felhasznált processzoridő.
  • Olvasások: Logikai olvasások száma.
  • Írások: Logikai írások száma.
  • Időtartam: Az esemény végrehajtási ideje.
  • DatabaseName: Az az adatbázis, ahol az esemény történt.
  • HostName: Az eseményt létrehozó gazdagép.

Eszköztárműveletek

Az eszköztár az alábbi vezérlőket biztosítja az aktív munkamenethez:

Tevékenység Description
Új munkamenet Megnyitja az új munkamenet-folyamatot egy másik profilkészítési munkamenet létrehozásához.
Elkezd Szüneteltetett vagy leállított munkamenet esetén folytatja az eseménystreamelést.
Stop Leállítja a profilkészítési munkamenetet. Nem érkeznek új események, de a rögzített események továbbra is megtekinthetők a felülvizsgálathoz, szűréshez és exportáláshoz.
szüneteltetés Átmenetileg leállítja a rács frissítését. A felhasználói felületen egy szüneteltetett jelző látható.
Adatok törlése Törli az összes sort az aktuális munkamenet rácsából. Ha a munkamenet még fut, az új események továbbra is feltöltik a táblázatot.
Az összes szűrő törlése Eltávolítja az összes aktív oszlopszűrőt, és visszaállítja a teljes eseménynézetet.
Az összes oszlop gyors szűrése... Az összes oszlopban keresve gyorsan megtalálhatja az egyező eseményeket.
EXPORTÁLÁS CSV- Exportálja az aktuális munkamenet rögzített eseményeit egy CSV-fájlba.
Automatikus görgetés Váltás arra, hogy a rács az új események érkezésekor a legújabb sorra görgessen-e. Az automatikus görgetés alapértelmezés szerint be van kapcsolva az új munkamenetek esetében.

Események szűrése

Oszlopszűrők használatával szűkítse le az eseményrácsot, és összpontosítson a releváns tevékenységekre. Minden oszlopfejléc tartalmaz egy szűrőikont, amely megnyitja az adott oszlop adattípusára vonatkozó szűrőt.

Szűrés oszlopértékek szerint (példáulDatabaseName)ApplicationName

  1. Válassza ki a szűrő ikont egy oszlopfejlécen, például DatabaseName.

  2. A szűrő legördülő listában a keresőmezővel keresse meg az értékeket, vagy jelöljön ki és törölje a jelölőnégyzetek listájából az egyes bejegyzések kijelölését.

  3. Válassza az Alkalmaz lehetőséget a rács szűréséhez. Válassza a Törlés lehetőséget az oszlop szűrőjének eltávolításához.

    Képernyőkép a DatabaseName oszlopszűrőről, amelyen az elérhető adatbázisok jelölőnégyzetlistája látható.

Szűrés numerikus értékek szerint (például Duration)

  1. Válassza ki a szűrő ikont egy numerikus oszlopon, például Duration.

  2. Válasszon egy összehasonlító operátort (például =, , >), <és adjon meg egy numerikus küszöbértéket.

  3. Válassza az Alkalmaz lehetőséget a rács szűréséhez.

    Képernyőkép az Időtartam oszlopszűrőről numerikus összehasonlító operátorral és értékbemenettel.

Ha egy vagy több szűrő aktív, a szűrőlapkák az eszköztár alatt jelennek meg, és megjelenítik a szűrt oszlopokat. A szűrő eltávolításához jelölje ki a chip X elemét, vagy az eszköztár minden szűrőjének törlése lehetőséget az összes szűrő egyszerre történő visszaállításához.

Képernyőkép az aktív szűrőelemekről a DatabaseName és ApplicationName szűrők alkalmazásával.

Megjegyzés:

A szűrők az ügyféloldalt alkalmazzák az aktuálisan megjelenített eseményekre és a munkamenet során streamelt új eseményekre is.

Több munkamenet kezelése

A Query Profiler támogatja több profilkészítési munkamenet egyidejű futtatását, amelyek mindegyike saját kapcsolattal, sablonnal és eseménypufferrel rendelkezik.

  1. Másik munkamenet létrehozásához válassza az eszköztár Új munkamenet elemét. Az új munkamenet ugyanazt vagy egy másik kapcsolatot célozhatja meg.

  2. A Munkamenet-választó legördülő listával válthat a munkamenetek között. Minden munkamenet a saját állapotát (Futtatás, Szüneteltetés vagy Leállítva) egy vizuális jelzővel jeleníti meg.

  3. Munkamenetek váltása esetén:

    • Az eseményrács frissül a kiválasztott munkamenet rögzített eseményeinek megjelenítéséhez.
    • Az eszköztárműveletek a kijelölt munkameneten működnek.

Rögzített események exportálása

A rögzített eseményeket egy profilkészítési munkamenetből exportálhatja egy CSV-fájlba offline felülvizsgálat vagy megosztás céljából.

  1. Az eszköztáron válassza az Exportálás CSV-be lehetőséget. Az exportálás akkor érhető el, ha a munkamenet fut, szüneteltetve vagy leállítva.

  2. Válassza ki a CSV-fájl helyét és fájlnevét.

Az exportált fájl a munkamenet rácsában jelenleg látható eseményeket tartalmazza.

Meglévő XEL-fájl megnyitása

A lekérdezésprofilozó rácsában megnyithatja és áttekintheti a korábban rögzített Kiterjesztett események nyomkövetési fájljait (.xel).

  1. Nyissa meg a parancskatalógust (Ctrl+Shift+P vagy Cmd+Shift+P).

  2. Válassza az MSSQL: Profiler XEL-fájl megnyitása... lehetőséget.

  3. Keresse meg és jelölje ki a .xel megnyitni kívánt fájlt.

A fájl egy írásvédett profilkészítő panelen nyílik meg. Az események ugyanabban a rácsban töltődnek be és jelennek meg szűrési képességekkel. A Start, a Pause és a Stop vezérlő nem érhető el, mert a fájl nem élő munkamenet.

Támogatott forgatókönyvek

A Query Profiler a következő SQL Server- és Azure SQL-célokkal működik:

Cél Támogatott sablonok
SQL Server (helyszíni, virtuális gépek, tárolók) Standard_OnPrem, TSQL_OnPrem, TSQL_Locks, TSQL_Duration
Azure SQL Database Standard_Azure

Megjegyzés:

Ha nem támogatott sablont választ ki, vagy kiszolgálószintű munkamenetet kísérel meg az Azure SQL Database-ben, a Lekérdezésprofilozó célzott hibaüzenetet jelenít meg, és javaslatot tesz a megfelelő sablonra.

Korlátozások

  • Jelenleg nincs AI- vagy GitHub Copilot-integráció.
  • Nincs adatbázisközi vagy kiszolgálóközi korreláció a kiterjesztett események és az aktuális sablonok által biztosítottnál.
  • Nincs szűrőkészlet mentés vagy betöltés.
  • A rögzített eseményekből származó nyomkövetések vagy szkriptgenerálások nem játszhatók vissza.
  • Nincs offline elemzés meglévő .xel fájl vagy élő kapcsolat nélkül.
  • Az Azure SQL Managed Instance-végpontok jelenleg nem támogatottak.

Visszajelzés és támogatás

Ha vannak ötletei, visszajelzései, vagy szeretne kapcsolatba lépni a közösséggel, csatlakozzon a beszélgetéshez a következő címen https://aka.ms/vscode-mssql-discussions: . Hiba bejelentéséhez látogasson el https://aka.ms/vscode-mssql-bugide. Ha új funkciót szeretne kérni, lépjen a lapra https://aka.ms/vscode-mssql-feature-request.