Bagikan melalui


Pelacakan Peristiwa untuk target Windows

Berlaku untuk: SQL Server

Sebelum Anda menggunakan Pelacakan Peristiwa untuk Windows (ETW) sebagai target, kami sarankan Anda memiliki pengetahuan kerja tentang ETW. Pelacakan ETW digunakan bersama dengan Extended Events atau sebagai konsumen peristiwa Extended Events. Tautan eksternal berikut ini menyediakan titik awal untuk mendapatkan informasi latar belakang tentang ETW:

Target ETW adalah target singleton, meskipun target dapat ditambahkan ke banyak sesi. Jika peristiwa dinaikkan pada banyak sesi, peristiwa hanya akan disebarluaskan ke target ETW satu kali per kejadian. Mesin Extended Events terbatas pada satu instans per proses.

Penting

Agar target ETW berfungsi, akun startup Layanan SQL Server harus menjadi anggota grup Pengguna Log Performa.

Konfigurasi peristiwa yang ada dalam sesi ETW dikendalikan oleh proses yang menghosting mesin Extended Events. Mesin mengontrol peristiwa mana yang akan dinaikkan dan kondisi apa yang harus dipenuhi agar peristiwa terjadi.

Setelah mengikat sesi Extended Events, yang melampirkan target ETW untuk pertama kalinya selama masa pakai proses, target ETW membuka satu sesi ETW di penyedia SQL Server. Jika sesi ETW sudah ada, target ETW mendapatkan referensi ke sesi yang ada. Sesi ETW ini dibagikan di semua instans SQL Server pada komputer tertentu. Sesi ETW ini menerima semua peristiwa dari sesi yang memiliki target ETW.

Karena ETW memerlukan penyedia untuk diaktifkan untuk mengonsumsi peristiwa dan mengalirkannya ke ETW, semua paket Extended Events diaktifkan pada sesi. Ketika peristiwa diaktifkan, target ETW mengirimkan peristiwa ke sesi tempat penyedia untuk peristiwa diaktifkan.

Target ETW mendukung penerbitan peristiwa yang sinkron pada utas yang meningkatkan peristiwa. Namun, target ETW tidak mendukung penerbitan peristiwa asinkron.

Target ETW tidak mendukung kontrol dari pengontrol ETW eksternal seperti Logman.exe. Untuk menghasilkan jejak ETW, sesi peristiwa harus dibuat dengan target ETW. Untuk informasi selengkapnya, lihat MEMBUAT SESI PERISTIWA (Transact-SQL).

Catatan

Mengaktifkan target ETW membuat sesi ETW yang diberi nama XE_DEFAULT_ETW_SESSION. Jika sesi dengan nama XE_DEFAULT_ETW_SESSION sudah ada, sesi tersebut digunakan tanpa memodifikasi properti sesi yang ada. XE_DEFAULT_ETW_SESSION dibagikan antara semua instans SQL Server. Setelah memulai XE_DEFAULT_ETW_SESSION, Anda harus menghentikannya dengan menggunakan pengontrol ETW, seperti alat Logman. Misalnya, Anda dapat menjalankan perintah berikut pada prompt perintah: logman stop XE_DEFAULT_ETW_SESSION -ets.

Tabel berikut menjelaskan opsi yang tersedia untuk mengonfigurasi target ETW.

Opsi Nilai yang diizinkan Deskripsi
default_xe_session_name Setiap string hingga 256 karakter. Nilai ini opsional. Nama sesi Extended Events. Secara default, ini XE_DEFAULT_ETW_SESSION.
default_etw_session_logfile_path Setiap string hingga 256 karakter. Nilai ini opsional. Jalur file log untuk sesi Extended Events. Secara default, ini adalah %TEMP%\XEEtw.etl.
default_etw_session_logfile_size_mb Bilangan bulat yang tidak ditandatangani. Nilai ini opsional. Ukuran file log, dalam megabyte (MB), untuk sesi Extended Events. Defaultnya adalah 20 MB.
default_etw_session_buffer_size_kb Bilangan bulat yang tidak ditandatangani. Nilai ini opsional. Ukuran buffer dalam memori, dalam kilobyte (KB), untuk sesi Extended Events. Defaultnya adalah 128 KB.
retries Bilangan bulat yang tidak ditandatangani. Berapa kali untuk mencoba menerbitkan kembali peristiwa ke subsistem ETW sebelum menghilangkan peristiwa. Defaultnya adalah 0.

Mengonfigurasi pengaturan ini bersifat opsional. Target ETW menggunakan nilai default untuk pengaturan ini.

Target ETW bertanggung jawab untuk:

  • Membuat sesi ETW default.

  • Mendaftarkan semua paket Extended Events dengan ETW. Ini memastikan bahwa peristiwa tidak dihilangkan oleh ETW.

  • Mengelola alur peristiwa ke ETW. Target ETW membuat peristiwa ETW dengan data Extended Events dan mengirimkannya ke sesi ETW yang sesuai. Jika peristiwa lebih besar dari ukuran buffer, atau data tidak dapat muat dalam satu peristiwa ETW, ETW membagi peristiwa menjadi fragmen.

  • Menjaga paket Extended Events diaktifkan setiap saat.

Lokasi file default berikut digunakan oleh ETW:

  • File output ETW ada di %TEMP%\XEEtw.etl.

    Penting

    Jalur file tidak dapat diubah setelah sesi pertama dimulai.

  • File Managed Object Format (MOF) berada di <jalur> penginstalan Anda\Microsoft SQL Server\Shared. Untuk informasi selengkapnya, lihat Format Objek Terkelola di MSDN.

Menambahkan target ke sesi

Untuk menambahkan target ETW ke sesi Extended Events, Anda harus menyertakan pernyataan berikut saat membuat atau mengubah sesi peristiwa:

ADD TARGET package0.etw_classic_sync_target

Untuk informasi selengkapnya tentang contoh lengkap yang menunjukkan cara menggunakan target ETW, termasuk cara melihat data, lihat Memantau Aktivitas Sistem Menggunakan Kejadian yang Diperluas.