KB2929193 – PATAISA: "„SQL Server“ 2012" arba "„SQL Server“ 2014" egzempliorius išsijungia, kai prisijungiate prie duomenų bazės kaip antrinė replika konfigūruojant "AlwaysOn" prieinamumo grupes

Taikoma
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Požymiai

Apsvarstykite šį scenarijų:

  • Naudojate "Microsoft „SQL Server“ 2012" arba "„SQL Server“ 2014".
  • Turite duomenų bazę, kurioje pirminėje replikoje įgalintas tarnybos brokeris.
  • Atsarginę duomenų bazės kopiją galite sukurti pirminiame serveryje, kuriame įjungtas paslaugų brokeris, ir atkurti antriniame serveryje.
  • Apibrėždami pasiekiamumo grupę tarp pirminio ir antrinio serverių, bandykite prijungti duomenų bazę prie pasiekiamumo grupės naudodami vediklį Nauja pasiekiamumo grupė arba komandą:
    ALTER DATABASE <dbname> SET HADR AVAILABILITY GROUP = <agname>

Tokiu atveju "„SQL Server“" klaidų žurnale užregistruojama ši klaida:

Pastaba

{
Klaida: 3449, Sunkumas: 21, Būsena: 1.
„SQL Server“ turi būti išjungtas, kad būtų galima atkurti duomenų bazę (duomenų bazės ID 1). Duomenų bazė yra vartotojo duomenų bazė, kurios nepavyko išjungti, arba sistemos duomenų bazė. Iš naujo paleiskite „SQL Server“. Jei duomenų bazės nepavyksta atkurti po kito paleidimo, atkūrimo arba atkūrimo
SQL sekimas sustabdytas dėl serverio išjungimo. Sekimo ID = '1'. Tai tik informacinis pranešimas; Vartotojui nereikia imtis jokių veiksmų.
}

      

Priežastis

Taip nutinka, nes sukūrus atsarginę duomenų bazės su tarnybos brokeriu kopiją ir atkūrus ją antriniame serveryje, tarnybos agentas atkurtoje duomenų bazėje neįgalinamas. Duomenų bazėje vis dar saugomas tarnybos agento ID.

Kai antriniame serveryje atkurtą duomenų bazę įtraukiate į prieinamumo grupę, paslaugų brokeris yra įgalinamas. Pasiekiamumo duomenų bazėje aptinkamas tas pats GUID ir pateikiama (tyliai) ši klaida:
9772 "Tarnybos agento duomenų bazėje "<dbname>" įgalinti negalima, nes jau yra įgalintas paslaugų agentas su tokiu pačiu ID".

Todėl įvyksta klaida 3449, nes duomenų bazė prisijungia prie prieinamumo grupės, todėl SQL serveris netikėtai išsijungia.

Sprendimas

Problema pirmą kartą buvo išspręsta šiame kaupiamajame „SQL Server“ naujinime.

1 kaupiamasis naujinimas, skirtas „SQL Server“ 2014 /en-us/help/2931693

9 kaupiamasis naujinimas, skirtas „SQL Server“ 2012 SP1 /en-us/help/2931078

Apie kaupiamuosius „SQL Server“ naujinimus

Kiekviename naujame „SQL Server“ kaupiamajame naujinime yra visos karštosios pataisos ir visos saugos pataisos, kurios buvo įtrauktos į ankstesnį kaupiamąjį naujinimą. Peržiūrėkite naujausius "„SQL Server“" kaupiamuosius naujinimus:

      

Būsena

„„Microsoft““ patvirtino, kad tai yra „„Microsoft““ produktų, išvardytų dalyje „Taikoma“, problema.