Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Profiler Kueri di ekstensi MSSQL untuk Visual Studio Code mengambil dan memantau aktivitas database secara real time menggunakan Extended Events. Anda dapat mengamati aktivitas T-SQL langsung, mengidentifikasi operasi lambat, dan menemukan hambatan performa selama pengembangan.
Query Profiler mendukung SQL Server (lokal atau di lingkungan cloud), Azure SQL Database, dan database SQL di titik akhir Fabric. Anda dapat memantau sesi aktif, meninjau detail eksekusi, dan memahami bagaimana aplikasi Anda berinteraksi dengan database Anda selama pengembangan dan pengujian.
Tip
Profiler untuk Kueri saat ini dalam tahap pratinjau dan dapat berubah sesuai umpan balik. Bergabunglah dengan komunitas di GitHub Discussions untuk berbagi ide atau melaporkan masalah.
Features
Profiler Kueri dalam ekstensi MSSQL menyediakan kemampuan berikut:
- Tangkap kueri real-time dan aktivitas basis data dalam grid acara langsung.
- Konfigurasikan sesi pembuatan profil baru dengan pemilihan templat dan penamaan sesi.
- Mengontrol siklus hidup sesi dengan tindakan Mulai, Jeda, Lanjutkan, Hentikan, dan Hapus Data .
- Jalankan beberapa sesi pembuatan profil bersamaan dan berpindah di antara sesi tersebut dengan penyeleksi sesi.
- Filter peristiwa yang diambil menurut teks, nama database, durasi, dan bidang lainnya.
- Alihkan gulir otomatis untuk mengikuti peristiwa terbaru atau periksa entri yang lebih lama.
- Ekspor peristiwa yang diambil ke CSV.
- Buka dan lihat file
.xelyang ada di grid Profiler yang hanya bisa dibaca. - Pilih templat yang sesuai secara otomatis untuk target Azure SQL Database (
Standard_Azure). - Berfungsi di Windows, macOS, dan Linux di semua platform Visual Studio Code yang didukung.
Prasyarat
- Instal versi terbaru ekstensi MSSQL untuk Visual Studio Code.
- Koneksi aktif ke instans SQL Server yang didukung atau Azure SQL Database.
- Izin server yang sesuai. Anda memerlukan
ALTER ANY EVENT SESSIONizin (atau setara) untuk memulai sesi pembuatan profil.
Luncurkan Profiler Kueri
Anda dapat meluncurkan Profiler Kueri dari tampilan Koneksi atau Palet Perintah.
Dari tampilan Koneksi:
Dalam panel Connections, klik kanan instance SQL Server.
Pilih Luncurkan Profiler Kueri (Pratinjau).
Dari Palet Perintah:
Buka Palet Perintah (Ctrl+Shift+P atau Cmd+Shift+P).
Pilih MSSQL: Luncurkan Profil Kueri.
Jika saat ini tidak ada koneksi yang aktif, pilih koneksi saat diminta.
Panel Profiler Kueri terbuka, terkait dengan koneksi yang dipilih.
Membuat sesi profil
Saat panel Profiler Kueri terbuka tanpa sesi aktif, panel Tersebut memperlihatkan layar Sesi Baru .
Verifikasi atau ubah Koneksi untuk sesi pembuatan profil.
Pilih Templat dari daftar dropdown. Templat yang tersedia bergantung pada target koneksi Anda.
Templat SQL Server (lokal):
Template Peristiwa yang diambil Deskripsi Standard_OnPrem sql_batch_completed,sql_batch_starting,rpc_starting,rpc_completed,sp_statement_starting,sp_statement_completed,attention,existing_connection,login,logoutTemplat profil komprehensif yang menangkap aktivitas batch SQL dan RPC, peristiwa pada level pernyataan dalam prosedur tersimpan, serta peristiwa koneksi. Menyediakan tampilan aktivitas server yang paling rinci. TSQL_OnPrem sql_batch_completed,sql_batch_starting,existing_connection,login,logoutTemplat ringan berfokus pada eksekusi batch T-SQL. Menangkap peristiwa awal dan akhir batch tanpa rincian prosedur tersimpan atau RPC, mengurangi beban untuk skenario di mana hanya aktivitas kueri tingkat atas yang diperlukan. TSQL_Locks sql_batch_completed,sql_batch_starting,lock_acquired,lock_released,existing_connection,login,logoutMenangkap peristiwa batch T-SQL bersama dengan peristiwa akuisisi dan rilis kunci. Berguna untuk mendiagnosis masalah pemblokiran, kebuntuan, dan persaingan kunci. TSQL_Duration sql_batch_completed(difilter: durasi > = 1000 mikrodetik),sql_batch_starting,existing_connection,login,logoutMenangkap peristiwa batch T-SQL tetapi memfilter sql_batch_completeduntuk hanya termasuk batch yang memakan waktu 1 milidetik atau lebih. Berguna untuk mengidentifikasi kueri-kueri lambat sambil mengurangi kebisingan dari pernyataan-pernyataan yang dieksekusi dengan cepat.Database Azure SQL dan database SQL dalam templat Fabric:
Template Peristiwa yang diambil Deskripsi Standard_Azure sql_batch_completed,sql_batch_starting,rpc_starting,rpc_completed,attention,existing_connection,login,logoutTemplat pembuatan profil standar untuk Azure SQL Database. Menangkap aktivitas batch SQL dan RPC dengan peristiwa koneksi. Mirip dengan Standard_OnPrem tetapi tanpa peristiwa tingkat pernyataan prosedur tersimpan. TSQL_Azure sql_batch_completed,sql_batch_starting,existing_connection,login,logoutTemplat pembuatan profil T-SQL ringan untuk Azure SQL Database. Menangkap peristiwa eksekusi batch tanpa RPC atau detail prosedur tersimpan. Nota
Database Azure SQL dan database SQL dalam templat Fabric membuat sesi yang dilingkupkan ke database (
ON DATABASE) daripada server. Kunci dan templat yang difilter durasi tidak tersedia untuk koneksi ini.Masukkan Nama sesi. Tekan Enter untuk mengonfirmasi atau Escape untuk membatalkan.
Panel beralih ke tampilan acara langsung, dan sesi Profiler dibuat melalui SQL Tools Service.
Memantau acara langsung
Ketika Anda menjalankan sesi pemprofilan, grid peristiwa menampilkan peristiwa yang telah ditangkap sesuai urutan kronologis. Kisi menampilkan kolom berikut berdasarkan templat yang dipilih:
-
EventClass: Jenis peristiwa yang diambil, seperti
sql_batch_startingataurpc_completed. - TextData: Pernyataan T-SQL atau teks peristiwa.
- ApplicationName: Aplikasi yang menghasilkan peristiwa.
- LoginName: Login yang terkait dengan peristiwa.
- ClientProcessID: Pengidentifikasi proses klien.
- SPID: ID server untuk proses.
- StartTime: Tanda waktu peristiwa.
- CPU: Waktu CPU yang dikonsumsi.
- Pembacaan: Jumlah bacaan logis.
- Tulisan: Jumlah tulisan logis.
- Durasi: Waktu eksekusi peristiwa.
- DatabaseName: Database tempat peristiwa terjadi.
- HostName: Komputer host yang menghasilkan peristiwa.
Tindakan pada toolbar
Toolbar menyediakan kontrol berikut untuk sesi aktif:
| Tindakan | Deskripsi |
|---|---|
| Sesi Baru | Membuka alur sesi baru untuk membuat sesi pembuatan profil lain. |
| Mulai | Melanjutkan streaming acara untuk sesi yang dijeda atau dihentikan. |
| Stop | Menghentikan sesi pembuatan profil. Tidak ada peristiwa baru yang tiba, tetapi peristiwa yang diambil tetap terlihat untuk ditinjau, difilter, dan diekspor. |
| Jeda | Menghentikan pembaruan kisi untuk sementara. UI menunjukkan indikator Dijeda . |
| Hapus Data | Menghapus semua baris dari tabel sesi aktif. Jika sesi masih berjalan, event baru terus mengisi tabel. |
| Hapus Semua Filter | Menghapus semua filter kolom aktif dan memulihkan tampilan peristiwa lengkap. |
| Filter cepat semua kolom... | Mencari di semua kolom untuk menemukan peristiwa yang cocok dengan cepat. |
| Ekspor ke CSV | Mengekspor peristiwa yang diambil sesi saat ini ke file CSV. |
| Gulir otomatis | Mengatur apakah grid menggulir ke baris terbaru saat ada kejadian baru. Gulir otomatis aktif secara default untuk sesi baru. |
Menyaring acara
Gunakan filter kolom untuk mempersempit kisi peristiwa dan fokus pada aktivitas yang relevan. Setiap header kolom menyertakan ikon filter yang membuka filter khusus untuk jenis data kolom tersebut.
Memfilter menurut nilai kolom (misalnya, DatabaseName atau ApplicationName)
Pilih ikon filter pada header kolom seperti
DatabaseName.Di daftar dropdown filter, gunakan kotak pencarian untuk menemukan nilai, atau pilih dan batalkan pilihan entri tertentu dari daftar kotak centang.
Pilih Terapkan untuk memfilter kisi. Pilih Hapus untuk menghapus filter untuk kolom tersebut.
Filter menurut nilai numerik (misalnya, Duration)
Pilih ikon filter pada kolom numerik seperti
Duration.Pilih operator perbandingan (misalnya, ,
=,><) dan masukkan ambang numerik.Pilih Terapkan untuk memfilter kisi.
Saat satu atau beberapa filter aktif, chip filter muncul di bawah toolbar yang memperlihatkan kolom mana yang difilter. Pilih X pada chip untuk menghapus filter tersebut, atau pilih Hapus Semua Filter di toolbar untuk mengatur ulang semua filter sekaligus.
Nota
Filter diterapkan di sisi klien pada peristiwa yang saat ini ditampilkan dan peristiwa baru yang dialirkan selama sesi.
Mengelola beberapa sesi
Profiler Kueri mendukung menjalankan beberapa sesi pembuatan profil secara bersamaan, masing-masing dengan koneksi, templat, dan buffer peristiwanya sendiri.
Pilih Sesi Baru dari toolbar untuk membuat sesi lain. Sesi baru dapat menargetkan koneksi yang sama atau berbeda.
Gunakan daftar dropdown Pemilih sesi untuk beralih antar sesi. Setiap sesi menampilkan statusnya (Berjalan, Dijeda, atau Dihentikan) dengan indikator visual.
Saat Anda beralih sesi:
- Kisi peristiwa diperbarui untuk menampilkan peristiwa yang diambil sesi yang dipilih.
- Tindakan toolbar beroperasi pada sesi yang dipilih.
Mengekspor peristiwa yang diambil
Anda dapat mengekspor peristiwa yang diambil dari sesi pembuatan profil ke file CSV untuk tinjauan atau berbagi offline.
Pilih Ekspor ke CSV dari toolbar. Ekspor tersedia baik saat sesi berjalan, dijeda, atau dihentikan.
Pilih lokasi dan nama file untuk file CSV.
File yang diekspor berisi peristiwa yang saat ini terlihat di kisi sesi.
Buka file XEL yang sudah ada
Anda dapat membuka dan meninjau file jejak Extended Events yang telah diambil sebelumnya (.xel) dalam tampilan grid Query Profiler.
Buka Palet Perintah (Ctrl+Shift+P atau Cmd+Shift+P).
Pilih MSSQL: Buka file Profiler XEL....
Telusuri ke dan pilih file
.xelyang ingin Anda buka.
File terbuka di panel Profiler baca-saja. Acara dimuat dan ditampilkan dalam grid yang sama dengan kemampuan untuk memfilter. Kontrol Mulai, Jeda, dan Hentikan tidak tersedia karena file bukan sesi langsung.
Skenario yang didukung
Profiler Kueri berfungsi dengan target SQL Server dan Azure SQL berikut:
| Target | Templat yang didukung |
|---|---|
| SQL Server (lokal, VM, kontainer) | Standard_OnPrem, TSQL_OnPrem, TSQL_Locks, TSQL_Duration |
| Azure SQL Database | Standard_Azure |
Nota
Jika Anda memilih templat yang tidak didukung atau mencoba sesi tingkat server di Azure SQL Database, Query Profiler memperlihatkan pesan kesalahan yang ditargetkan dan menyarankan templat yang sesuai.
Keterbatasan
- Tidak ada integrasi AI atau GitHub Copilot dalam pratinjau ini.
- Tidak ada korelasi lintas database atau lintas server di luar apa yang disediakan oleh Extended Events dan templat saat ini.
- Tidak ada penyimpanan atau pemuatan preset filter.
- Tidak ada pemutaran ulang jejak atau pembuatan skrip dari peristiwa yang direkam.
- Tidak ada analisis offline tanpa file
.xelyang ada atau koneksi langsung yang aktif. - Titik akhir Azure SQL Managed Instance tidak dapat dijamin didukung dalam pratinjau ini.
Tanggapan dan dukungan
Jika Anda memiliki ide, umpan balik, atau ingin terlibat dengan komunitas, bergabunglah dengan diskusi di https://aka.ms/vscode-mssql-discussions. Untuk melaporkan bug, kunjungi https://aka.ms/vscode-mssql-bug. Untuk meminta fitur baru, buka https://aka.ms/vscode-mssql-feature-request.