Cara memonitor kebuntuan

11

Kapan Anda mulai memecahkan kebuntuan SQL Server 2005/2008 dan bagaimana caranya? Peringatan diaktifkan SSMS melalui peringatan kondisi kinerja SQL Server, objek-> SQLServer: Kunci, Counter-> Kunci Menunggu / Sec, Contoh: _Total, lansiran jika penghitung: naik di atas nilai 3. Apakah ini cara proaktif untuk memantaunya? Apa nilai yang bisa diterima? Saya akan sangat menghargai bantuan Anda. Terima kasih!!!

db7
sumber

Jawaban:

3

Hal pertama yang harus dilakukan adalah melihat grafik jalan buntu dan melihat apa yang sebenarnya terjadi. Kemudian Anda dapat mempertimbangkan opsi-opsi Anda, yang biasanya bermuara pada a) memodifikasi aplikasi untuk menstandardisasi pada urutan objek penguncian (misalnya jika memungkinkan mengingat logika aplikasi, membuat perjanjian dengan pengembang Anda untuk selalu mengunci tabel dalam urutan abjad) atau ) lihat apakah Anda benar-benar beroperasi pada tingkat isolasi yang sesuai dalam setiap transaksi.

Gayus
sumber
Menurut stackoverflow.com/a/112256/14731, urutan penguncian yang konsisten tidak mencegah kebuntuan.
Gili
3

Saya akan menggunakan penelusuran sisi server otomatis dari 2 masalah utama:

  • kueri panjang (Anda menetapkan durasi yang panjang untuk lingkungan Anda)

  • deadlock - periksa grafik Deadlock dan Lock: Deadlock chain

Anda akan mendapatkan file jejak setiap hari dan Anda dapat memantau tindakan - lihat apakah beberapa acara yang dijadwalkan menyebabkan masalah. Anda dapat melihat rincian lebih lanjut tentang pembuatan profil produksi dalam pertanyaan ini: Menggunakan SQL Profiler pada database yang di produksi .

Marian
sumber
1

System Center Operations Manager (SCOM) dengan SQL Server Management Pack dapat mengingatkan pada deadlock jika Anda mengaktifkan logging untuk pesan 1205. Anda dapat mengaktifkannya dengan query SQL berikut: EXEC sp_altermessage 1205, 'WITH_LOG', 'true'.

Juga, lihat jawaban saya untuk "Mengapa objectname dan indexname tidak diisi dalam grafik jalan buntu?" untuk skrip PowerShell saya menulis yang akan menarik informasi kebuntuan dari buffer acara dan menulis grafik kebuntuan sebagai file xdl yang dapat dibuka di SQL Management Studio 2012 atau lebih tinggi atau dilihat di notepad untuk melihat lebih detail.

JamieSee
sumber