Применяется к
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 Express - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Проблемы

Это обновление включает следующие улучшения для поддержки времени ожидания аренды AlwaysOn в Microsoft SQL Server:

  • Теперь в сообщении Время ожидания аренды отображается и регистрируется текущее и ожидаемое время продления.

  • Добавлено новое сообщение об ошибке для работников аренды, которое четко указывает причину истечения времени ожидания аренды.

  • Добавлено новое расширенное событие и новый кольцевой буфер для арендных рабочих ролей. Они четко указывают этапы аренды.

Решение

Эта проблема была сначала исправлена в следующих пакетах обновления для SQL Server.

Дополнительные сведения о SQL Server 2012 с пакетом обновления 3 (SP3) см. в статье Ошибки, исправленные в SQL Server 2012 с пакетом обновления 3 (SP3).

Пакет обновления 2 (SP2) для SQL Server SQL Server 2014Пакеты обновления для SQL Server Пакеты служб являются накопительными. Каждый новый пакет обновления содержит все исправления, которые были в предыдущих пакетах обновления, а также все новые исправления. Мы рекомендуем применить последний пакет обновления и последнее накопительное обновление для этого пакета обновления. Вам не нужно устанавливать предыдущий пакет обновления перед установкой последнего пакета обновления. Дополнительные сведения о последнем пакете обновления и последнем накопительном обновлении см. в таблице 1 в следующей статье.Определение версии, выпуска и уровня обновления SQL Server и его компонентов

Дополнительная информация

Для получения дополнительных сведений в SQL Server добавлены новые сообщения об ошибках. В следующей таблице перечислены и описаны каждый из них.

Ошибка

Сообщение об ошибке

Причина

Корректирующее действие

19419

Возобновление аренды между группой доступности "%.*ls" и Windows Server отказоустойчивого кластера завершилось сбоем, так как существующая аренда больше не действительна.

Рабочая роль аренды на стороне SQL Server не запланирована вовремя для обработки сигнала о событии из кластера.

Проверьте загрузку ЦП на сервере, так как SQL Server рабочей роли аренды, кажется, голодает.

19420

Группе доступности "%.*ls" явно предлагается остановить продление аренды.

Продление аренды останавливается в рамках вывода группы доступности в автономный режим. Это только информационные сведения.

19421

Возобновление аренды между группой доступности "%.*ls" и отказоустойчивого кластера Windows Server завершилось сбоем, так как возобновление не произошло в течение интервала аренды.

Вспомогатель аренды на стороне кластера не сигнализирует о SQL Server рабочей роли аренды вовремя.

Проверьте соответствующий ресурс группы доступности в кластере WSFC, чтобы узнать, сообщил ли он об ошибке.

19422

Возобновление аренды между группой доступности "%.*ls" и отказоустойчивого кластера Windows Server завершилось сбоем из-за ошибки windows с кодом ошибки (%d).

Рабочей роли аренды на SQL Server стороне не удалось продлить аренду из-за ошибки windows.

Проверьте код ошибки Windows и выполните корректирующее действие.

19423

Аренда аренды группы доступности "%.*ls" больше не действительна для запуска процесса продления аренды.

Когда работник аренды начал обрабатывать избыточное время аренды, предоставленное онлайн-вызовом, срок аренды уже истек. Это может произойти из-за проблем с планированием.

Проверьте загрузку ЦП на сервере, так как SQL Server рабочей роли аренды, кажется, голодает.

19424

Работник аренды группы доступности "%.*ls" теперь спит избыточное время аренды (%u мс), предоставленное во время подключения. Это только информационное сообщение. Никаких действий от пользователя не требуется.

Информационных. Дополнительное оперативное время, отведенное на запуск потока продления аренды и в рамках оперативной процедуры группы доступности.

Пример ошибки 19419: при использовании отладчика для подключения к SQL Server он прерывает обслуживание потоков в процессе SQL Server, пока не будет возобновлен процесс SQL Server. При возобновлении SQL Server в журнале ошибок SQL Server отображается следующее:

<время даты> сервер ошибка: 19419, серьезность: 16, состояние: 1. <время даты> server Windows Server отказоустойчивый кластер не получил сигнал события процесса от SQL Server размещения группы доступности "ag" в течение периода ожидания аренды. <время даты> сервер ошибка: 19407, серьезность: 16, состояние: 1. <время даты> сервер. Срок аренды между группой доступности "ag" и отказоустойчивого кластера Windows Server истек. Возникла проблема с подключением между экземпляром SQL Server и отказоустойчивого кластера Windows Server. Чтобы определить, правильно ли выполняется отработка отказа группы доступности, проверка соответствующий ресурс группы доступности в отказоустойчивом кластере Windows Server. <время даты> server AlwaysOn. Локальный реплика группы доступности "ag" переключится в автономный режим, так как срок аренды истек или продление аренды не удалось. Это только информационное сообщение. Никаких действий от пользователя не требуется. <время даты> сервер. Состояние локального реплика доступности в группе доступности "ag" изменилось с "PRIMARY_NORMAL" на "RESOLVING_NORMAL". Состояние реплика изменилось из-за запуска, отработки отказа, проблемы с взаимодействием или ошибки кластера. Дополнительные сведения см. на панели мониторинга группы доступности, SQL Server журнал ошибок, Windows Server консоль управления отказоустойчивого кластера или журнал отказоустойчивого кластера Windows Server.

Возвращается ошибка 19419, так как SQL Server не ответила на службу кластера. Вы также можете получить сообщение об ошибке времени ожидания аренды (19407) вместе с ошибкой 19419.Пример ошибки 19424. Ниже приведено сообщение о превышении времени аренды, которое сообщается непосредственно перед переходом группы доступности на роль PRIMARY:

<время даты> server. Работник аренды группы доступности "ag" теперь спит избыточное время аренды (164766 мс), предоставленное в режиме "в сети". Это только информационное сообщение. Никаких действий от пользователя не требуется. <время даты> сервер. Состояние локального реплика доступности в группе доступности "ag" изменилось с "PRIMARY_PENDING" на "PRIMARY_NORMAL". Состояние реплика изменилось из-за запуска, отработки отказа, проблемы с взаимодействием или ошибки кластера. Дополнительные сведения см. на панели мониторинга группы доступности, SQL Server журнал ошибок, Windows Server консоль управления отказоустойчивого кластера или журнал отказоустойчивого кластера Windows Server.

Улучшены availability_group_lease_expired и hadr_ag_lease_renewal XEvents с добавлением точек данных, которые предоставляют дополнительные сведения о состоянии аренды. В следующей таблице описаны улучшения этих XEvents:

Xevent

Новый столбец

Описание

availability_group_lease_expired

current_time

Время истечения срока аренды

availability_group_lease_expired

new_timeout

Время ожидания, когда возникает availability_group_lease_expired, current_time больше new_timeout

availability_group_lease_expired

Государства

Этапы аренды: см. таблицу Этапы аренды ниже.

hadr_ag_lease_renewal

Государства

hadr_ag_lease_renewal

hadr_ag_lease_renewal

error_code

Если состояние HadrLeaseRenewal_FailedWithWindowsError, error_code — это код ошибки Windows, связанный со сбоем.

Этапы и определения арендыВ следующей таблице перечислены возможные этапы аренды и описаны их функции.

Имя этапа

Описание

HadrLeaseRenewal_LeaseWorkerStarted

Запущен рабочий поток аренды.

HadrLeaseRenewal_StartedExcessLeaseSleep

Начало избыточной аренды. Этапы избыточной аренды документировать начало потока аренды на этапе "в сети" группы доступности.

HadrLeaseRenewal_FailedExcessSleepInvalidOnlineLease

Если срок аренды уже истек, мы не удаляем излишнюю аренду.

HadrLeaseRenewal_SkipExcessSleep

Мы пропускаем избыточную аренду, если длительность, доступная для спящего режима, меньше интервала аренды. Нет необходимости проходить через избыточную аренду, просто начать процесс рукопожатия.

HadrLeaseRenewal_ExcessSleepSucceeded

Превышение аренды выполнено успешно.

HadrLeaseRenewal_RenewSucceeded

Мы должны видеть это с каждым обновлением.

HadrLeaseRenewal_LeaseNotValid

Эквивалент ошибки: 19419 Windows Server отказоустойчивый кластер не получил сигнал события процесса от SQL Server размещения группы доступности "%.*ls" в течение периода ожидания аренды.

HadrLeaseRenewal_StopLeaseRenewal

Это должно отобразиться во время отработки отказа.

HadrLeaseRenewal_LeaseExpired

Эквивалент ошибки: 19421 SQL Server размещенная группа доступности "%.*ls" не получила сигнал события процесса от Windows Server отказоустойчивого кластера в течение периода ожидания аренды.

HadrLeaseRenewal_FailedWithWindowsError

Сбой продления аренды из-за ошибки windows.

Дополнительные сведения см. в разделе Улучшенная диагностика времени ожидания аренды группы доступности AlwaysOn.Дополнительные сведения об истечении времени ожидания аренды см. в разделе How It Works: SQL Server AlwaysOn Lease Timeout.

Статус

Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.