Microsoft SQL Server 2012 Mirror Go To Terputus

8

Saya memiliki beberapa mirror Microsoft SQL server 2012, tanpa saksi dalam mode asinkron, yang secara sporadis akan terputus. Saya menjalankan SQL Server 2012 11.0.5058. Melihat log di sisi cermin saya lihat

Gagal mengalokasikan BUF: FAIL_BUFFER_ALLOCATION 1

Ada sejumlah pesan memoryclerk

Kesalahan: 802, Tingkat Permasalahan: 17, status: 0.

Memori tidak cukup tersedia di buffer pool.

Kesalahan: 1454, Tingkat Permasalahan: 16, Negara: 1.

Pencerminan basis data akan ditangguhkan. Server instance 'instance' mengalami kesalahan 802, status 0, severity 17 ketika itu bertindak sebagai mitra mirroring untuk database 'database'. Mitra mirroring database mungkin mencoba untuk memulihkan secara otomatis dari kesalahan dan melanjutkan sesi mirroring. Untuk informasi lebih lanjut, lihat log kesalahan untuk pesan kesalahan tambahan.

Setiap bantuan apa yang harus diperiksa untuk mencari tahu mengapa cermin ditangguhkan dan kemudian diputus mengikuti rangkaian acara ini akan dihargai. Saya dapat membangun kembali cermin setelah ini dan mereka bekerja dengan baik selama beberapa hari dan kemudian terjadi lagi.

John Wesley Gordon
sumber
Untuk apa memori maks diatur? Apakah Anda juga menggunakan broker Layanan?
Kin Shah
Di cermin dan utama, 2147483647 MB. Tidak menggunakan Pialang Layanan.
John Wesley Gordon
2
Ok .. itu satu hal untuk menjadikannya non default - selain itu SQL server akan menggunakan semua memori yang membuat OS Anda kelaparan. Bisakah Anda mengaturnya ke nilai yang masuk akal? Sebagai titik awal yang baik Anda dapat menggunakan referensi ini . Juga, dapatkah Anda mengecek ulang 11.0.5048bunyi SQL Server build Anda salah?
Kin Shah
Typo, saat itu 11.0.5058
John Wesley Gordon
1
Jadi SP2 RTM, yang berusia satu setengah tahun - sudahkah Anda mempertimbangkan untuk naik ke SP3 (dan opsional CU1)? Tidak tahu apakah itu akan memperbaiki masalah Anda, tetapi ada banyak perbaikan lain di sana yang mungkin bermanfaat.
Aaron Bertrand

Jawaban:

1

Saya mengalami masalah yang sangat mirip di perusahaan saya sebelumnya. Database miroring secara berkala ditangguhkan dengan kesalahan yang sama seperti yang Anda dapatkan. Mirroring tidak pernah terhubung kembali sendiri, tetapi biasanya saya dapat melanjutkannya menggunakan:

ALTER DATABASE <Database Name> SET PARTNER RESUME

Setelah beberapa minggu kami menemukan bahwa meskipun ada cukup memori di server dan cukup memori dialokasikan untuk contoh beban kerja kami sangat tidak merata dan kadang-kadang 100% dari memori digunakan. Karena sebagian besar waktu kami memiliki memori yang cukup, kami tidak berwenang untuk membeli lebih banyak. Saya akhirnya menambah file ekstensi buffer pool dan meletakkannya di salah satu SSD yang kebetulan memiliki cukup ruang kosong untuk menampungnya. Masalah dengan mirroring tidak pernah kembali lagi. Saya tidak dapat menjamin bahwa hal yang sama akan bekerja untuk Anda, saya terutama berbagi pengalaman saya.

QWE
sumber
0

Beberapa pertanyaan untuk ditanyakan dan memulai pemecahan masalah
1.Berapa banyak basis data yang Anda mirroring
2.Berapa banyak RAM yang tersedia untuk sql server 3. Apa
ukuran basis data yang dicerminkan

Di bawah ini adalah perkiraan kasar persyaratan mirroring ketika mirroring diaktifkan

pada Prinicipal:
4 MB per basis data untuk DBM send buffer ditambah 4 MB untuk buffer write log

Di Mirror:
1 MB untuk buffer penulisan log dan 1 MB untuk log REDO Buffer

Anda juga dapat memeriksa konsumsi memori per DB pada mirror instance untuk melihat basis data mana yang menjadi hambatan dan memulai pemecahan masalah

Pemanfaatan memori per database - SQL Server

TheGameiswar
sumber
Saya memiliki 3 basis data yang dicerminkan. Server Utama memiliki 16 GB memori dan cermin memiliki 20 GB memori. Penggunaan memori terbesar pada mirror sekarang adalah 3,8 MB untuk mirror. Database mirror memiliki primernya sendiri. Utama terbesar adalah 9301 MB. Total semua database di server mirror adalah 9593.75 MB. Tampaknya ini tidak mendekati tanda 20 GB. Yang utama bahkan lebih sedikit, hanya menggunakan 6765 MB.
John Wesley Gordon