Устранение неполадок с Always On в SQL Server
Эта статья поможет устранить распространенные проблемы с конфигурацией AlwaysOn в SQL Server.
Примечание.
Пошаговое руководство по устранению неполадок с SQL Server AlwaysOn см. в этой статье.
Исходная версия продукта: SQL Server 2012 Корпоративная, SQL Server 2014 Корпоративная, SQL Server 2016 Корпоративная
Исходный номер базы знаний: 10179
Важные примечания
Данные CSS Майкрософт указывают на то, что значительный процент проблем с клиентами часто рассматривается в выпущенном накопительном пакете обновления, но не применяется заранее и поэтому рекомендует постоянную упреждающую установку ЦС по мере их доступности. Дополнительные сведения см. в статье Об объявлении обновлений модели добавочного обслуживания SQL Server (ISM).
Чтобы проверить последние ЦС, которые могут быть доступны для вашей версии, см. сведения о том, как определить версию, выпуск и уровень обновления SQL Server и его компонентов.
Полезные инструменты для устранения неполадок и мониторинга групп доступности AlwaysOn см. в руководстве по устранению неполадок и мониторингу групп доступности AlwaysOn, чтобы узнать больше о средствах, которые можно использовать для диагностики различных типов проблем и для мониторинга групп доступности. В руководстве также есть дополнительные сценарии, которые могут не быть рассмотрены в этом пошаговом руководстве.
Родительский узел для групп доступности AlwaysOn и предоставляет одну ссылку для различных вопросов, см. в разделе "Группы доступности AlwaysOn" (SQL Server).
Мне нужны указатели на настройку и настройку групп доступности AlwaysOn
Если вы ищете документацию по настройке конфигурации AlwaysOn, ознакомьтесь со следующими документами:
Приступая к работе с группами доступности AlwaysOn (SQL Server) — документ содержит ответы на множество вопросов о группах доступности и настройке. После выполнения всех действий в этой статье и проверки предварительных требований, ограничений и рекомендаций для групп доступности AlwaysOn (SQL Server) поможет предотвратить множество проблем, с которыми вы можете столкнуться с настройкой и обслуживанием групп доступности в вашей среде.
Дополнительные ресурсы
- Пошаговые инструкции. Создание группы доступности AlwaysOn SQL Server 2012
- Руководства по архитектуре AlwaysOn
- Внешняя ссылка: группы доступности AlwaysOn SQL Server
Если эта информация не полезна, см . дополнительные сведения о группах доступности AlwaysOn.
У меня возникли проблемы с настройкой групп доступности AlwaysOn
Типичные проблемы конфигурации: группы доступности AlwaysOn отключены, учетные записи настроены неправильно, конечная точка зеркального отображения базы данных не существует, конечная точка недоступна (ошибка SQL Server 1418), сетевой доступ не существует, и команда базы данных соединения завершается ошибкой (ошибка SQL Server 35250). Ознакомьтесь со следующим документом, чтобы помочь в устранении этих проблем:
Поиск и устранение неисправностей конфигурации групп доступности AlwaysOn (SQL Server)
Дополнительная ссылка: исправление: ошибка 41009 при попытке создать несколько групп доступности
Если проблема по-прежнему существует, см . дополнительные сведения о группах доступности AlwaysOn.
У меня возникли проблемы с конфигурацией прослушивателя (19471, 19476 и другие ошибки)
Одним из наиболее распространенных проблем с конфигурацией является создание прослушивателя группы доступности. Ошибки похожи на следующие:
-
Msg 19471, level 16, State 0, Line 2The WSFC cluster не удалось перенести ресурс сетевого имени с DNS-именем "" в сети. Возможно, DNS-имя было принято или имеет конфликт с существующими службами имен, или служба кластера WSFC может не работать или может быть недоступна. Используйте другое DNS-имя для разрешения конфликтов имен или проверьте журнал кластера WSFC для получения дополнительных сведений.
-
Msg 19476, Level 16, State 4, Line 2The пытается создать сетевое имя и IP-адрес прослушивателя. Служба WSFC может не работать или может быть недоступна в текущем состоянии, или значения, указанные для сетевого имени и IP-адреса, могут быть неверными. Проверьте состояние кластера WSFC и проверьте сетевое имя и IP-адрес с помощью администратора сети.
Большая часть времени, сбой создания прослушивателя, в результате чего предыдущие сообщения возникают из-за отсутствия разрешений для объекта имени кластера (CNO) в Active Directory для создания и чтения объекта компьютера прослушивателя. Чтобы устранить эту проблему, ознакомьтесь со следующими статьями:
Если проблема по-прежнему существует, см . дополнительные сведения о группах доступности AlwaysOn.
Автоматическая отработка отказа не работает должным образом
Если вы заметили, что автоматическая отработка отказа не работает должным образом во время тестирования или в рабочей среде, см. статью "Устранение неполадок автоматической отработки отказа в средах AlwaysOn SQL Server 2012".
Недопустимая настройка максимальных сбоев в указанный период является одной из основных причин автоматического отработки отказа в дополнительный. Значение по умолчанию для этого параметра — N-1, где N — это число реплик. Дополнительные сведения см. в разделе "Максимальное ограничение отказоустойчивости кластера (группы).
Если проблема по-прежнему существует, см . дополнительные сведения о группах доступности AlwaysOn.
У меня возникли проблемы с подключением к группам доступности AlwaysOn
После настройки прослушивателя группы доступности Для группы доступности AlwaysOn в SQL Server 2012 может быть не удается подключить прослушиватель или подключиться к нему из приложения. Вы можете получить ошибку, аналогичную следующей:
Sqlcmd: ошибка: собственный клиент Microsoft SQL: истек срок действия входа.
Чтобы устранить эти и аналогичные ошибки, ознакомьтесь со следующими статьями:
- Ошибка времени ожидания и невозможно подключиться к прослушивателю группы доступности AlwaysOn SQL Server 2012 в среде с несколькими подсетами.
- Connection Timeouts in Multi-subnet Availability Group (Время ожидания подключения в группе доступности с несколькими подсетями)
Дополнительные ссылки:
- Обновление содержит поддержку функций AlwaysOn в SQL Server 2012 или более поздней версии платформа .NET Framework 3.5 с пакетом обновления 1 (SP1)
- Кластеры SQL Server с несколькими подсетями (SQL Server)
Если проблема по-прежнему существует, см . дополнительные сведения о группах доступности AlwaysOn.
У меня возникли проблемы с настройкой групп доступности AlwaysOn на виртуальной машине Azure (IaaS)
Многие проблемы, связанные с AlwaysOn, возникают из-за неправильной настройки прослушивателя. Если у вас возникли проблемы с подключением к прослушивателю,
Убедитесь, что вы прочитали все ограничения прослушивателя подсистемы балансировки нагрузки и выполнили все действия, описанные в следующей статье, уделяя особое внимание конфигурации зависимостей, IP-адресу и различным другим параметрам в скрипте PowerShell.
Если вы не уверены, вы можете удалить и повторно создать прослушиватель, как показано в приведенном выше документе.
Если вы недавно переместили виртуальную машину в другую службу или если IP-адреса изменились, необходимо обновить значение ресурса IP-адресов, чтобы отразить новый адрес, и необходимо повторно создать конечную точку балансировки нагрузки для группы доступности. Вы можете обновить IP-адрес с помощью
Get
следующих команд.Set
Get-ClusterResource "IPResourceName" | Set-ClusterParameter -name Address -value "w.x.y.z"
Рекомендуемые документы:
Если проблема по-прежнему существует, см . дополнительные сведения о группах доступности AlwaysOn.
Отработка отказа от первичного на вторичную или наоборот занимает много времени.
После автоматического перехода на другой ресурс или планового перехода на другой ресурс вручную без потери данных в группе доступности можно обнаружить, что время перехода на другой ресурс превышает цель времени восстановления (RTO). Сведения об устранении неполадок и потенциальных разрешениях см. в статье "Устранение неполадок: превышено значение RTO группы доступности".
Если проблема по-прежнему существует, см . дополнительные сведения о группах доступности AlwaysOn.
Изменения основной реплики не отражаются или медленно реплицируются на вторичную реплику.
Вы можете заметить, что изменения в первичной реплике не передаются во вторичный экземпляр своевременно. Чтобы устранить и устранить эти проблемы, попробуйте следующее:
Сведения о средах SQL Server 2012 и SQL Server 2014 см. в статье FIX: замедление синхронизации при наличии разных размеров сектора для файлов журнала первичной и вторичной реплики в средах SQL Server AG и Logshipping.
Проверьте, находятся ли вторичные узлы в состоянии приостановки в администраторе кластера.
См . устранение неполадок. Изменения первичной реплики не отражаются на вторичной реплике.
Если проблема по-прежнему существует, см . дополнительные сведения о группах доступности AlwaysOn.
Управление размером журнала транзакций для баз данных группы доступности
Размер журнала транзакций можно уменьшить, настроив регулярные резервные копии на первичных или вторичных серверах.
Дополнительные сведения см. в следующих разделах:
- Разгрузка поддерживаемых резервных копий во вторичные реплики группы доступности
- Резервное копирование журналов транзакций с помощью вторичных реплик группы доступности AlwaysOn только для чтения — часть 1
Если эта информация не полезна, см . дополнительные сведения о группах доступности AlwaysOn.
Первичные или вторичные серверы, пораженные в состоянии разрешения или непредвиденная отработка отказа
Проверьте журналы событий системы и приложений на наличие проблем с оборудованием и других ошибок и обратитесь к поставщику, чтобы устранить их.
Если вы используете виртуальные машины, проверьте их база знаний, чтобы узнать, есть ли какие-либо недавно сообщаемые проблемы, которые могут способствовать проблеме. Например, большая потеря пакетов на уровне гостевой операционной системы на виртуальной сетевой адаптере VMXNET3 в ESXi (2039495) вызвала проблемы с конфигурацией группы доступности в некоторых случаях.
Подробнее:
Если проблема по-прежнему существует, см . дополнительные сведения о группах доступности AlwaysOn.
Не удается перенести ресурсы в Интернет
Проверьте, занимает ли база данных много времени для восстановления, просмотрив сообщения в журнале ошибок SQL.
Если проблема по-прежнему существует, см . дополнительные сведения о группах доступности AlwaysOn.
Часто задаваемые вопросы
Можно ли использовать два прослушивателя для одной группы доступности?
Да, можно настроить несколько прослушивателей для одной группы доступности. Узнайте , как создать несколько прослушивателей для одной группы доступности (Goden Yao).
Можно ли использовать отдельную карту сетевого адаптера для постоянного трафика и подключения клиента?
Да, вы можете использовать выделенную карту сетевого адаптера для трафика AlwaysOn. См. раздел "Настройка группы доступности для обмена данными в выделенной сети".
Какие выпуски поддерживают экземпляры отказоустойчивого кластера AlwaysOn?
В этой статье в электронной документации по SQL Server содержатся дополнительные сведения: выпуски и поддерживаемые функции для SQL Server 2016.
Как восстановиться в случае сбоя на всех узлах кластера?
См. раздел аварийного восстановления WSFC с помощью принудительного кворума (SQL Server).
Где можно найти сведения о поддержке распределенных транзакций в конфигурациях группы доступности?
См. сведения о транзакциях — группах доступности и зеркальном отображении базы данных.
Как обновить конфигурации AlwaysOn?
См. раздел об обновлении экземпляров реплики группы доступности AlwaysOn.
Как добавить базу данных TDE (прозрачное шифрование данных) в конфигурацию группы доступности?
Чтобы добавить базу данных с поддержкой TDE в группу доступности, см. инструкции по настройке AlwaysOn для базы данных TDE.
Как настроить оповещения для проверки того, отстает ли вторичный источник?
Можно использовать следующий скрипт:
SELECT ag.name AS ag_name, ar.replica_server_name AS ag_replica_server, dr_state.database_id AS database_id, is_ag_replica_local = CASE WHEN ar_state.is_local = 1 THEN N'LOCAL' ELSE 'REMOTE' END, ag_replica_role = CASE WHEN ar_state.role_desc IS NULL THEN N'DISCONNECTED' ELSE ar_state.role_desc END, dr_state.last_hardened_lsn, dr_state.last_hardened_time, datediff(s,last_hardened_time, getdate()) AS 'seconds behind primary' FROM (( sys.availability_groups AS ag JOIN sys.availability_replicas AS ar ON ag.group_id = ar.group_id) JOIN sys.dm_hadr_availability_replica_states AS ar_state ON ar.replica_id = ar_state.replica_id) JOIN sys.dm_hadr_database_replica_states dr_state ON ag.group_id = dr_state.group_id AND dr_state.replica_id = ar_state.replica_id
Как получить оповещение, если состояние базы данных отличается от синхронизации?
Можно использовать следующий скрипт:
SELECT ag.name AS ag_name, ar.replica_server_name AS ag_replica_server, dr_state.database_id AS database_id, is_ag_replica_local = CASE WHEN ar_state.is_local = 1 THEN N'LOCAL' ELSE 'REMOTE' END, ag_replica_role = CASE WHEN ar_state.role_desc IS NULL THEN N'DISCONNECTED' ELSE ar_state.role_desc END, ar_state.connected_state_desc, ar.availability_mode_desc, dr_state.synchronization_state_desc FROM (( sys.availability_groups AS ag JOIN sys.availability_replicas AS ar ON ag.group_id = ar.group_id ) JOIN sys.dm_hadr_availability_replica_states AS ar_state ON ar.replica_id = ar_state.replica_id) JOIN sys.dm_hadr_database_replica_states dr_state ON ag.group_id = dr_state.group_id AND dr_state.replica_id = ar_state.replica_id
Вы также можете просмотреть следующие ссылки на дополнительные методы для мониторинга групп AlwaysOn:
Управление на основе политик для операционных проблем с группами доступности AlwaysOn
Внешняя ссылка. Использование управления на основе политик для оповещений о потере данных групп доступности SQL Server
Поведение динамического следящего сервера в отказоустойчивой кластеризации Windows Server 2012 R2