Pesan SQL Errorlog Constant FlushCache

Sep 04 2020

Server yang merupakan bagian dari SQL 2017 Always on availability group (BAG) Saya telah memperhatikan peningkatan pesan ini. Saya memahami ini adalah pesan yang muncul di log sebagai standar sejak 2012 (tanda jejak sebelum 2012) tetapi selama 2 hari terakhir pesan muncul setiap beberapa menit, tidak ada cadangan yang berjalan atau tugas pemeliharaan saat ini

Server bertindak sebagai fail over partner sekunder yang tidak dapat dibaca dan server utama tidak menunjukkan perilaku yang sama.

09/04/2020 10: 52: 24, spid82s, Unknown, FlushCache: membersihkan 2303 buf dengan 1881 menulis dalam 81090 ms (menghindari 11 buf kotor baru) untuk db 7: 0 09/04/2020 10:52:07, spid52s, Tidak diketahui, target terakhir beredar: 2 avgWriteLatency 86 09/04/2020 10: 52: 07, spid52s, Tidak diketahui, rata-rata tulis per detik: 17,70 tulis / detik throughput rata-rata: 0,19 MB / detik saturasi I / O: 13073 sakelar konteks 15434

Ada juga peringatan di log kesalahan sistem tentang masalah disk, beberapa detik setelah ini grup ketersediaan gagal sejak pesan FlushCache meningkat.

Adakah yang mengalami hal serupa atau punya saran, sysadmin saya juga melihat real SAN dan VMware.

Apakah Anda tiba-tiba berpikir apakah ini disebabkan oleh aktivitas pertumbuhan otomatis?

Jawaban

4 AaronBertrand Sep 04 2020 at 10:05

Beralih ke pos pemeriksaan tidak langsung (umumnya, setel waktu interval pemulihan menjadi 60 detik, setidaknya untuk database pengguna).

Saya menulis tentang masalah ini di sini dan di sini , dan Anda harus membaca posting tersebut secara lengkap sebelum melakukan perubahan, meskipun ini adalah IMHO yang tidak perlu dipikirkan lagi.

Dampaknya di lingkungan kita drastis dan langsung, dan mudah untuk membuktikan bahwa perubahan itu bertanggung jawab. Setiap database dengan gejala pergi dari 30-60 detik checkpoint, dan errorlogs penuh dengan pesan ini, ke checkpoint sub-detik dan tidak ada lagi entri errorlog.

Mungkin ada teknik mitigasi untuk beban kerja Anda juga, misalnya lihat posting ini oleh Itzik Ben-Gan tetapi membuat pos pemeriksaan lebih efisien adalah cara yang lebih cepat dan mudah. Penyimpanan Anda dan orang-orang VM tidak lolos; pasti ada masalah disk yang perlu mereka atasi (tetapi saya tidak setuju bahwa pesan FlushCache ini adalah penyebab utama dari kegagalan apa pun; kemungkinan besar itu hanya korban / gejala yang berbeda).

3 DanCo Sep 04 2020 at 10:22

Hubungi admin penyimpanan Anda jika ada pembaruan firmware baru-baru ini atau subsistem penyimpanan Anda memerlukan pembaruan firmware yang lebih baru. Saya telah melihat pesan ini di lingkungan SQL beberapa kali dan satu hal yang dapat Anda lihat adalah konfigurasi lapisan penyimpanan (ini adalah penyebab umum). Juga, satu hal untuk memantau kinerja disk Anda menggunakan perfmon. counter disk Anda perlu fokus pada: avg disk sec/Read, avg disk sec/Write, avg disk sec/Transfer.

Anda dapat memeriksa tautan berikut yang dapat Anda lihat di bawah ini:

  1. Cara Kerja: Kapan pesan FlushCache ditambahkan ke SQL Server Error Log?
  2. https://techcommunity.microsoft.com/t5/sql-server-support/how-it-works-when-is-the-flushcache-message-added-to-sql-server/ba-p/317038

Ketika saya mengatakan lapisan penyimpanan, periksa yang berikut: HBA / CNA, Kabel Fiber, Sakelar FC, Ports, Pengontrol penyimpanan, Perangkat Lunak (driver MPIO) - semua konfigurasinya

Terakhir, saya sangat menyarankan untuk selalu memeriksa dan menyelidiki pesan peringatan / kesalahan di log peristiwa Anda. JANGAN biarkan begitu saja karena pesan semacam ini memiliki konsekuensi jangka panjang.