Симптоми
Обмислете следния сценарий:
-
Можете да използвате Microsoft SQL Server 2012 или SQL Server 2014.
-
Имате база данни, в която е разрешен брокерът за услуги в основната реплика.
-
Можете да архивирате базата данни в първичен сървър, който има разрешена услуга за брокер и да я възстановите на вторичния сървър.
-
Като част от дефинирането на групата за достъпност между основните и вторичните сървъри, се опитвате да се присъедините към базата данни към групата достъпност, като използвате съветника за нова група за достъпност или командата: промяна на база данни <dbname> Задайте HADR за достъпност на групата = <agname>
В този случай следната грешка се записва в регистрационния файл за грешки на SQL Server:
{Error: 3449, тежест: 21; щат: 1. SQL Server трябва да е изключен, за да възстанови база данни (ИД на база данни 1). Базата данни е или потребителска база данни, която не може да бъде изключена или системна база данни. Рестартирайте SQL Server. Ако базата данни не успее да се възстанови, след като е спряла друга поправка или restoreSQL, поради изключване на сървъра. Трейс ИД = "1". Това е само информативно съобщение; не се изисква действие от потребителя.}
Причина
Проблемът възниква, защото ако база данни за разрешена услуга за брокер е архивирана и възстановена на вторичния сървър, брокерът на услуги в възстановена база данни не е разрешена. Базата данни все още поддържа ИД на услугата брокер вътрешно. Когато добавите възстановената база данни на втория сървър към групата достъпност, брокерът на услуги е разрешен. Ще се открие същото ръководство в базата данни за наличност и ще се появи следната грешка: 9772 "брокерът на услуги в базата данни"<dbname>"не може да бъде разрешен, тъй като вече има активиран брокер на услуги с един и същ ИД". Това води до грешка 3449, тъй като базата данни се присъединява към групата достъпност и кара SQL сървъра да се затвори неочаквано.
Решение
Проблемът е коригиран първо в следващата сборна актуализация на SQL Server.
Сборна актуализация 1 за SQL Server 2014 /en-us/help/2931693
Кумулативна актуализация 9 за SQL Server 2012 SP1 /en-us/help/2931078
Всяка нова сборна актуализация за SQL Server съдържа всички поправки и всички корекции на защитата, които са били включени в предишната сборна актуализация. Вижте последните сборни актуализации за SQL Server:
Състоянието
Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са посочени в секцията "важи за".