-
Gunakan SQL Server Profiler (pada menu alat di SSMS) untuk membuat jejak yang mencatat peristiwa berikut:
RPC:Completed SP:Completed SP:StmtCompleted SQL:BatchCompleted SQL:StmtCompleted
-
Anda dapat mulai dengan templat jejak standar dan memangkasnya. Anda tidak menentukan apakah ini untuk database tertentu atau seluruh server, jika untuk Db tertentu, sertakan kolom DatabaseID dan atur filter ke DB Anda (
SELECT DB_ID('dbname')
). Pastikan kolom data Bacaan logis disertakan untuk setiap peristiwa. Atur jejak untuk masuk ke file. Jika Anda membiarkan jejak ini berjalan tanpa pengawasan di latar belakang, ada baiknya untuk menetapkan ukuran file pelacakan maksimum, katakanlah 500MB atau 1GB jika Anda memiliki banyak ruang (semuanya tergantung pada seberapa banyak aktivitas yang ada di server, jadi Anda harus menghisapnya dan melihatnya). -
Mulai jejak secara singkat lalu jeda. Goto File->Export->Script Trace Definition dan pilih versi DB Anda, dan simpan ke file. Anda sekarang memiliki skrip sql yang membuat jejak yang memiliki overhead jauh lebih sedikit daripada menjalankan melalui GUI profiler. Saat Anda menjalankan skrip ini, ia akan menampilkan ID Jejak (biasanya
@ID=2
); catat ini. -
Setelah Anda memiliki file pelacakan (.trc) (pelacakan selesai karena mencapai ukuran file maksimum atau Anda menghentikan pelacakan yang sedang berjalan menggunakan
EXEC sp_trace_setstatus @ID, 0
EXEC sp_trace_setstatus @ID, 2
Anda dapat memuat jejak ke profiler, atau menggunakan ClearTrace (sangat praktis) atau memuatnya ke dalam tabel seperti:
SELECT * INTO TraceTable
FROM ::fn_trace_gettable('C:\location of your trace output.trc', default)
Kemudian Anda dapat menjalankan kueri untuk menggabungkan data seperti ini:
SELECT COUNT(*) AS TotalExecutions,
EventClass, CAST(TextData as nvarchar(2000))
,SUM(Duration) AS DurationTotal
,SUM(CPU) AS CPUTotal
,SUM(Reads) AS ReadsTotal
,SUM(Writes) AS WritesTotal
FROM TraceTable
GROUP BY EventClass, CAST(TextData as nvarchar(2000))
ORDER BY ReadsTotal DESC
Setelah Anda mengidentifikasi kueri yang mahal, Anda dapat membuat dan memeriksa rencana eksekusi yang sebenarnya.