Ознаки
Розглянемо такий сценарій:
-
Ви використовуєте Microsoft SQL Server 2012 або SQL Server 2014.
-
У вас є база даних, яка має службу брокера служби, ввімкнена в основній репліці.
-
Ви резервну копію бази даних на первинному сервері, на якому активовано службу брокера служби, і відновіть її на вторинному сервері.
-
У рамках визначення групи доступності між основними та вторинними серверами ви намагаєтеся приєднатися до бази даних до групи доступності за допомогою майстра створення групи доступності або команди: змінити БАЗУ даних <dbname> Set hakr доступність групи = <agname>
У цьому випадку в журналі помилок SQL Server записується таке повідомлення про помилку:
{Помилка: 3449, серйозність: 21, стан: 1. SQL Server має завершити роботу, щоб відновити базу даних (ІДЕНТИФІКАТОР бази даних 1). База даних – це база даних користувача, яка не може бути закрита або Системна база даних. Перезапустіть SQL Server. Якщо база даних не може відновитися за іншим запуском, відновлення або Реставрестворення трасування зупинено через вимкнення сервера. ІДЕНТИФІКАТОР трасування = ' 1 '. Це лише Інформаційне повідомлення; Дія користувача не обов'язкова.}
Причина
Ця проблема виникає, тому що, якщо база даних активованих служб для брокера служби підтримується на вторинному сервері та відновлено, служба брокера служби в відновленій базі даних не активовано. База даних продовжує зберігати ідентифікатор брокера служби всередині. Під час додавання відновленої бази даних на вторинному сервері до групи доступності активується брокер служби. Виявлено той самий GUID у базі даних доступності, а наведена нижче помилка (мовчки): 9772 "брокер служби в базі даних"<dbname>"не можна ввімкнути через те, що для цього є вже увімкнуто брокер служби з таким самим ідентифікатором". Це призводить до помилки 3449, оскільки база даних приєднується до групи доступність, і причиною несподівано завершення роботи сервера SQL Server.
Спосіб вирішення
Ця проблема була спочатку зафіксоване в цьому сукупному оновленні сервера SQL Server.
Сукупне оновлення 1 для SQL Server 2014 /en-us/help/2931693
Сукупне оновлення 9 для SQL Server 2012 SP1 /en-us/help/2931078
Кожне нове Сукупне оновлення для SQL Server містить усі поточні виправлення та всі виправлення системи безпеки, які були включені до попереднього сукупного оновлення. Ознайомтеся з найновішими сукупними оновленнями для сервера SQL Server:
Стан
Корпорація Майкрософт підтвердила, що це проблема в продуктах Microsoft, перелічених у розділі "застосовується до".