Simptome
Luați în considerare următorul scenariu:
-
Utilizați Microsoft SQL Server 2012 sau SQL Server 2014.
-
Aveți o bază de date care are activată serviciul broker în reproducerea primară.
-
Faceți o copie de rezervă a bazei de date în serverul principal, care are activată serviciul broker și restaurarea acestuia pe serverul secundar.
-
Ca parte a definirii grupului de disponibilitate între serverele primare și secundare, încercați să vă asociați la baza de date în grupul disponibilitate, utilizând Expertul grup de disponibilitate nou sau comanda: ALTER DATABASE <dbname> setați HADR disponibilitatea group = <agname>
În acest scenariu, se înregistrează următoarea eroare în Jurnalul de erori SQL Server:
{Error: 3449, severitate: 21, stare: 1. SQL Server trebuie să se închidă pentru a recupera o bază de date (ID bază de date 1). Baza de date este fie o bază de date de utilizator care nu a putut fi închisă, fie o bază de date de sistem. Reporniți SQL Server. Dacă baza de date nu se recuperează după ce o altă pornire, repararea sau restoreSQL trasare a fost oprită din cauza închiderii serverului. Trace ID = ' 1 '. Acesta este doar un mesaj informational; Nu este necesară nicio acțiune de utilizator.}
Cauză
Problema apare deoarece dacă o bază de date activată pentru brokerii de servicii este backup și restaurat la serverul secundar, serviciul broker din baza de date restaurată nu este activat. Baza de date păstrează în continuare un ID de broker de servicii intern. Atunci când adăugați baza de date restaurată pe serverul secundar în grupul disponibilitate, este activat brokerul de servicii. Se detectează același GUID în baza de date disponibilitate și se ridică următoarea eroare (în mod silențios): 9772 "brokerul de servicii din baza de date"<dbname>"nu poate fi activat, deoarece există deja un broker de servicii activat cu același ID". Acest lucru are ca rezultat eroarea 3449, deoarece baza de date se alătură grupului de disponibilitate și determină închiderea în mod neașteptat a SQL Server.
Rezolvare
Problema a fost remediată pentru prima dată în următoarea actualizare cumulativă de SQL Server.
Actualizarea cumulativă 1 pentru SQL Server 2014 /en-us/help/2931693
Actualizarea cumulativă 9 pentru SQL Server 2012 SP1 /en-us/help/2931078
Fiecare nouă actualizare cumulativă pentru SQL Server conține toate remedierile rapide și toate remedierile de securitate care au fost incluse în actualizarea cumulativă anterioară. Consultați cele mai recente actualizări cumulative pentru SQL Server:
Stare
Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secțiunea „Se aplică la”.