Проблема
Предположим, что вы используете Microsoft SQL Server 2016 или 2017. Когда группа доступности присоединяется к существующей распределенной группе доступности (DAG) сразу после удаления и повторного создания группы обеспечения доступности баз данных, она может не присоединиться к группе обеспечения доступности баз данных, что приведет к появлению сообщений об ошибках, примерно такого содержания:
Always On: обработка уведомления об изменении конфигурации AG для AG "AGName" в состоянии "FORWARDER" (7).
Ошибка: 41162, Серьезность: 16, Состояние: 0.
Не удалось проверить порядковый номер конфигурации группы доступности "AGName". Порядковый номер в памяти не совпадает с сохраненным порядковым номером. Группа доступности и/или локальная реплика доступности будут перезапущены автоматически. В настоящее время никаких действий пользователя не требуется.
Always On: AR "AGName" теперь обрабатывает уведомление (тип 64).
Always On: обработка уведомления об изменении конфигурации AG для AG "AGName" в состоянии "FORWARDER" (7).
Always On: дополненная реальность "AGName" теперь проверяет целостность AG в WSFC.
Always On: Переход ролей AR 'AGName' [FORWARDER] --> [FORWARDER], триггер [VALIDATE_AG_CONFIG], состояние (wsfc = 1, метаданные = 1).
Always On: AR "AGName" теперь обрабатывает уведомление (тип -2).
Кроме того, ошибка 41162 может привести к состоянию разрешения AG и двум другим проблемам: ошибке 19407 и сбою утверждения.
Ошибка 19407:
Неквалифицированные транзакции откатываются в базе данных DBName для изменения состояния групп доступности Always On. Предполагаемое завершение отката: 100 %. Это информационное сообщение. Никаких действий со стороны пользователя не требуется.
[HaDrDbMgr::SetPrimaryAR] Задание primary в качестве AGID: AGNumber, ReplicaID: ReplicaNumber, AGDBID: AGDBNumber
Ошибка: 19407, Серьезность: 16, Состояние: 2.
Срок аренды между группой доступности "GroupName" и отказоустойчивым кластером Windows Server истек. Возникла проблема соединения между экземпляром SQL Server и отказоустойчивым кластером Windows Server. Чтобы определить, правильно ли группа доступности выполняет отработку отказа, проведите проверку соответствующего ресурса группы доступности в отказоустойчивом кластере Windows Server.
Утверждение:
Always On. Обработка уведомления об изменении конфигурации AG для AG "DatabaseName" в состоянии "RESOLVING_NORMAL" (0).
Always On: AR "DatabaseName" теперь проверяет целостность AG в WSFC.
Always On: GetTransportWithRef() отклонен, так как локальная AR отсутствует в сети.
Сведения о состоянии базы данных 'DatabaseName' - Hardened Lsn: '(34:304752:1)' Commit LSN: '(0:0:0)' Commit Time: 'Jan 1 1900 12:00AM'
RECOVERY (DatabaseName, 6): Начало остановки параллельных повторов рабочих процессов
**Поток дампа - spid = 0, EC = 0x000001F280CC7250
Дамп стека, отправляемый в FileLocation
* НАЧАЛО ДАМПА СТЕКА:
* Расположение: "FileLocation":1774
* Выражение: GetContext ()->GetController ()->GetHadrArRoleExternal () == HADR_ROLE_FORWARDING_SECONDARY
* SPID: SPId
* Идентификатор процесса: ProcessId
Ошибка: 17066, Серьезность: 16, Состояние: 1.
SQL Server Assertion: File: <"Filelocation",> line=1774 Failed Assertion = 'GetContext ()->GetController ()->GetHadrArRoleExternal () == HADR_ROLE_FORWARDING_SECONDARY'. Эта ошибка может быть связана со временем. Если ошибка сохраняется после повторного запуска инструкции, используйте DBCC CHECKDB для проверки базы данных на предмет структурной целостности или перезапустите сервер, чтобы убедиться, что структуры данных в памяти не повреждены.
Ошибка: 3624, Серьезность: 20, Состояние: 1.
Не удалось выполнить проверку утверждения системы. Дополнительные сведения см. в журнале ошибок SQL Server. Как правило, сбой утверждения вызван ошибкой программного обеспечения или повреждением данных. Чтобы выполнить проверку на наличие повреждений базы данных, рассмотрите возможность запуска DBCC CHECKDB. Если вы согласились отправлять дампы в Microsoft во время установки, мини-дамп будет отправлен в Microsoft. Обновление может быть доступно от корпорации Майкрософт в последнем пакете обновления или в исправлении от службы технической поддержки.
Состояние
Корпорация Майкрософт подтвердила, что это проблема продуктов Microsoft, перечисленных в разделе «Относится к».
Решение
Эта проблема устранена в следующем накопительном пакете обновления для SQL Server:
Сведения о накопительных обновлениях для SQL Server:
Каждый новый накопительный пакет обновления для SQL Server содержит все исправления и исправления безопасности, которые входили в состав предыдущего накопительного пакета обновления. Ознакомьтесь с последними накопительными пакетами обновления для SQL Server:
Сведения об исправлениях по запросу:
Эта проблема устранена в следующем исправлении по запросу для SQL Server:
Ссылки
Узнайте о терминологии, используемой корпорацией Майкрософт для описания обновлений программного обеспечения.