Melihat dan Menganalisis Jejak dengan SQL Server Profiler

Berlaku untuk: SQL Server Azure SQL Managed Instance

Gunakan SQL Server Profiler untuk melihat data peristiwa yang diambil dalam jejak. SQL Server Profiler menampilkan data berdasarkan properti pelacakan yang ditentukan. Salah satu cara untuk menganalisis data SQL Server adalah dengan menyalin data ke program lain, seperti SQL Server atau Konsultan Penyetelan Mesin Database. Konsultan Penyetelan Mesin Database dapat menggunakan file pelacakan yang berisi peristiwa batch SQL dan panggilan prosedur jarak jauh (RPC) jika kolom Data teks disertakan dalam jejak. Untuk memastikan bahwa peristiwa dan kolom yang benar diambil untuk digunakan dengan Konsultan Penyetelan Mesin Database, gunakan templat Penyetelan yang telah ditentukan sebelumnya yang disediakan dengan SQL Server Profiler .

Ketika Anda membuka pelacakan dengan menggunakan SQL Server Profiler , file pelacakan tidak perlu memiliki ekstensi file .trc jika file dibuat oleh prosedur tersimpan sistem SQL Server Profiler atau SQL Trace.

Catatan

SQL Server Profiler juga dapat membaca file SQL Trace .log dan file skrip SQL generik. Saat membuka file SQL Trace .log yang tidak memiliki ekstensi file .log, seperti trace.txt, tentukan SQLTrace_Log sebagai format file.

Anda dapat mengonfigurasi format tampilan tanggal dan waktu SQL Server Profiler untuk membantu analisis pelacakan.

Pemecahan Masalah Data

Dengan menggunakan SQL Server Profiler, Anda dapat memecahkan masalah data dengan mengelompokkan jejak atau melacak file berdasarkan kolom data Durasi, CPU, Baca, atau Tulis. Contoh data yang mungkin Anda pecahkan masalahnya adalah kueri yang berperforma buruk atau yang memiliki jumlah operasi baca logis yang sangat tinggi.

Informasi tambahan dapat ditemukan dengan menyimpan jejak ke tabel dan menggunakan Transact-SQL untuk mengkueri data peristiwa. Misalnya, untuk menentukan peristiwa SQL:BatchCompleted mana yang memiliki waktu tunggu yang berlebihan, jalankan hal berikut:

SELECT  TextData, Duration, CPU  
FROM    trace_table_name  
WHERE   EventClass = 12 -- SQL:BatchCompleted events  
AND     CPU < (Duration * 1000)  

Catatan

Server melaporkan durasi peristiwa dalam mikrodetik (10^-6 detik) dan jumlah waktu CPU yang digunakan oleh peristiwa dalam milidetik (10^-3 detik). Antarmuka pengguna grafis SQL Server Profiler menampilkan kolom Durasi dalam milidetik secara default, tetapi ketika pelacakan disimpan ke file atau tabel database, nilai kolom Durasi ditulis dalam mikro detik. Pengukuran ini untuk kueri Transact-SQL (T-SQL).

Menampilkan Nama Objek Saat Melihat Jejak

Jika Anda ingin menampilkan nama objek daripada pengidentifikasi objek (ID Objek), Anda harus mengambil kolom data Nama Server dan ID Database bersama dengan kolom data Nama Objek .

Jika Anda memilih untuk mengelompokkan menurut kolom data ID Objek , pastikan Anda mengelompokkan menurut kolom data Nama Server dan ID Database terlebih dahulu, lalu menurut kolom data ID Objek . Demikian pula, jika Anda memilih untuk mengelompokkan menurut kolom data ID Indeks , pastikan Anda mengelompokkan menurut kolom data Nama Server, ID Database, dan ID Objek terlebih dahulu, lalu dengan kolom data ID Indeks . Anda harus mengelompokkan dalam urutan ini karena ID objek dan indeks tidak unik di antara server dan database (dan di antara objek untuk ID indeks).

Menemukan Peristiwa Tertentu Dalam Jejak

Untuk menemukan dan mengelompokkan peristiwa dalam jejak, ikuti langkah-langkah berikut:

  1. Buat jejak Anda.

    • Saat menentukan jejak, ambil kolom data Kelas Peristiwa, ClientProcessID, dan Waktu Mulai selain kolom data lain yang ingin Anda ambil. Untuk informasi selengkapnya, lihat Membuat Jejak (SQL Server Profiler).

    • Kelompokkan data yang diambil menurut kolom data Kelas Peristiwa, dan ambil jejak ke file atau tabel. Untuk mengelompokkan data yang diambil, klik Atur Kolom pada tab Pemilihan Peristiwa dari kotak dialog Properti Pelacakan. Untuk informasi selengkapnya, lihat Menata Kolom yang Ditampilkan dalam Pelacakan (SQL Server Profiler).

    • Mulai jejak dan hentikan setelah waktu yang sesuai berlalu atau jumlah peristiwa telah ditangkap.

  2. Temukan peristiwa target.

    • Buka file atau tabel pelacakan, dan perluas simpul kelas peristiwa yang diinginkan; misalnya, Deadlock Chain. Untuk informasi selengkapnya, lihat Membuka File Pelacakan (SQL Server Profiler) atau Membuka Tabel Jejak (SQL Server Profiler).

    • Telusuri data pelacakan hingga Anda menemukan peristiwa yang Anda cari (gunakan perintah Temukan pada menu Edit SQL Server Profiler untuk membantu Anda menemukan nilai dalam jejak). Perhatikan nilai di kolom data ClientProcessID dan Start Time dari peristiwa yang Anda lacak.

  3. Tampilkan peristiwa dalam konteks.

    • Tampilkan properti pelacakan, dan kelompokkan menurut kolom data ClientProcessIDdaripada oleh kolom data Kelas Peristiwa .

    • Perluas simpul dari setiap ID proses klien yang ingin Anda lihat. Telusuri jejak secara manual, atau gunakan Temukan hingga Anda menemukan nilai Waktu Mulaiyang disebutkan sebelumnya dari peristiwa target. Peristiwa ditampilkan dalam urutan kronologis dengan peristiwa lain yang termasuk dalam setiap ID proses klien yang dipilih. Misalnya, peristiwa Deadlock dan Deadlock Chain, yang diambil dalam jejak, muncul segera setelah peristiwa SQL:BatchStartingdalam ID proses klien yang diperluas.

Teknik yang sama dapat digunakan untuk menemukan peristiwa yang dikelompokkan. Setelah Anda menemukan peristiwa yang Anda cari, kelompokkan berdasarkan ClientProcessID, ApplicationName, atau kelas peristiwa lain untuk melihat aktivitas terkait dalam urutan kronologis.

Lihat juga