Bagikan melalui


Memfilter jejak

Berlaku untuk: SQL Server

Filter membatasi peristiwa yang dikumpulkan dalam pelacakan. Jika filter tidak diatur, semua peristiwa kelas peristiwa yang dipilih dikembalikan dalam output pelacakan. Misalnya, membatasi nama pengguna Windows dalam jejak ke pengguna tertentu hanya mengurangi data output untuk pengguna tersebut.

Tidak wajib mengatur filter untuk pelacakan. Namun, filter meminimalkan overhead yang dikeluarkan selama pelacakan. Filter mengembalikan data yang berfokus dan dengan demikian membuat analisis dan audit performa lebih mudah.

Untuk memfilter data peristiwa yang diambil dalam pelacakan, pilih lacak kriteria peristiwa yang hanya mengembalikan data yang relevan dari jejak. Misalnya, Anda dapat menyertakan atau mengecualikan pemantauan aktivitas aplikasi tertentu dari jejak.

Catatan

Ketika SQL Server Profiler membuat jejak, SQL Server Profiler memfilter aktivitasnya sendiri secara default.

Sebagai contoh lain, jika Anda memantau kueri untuk menentukan batch yang membutuhkan waktu terpanjang untuk dijalankan, atur kriteria peristiwa pelacakan untuk memantau hanya batch yang membutuhkan waktu lebih dari 30 detik untuk dijalankan (nilai minimum CPU 30.000 milidetik).

Panduan pembuatan filter

Secara umum, ikuti langkah-langkah ini untuk memfilter jejak.

  1. Identifikasi peristiwa yang ingin Anda sertakan dalam jejak.
  2. Identifikasi kolom data dan data yang berisi informasi yang Anda butuhkan.
  3. Identifikasi subset data yang Anda butuhkan dan tentukan filter berdasarkan subset data tersebut.

Misalnya, Anda mungkin hanya tertarik pada peristiwa yang memakan waktu lebih lama dari waktu tertentu. Anda dapat membuat jejak yang menyertakan peristiwa di mana Duration kolom data lebih besar dari 300 milidetik. Jejak Anda tidak menyertakan peristiwa yang selesai dalam waktu kurang dari 300 milidetik.

Anda dapat membuat filter dengan menggunakan prosedur tersimpan SQL Server Profiler atau Transact-SQL.

Memfilter peristiwa dalam templat pelacakan

Mengubah filter

Ketersediaan filter bergantung pada kolom data. Beberapa kolom data tidak dapat difilter. Kolom data yang dapat difilter hanya dapat difilter oleh operator relasional tertentu, seperti yang diperlihatkan dalam tabel berikut.

Operator relasional Simbol operator Deskripsi
Suka LIKE Menentukan bahwa data peristiwa pelacakan harus seperti teks yang dimasukkan. Memungkinkan beberapa nilai.
Tidak seperti NOT LIKE Menentukan bahwa data peristiwa pelacakan tidak boleh seperti teks yang dimasukkan. Memungkinkan beberapa nilai.
Sama dengan = Menentukan bahwa data peristiwa pelacakan harus sama dengan nilai yang dimasukkan. Memungkinkan beberapa nilai.
Tidak sama dengan <> Menentukan bahwa data peristiwa pelacakan tidak boleh sama dengan nilai yang dimasukkan. Memungkinkan beberapa nilai.
Lebih besar dari > Menentukan bahwa data peristiwa pelacakan harus lebih besar dari nilai yang dimasukkan.
Lebih dari atau sama dengan >= Menentukan bahwa data peristiwa pelacakan harus lebih besar dari atau sama dengan nilai yang dimasukkan.
Kurang dari < Menentukan bahwa data peristiwa pelacakan harus kurang dari nilai yang dimasukkan.
Kurang dari atau sama dengan <= Menentukan bahwa data peristiwa pelacakan harus kurang dari atau sama dengan nilai yang dimasukkan.

Tabel berikut mencantumkan kolom data yang dapat difilter dan operator relasional yang tersedia.

Kolom data Operator relasional
ApplicationName LIKE, NOT LIKE
BigintData1 =, , <>>=,<=
BigintData2 =, , <>>=,<=
BinaryData Gunakan SQL Server Profiler untuk memfilter peristiwa di kolom data ini. Untuk informasi selengkapnya, lihat Memfilter jejak dengan SQL Server Profiler.
ClientProcessID =, , <>>=,<=
ColumnPermissions =, , <>>=,<=
CPU =, , <>>=,<=
DatabaseID =, , <>>=,<=
DatabaseName LIKE, NOT LIKE
DBUserName LIKE, NOT LIKE
Duration =, , <>>=,<=
EndTime >=, <=
Error =, , <>>=,<=
EventSubClass =, , <>>=,<=
FileName LIKE, NOT LIKE
GUID Gunakan SQL Server Profiler untuk memfilter peristiwa di kolom data ini. Untuk informasi selengkapnya, lihat Memfilter jejak dengan SQL Server Profiler.
Handle =, , <>>=,<=
HostName LIKE, NOT LIKE
IndexID =, , <>>=,<=
IntegerData =, , <>>=,<=
IntegerData2 =, , <>>=,<=
IsSystem =, , <>>=,<=
LineNumber =, , <>>=,<=
LinkedServerName LIKE, NOT LIKE
LoginName LIKE, NOT LIKE
LoginSid Gunakan SQL Server Profiler untuk memfilter peristiwa di kolom data ini. Untuk informasi selengkapnya, lihat Memfilter jejak dengan SQL Server Profiler.
MethodName LIKE, NOT LIKE
Mode =, , <>>=,<=
NestLevel =, , <>>=,<=
NTDomainName LIKE, NOT LIKE
NTUserName LIKE, NOT LIKE
ObjectID =, , <>>=,<=
ObjectID2 =, , <>>=,<=
ObjectName LIKE, NOT LIKE
ObjectType =, , <>>=,<=
Offset =, , <>>=,<=
OwnerID =, , <>>=,<=
OwnerName LIKE, NOT LIKE
ParentName LIKE, NOT LIKE
Permissions =, , <>>=,<=
ProviderName LIKE, NOT LIKE
Reads =, , <>>=,<=
RequestID =, , <>>=,<=
RoleName LIKE, NOT LIKE
RowCounts =, , <>>=,<=
SessionLoginName LIKE, NOT LIKE
Severity =, , <>>=,<=
SourceDatabaseID =, , <>>=,<=
SPID =, , <>>=,<=
SqlHandle Gunakan SQL Server Profiler untuk memfilter peristiwa di kolom data ini. Untuk informasi selengkapnya, lihat Memfilter jejak dengan SQL Server Profiler.
StartTime >=,<=
State =, , <>>=,<=
Success =, , <>>=,<=
TargetLoginName LIKE, NOT LIKE
TargetLoginSid Gunakan SQL Server Profiler untuk memfilter peristiwa di kolom data ini. Untuk informasi selengkapnya, lihat Memfilter jejak dengan SQL Server Profiler.
TargetUserName LIKE, NOT LIKE
TextData 1 LIKE, NOT LIKE
TransactionID =, , <>>=,<=
Type =, , <>>=,<=
Writes =, , <>>=,<=
XactSequence =, , <>>=,<=

1 Jika melacak peristiwa dari utilitas osql atau utilitas sqlcmd , selalu tambahkan % ke filter pada TextData kolom data.

Sebagai tindakan pencegahan keamanan, SQL Trace secara otomatis menghilangkan dari jejak informasi apa pun dari prosedur tersimpan terkait keamanan yang memengaruhi kata sandi. Mekanisme keamanan ini tidak dapat dikonfigurasi dan selalu berlaku. Ini mencegah pengguna, yang jika tidak memiliki izin untuk melacak semua aktivitas di SQL Server, mengambil kata sandi.

Prosedur tersimpan terkait keamanan berikut dipantau, tetapi tidak ada output yang ditulis ke TextData kolom data: