Kami memecahkan masalah yang sudah berjalan lama dengan vendor. Perangkat lunak mereka memiliki kecenderungan untuk membeku dan berhenti bekerja sekali atau dua kali seminggu yang menyebabkan gangguan besar pada operasi kami. Mereka tidak dapat menentukan penyebabnya meskipun kami mengirimi mereka banyak GB log dan cadangan DB. Akhir-akhir ini mereka mulai menyarankan bahwa masalahnya ada pada pemeliharaan kita dan mungkin tidak dengan perangkat lunak mereka (meskipun tidak ada permintaan yang berjalan lama, tekanan CPU / RAM / IO atau bahkan deadlock ketika masalah terjadi). Secara khusus mereka mengatakan indeks kami adalah masalah.
Alat favorit mereka untuk digunakan adalah showcontig DBCC meskipun saya berpendapat hal itu sudah usang oleh MS. Mereka terobsesi dengan kerapatan pemindaian dan fragmentasi luas khususnya. Untuk menghilangkan alasan saya melembagakan beberapa pemeliharaan malam agresif yang membangun kembali indeks dengan kepadatan pemindaian <90% atau fragmentasi> 10%. Ini agak membuang mereka dari kerapatan pemindaian tetapi mereka tetap terpaku pada tingkat fragmentasi. Showcontig DBCC menunjukkan fragmentasi tingkat tinggi bahkan pada indeks yang dibangun kembali beberapa jam sebelumnya. Di bawah ini adalah hasil dari dbcc_showcontig dan sys.dm_db_index_physical_stats untuk tabel yang mereka tunjuk sebagai "kemungkinan masalah".
DBCC SHOWCONTIG
- Halaman Dipindai .................................. 1222108
- Perlu Dipindai ...................................: 152964
- Extent Switches ..................................... 180904
- Rata-rata Halaman per Extent ........................: 8.0
- Scan Density [Hitungan Terbaik: Hitungan Aktual] .......: 84.44% [152764: 180905]
- Fragmentasi Pemindaian Logis ..................: 3,24%
- Perpanjangan Pemindaian Yang Luas ...................: 35,97%
- Rata-rata Bytes Gratis per Halaman .....................: 692.5
- Rata-rata Kepadatan Halaman (penuh) .....................: 91,44%
sys.dm_db_index_physical_stats
index_type_desc alloc_unit_type_desc Avg_fragmentation_in_percent page_count
CLUSTERED INDEX IN_ROW_DATA 3.236803129 1222070
NONCLUSTERED INDEX IN_ROW_DATA 0.680074642 48230
NONCLUSTERED INDEX IN_ROW_DATA 0.093237195 48264
NONCLUSTERED INDEX IN_ROW_DATA 0.03315856 48253
NONCLUSTERED INDEX IN_ROW_DATA 0.194653248 48291
NONCLUSTERED INDEX IN_ROW_DATA 0.393480436 58961
NONCLUSTERED INDEX IN_ROW_DATA 0.23622292 64346
NONCLUSTERED INDEX IN_ROW_DATA 0.041445623 48256
NONCLUSTERED INDEX IN_ROW_DATA 0.701172007 59044
NONCLUSTERED INDEX IN_ROW_DATA 0.216397724 53605
Haruskah saya peduli dengan indeks saya? Yang di atas tidak atipikal. MS DMV yang disukai akan muncul untuk menunjukkan itu baik-baik saja, tetapi vendor terjebak pada tingkat fragmentasi 35,97%. Saya menduga ini hanya mereka yang mati-matian berusaha menemukan sesuatu untuk disalahkan pada masalah perangkat lunak mereka, tetapi jika saya memiliki masalah aktual saya ingin mencoba dan memperbaikinya.