Gejala
Pertimbangkan skenario berikut:
- Anda menggunakan Microsoft SQL Server 2012 atau SQL Server 2014.
- Anda memiliki database yang mengaktifkan Service Broker dalam replika utama.
- Anda mencadangkan database di server utama yang mengaktifkan broker layanan dan memulihkannya di server sekunder.
- Sebagai bagian dari menentukan grup ketersediaan antara server utama dan sekunder, Anda mencoba menggabungkan database ke grup ketersediaan menggunakan panduan Grup Ketersediaan Baru atau perintah:
ALTER DATABASE <dbname> SET HADR AVAILABILITY GROUP = <agname>
Dalam skenario ini, kesalahan berikut dicatat dalam log kesalahan SQL Server:
Catatan
{
Kesalahan: 3449, Tingkat Keparahan: 21, Negara: 1.
SQL Server harus dimatikan untuk memulihkan database (ID database 1). Database adalah database pengguna yang tidak dapat dimatikan atau database sistem. Mulai ulang SQL Server. Jika database gagal pulih setelah pengaktifan lagi, perbaiki atau pulihkan
SQL Trace dihentikan karena penonaktifan server. ID Pelacakan = '1'. Ini hanya merupakan pesan informasi; Tidak ada tindakan pengguna yang diperlukan.
}
Penyebab
Masalah ini terjadi karena jika database yang diaktifkan untuk broker layanan dicadangkan dan dipulihkan ke server sekunder, broker layanan dalam database yang dipulihkan tidak diaktifkan. Database masih menyimpan id broker layanan secara internal.
Saat Anda menambahkan database yang dipulihkan di server sekunder ke grup ketersediaan, broker layanan diaktifkan. GUID yang sama dalam database ketersediaan terdeteksi, dan kesalahan berikut dimunculkan (secara diam-diam):
9772 "Broker Layanan dalam database "<dbname>" tidak dapat diaktifkan karena sudah ada Broker Layanan yang diaktifkan dengan ID yang sama".
Hal ini mengakibatkan kesalahan 3449 saat database bergabung dengan grup ketersediaan, dan menyebabkan server SQL mati secara tiba-tiba.
Resolusi
Masalah pertama kali diperbaiki dalam pembaruan kumulatif SQL Server berikut.
Pembaruan Kumulatif 1 untuk SQL Server 2014 /en-us/help/2931693
Pembaruan Kumulatif 9 untuk SQL Server 2012 SP1 /en-us/help/2931078
Tentang pembaruan kumulatif untuk SQL Server
Setiap pembaruan kumulatif baru untuk SQL Server berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan pembaruan kumulatif sebelumnya. Lihat pembaruan kumulatif terbaru untuk SQL Server:
- Pembaruan kumulatif terbaru untuk SQL Server 2014
- Pembaruan kumulatif terbaru untuk SQL Server 2012 SP1
Status
Microsoft telah mengonfirmasi bahwa ini adalah masalah dalam produk Microsoft sebagaimana tercantum di bagian "Berlaku untuk".