Отнася се за
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)

Симптоми

Тази актуализация включва следните подобрения за Поддръжка на времето на изчакване на Microsoft SQL Server AlwaysOn lease:

  • Съобщението Време на изчакване за лизинг сега се показва и регистрира текущото време и очакваното време за подновяване.

  • Добавено е ново съобщение за грешка за лизингови работници, което ясно посочва причината за времето на изчакване за лизинг.

  • Добавено е ново разширено събитие и нов буфер за лизингови работници. Те ясно посочват етапите на лизинга.

Решение

Първо проблемът беше коригиран в следващите сервизни пакети за SQL Server.

За повече информация относно SQL Server 2012 Service Pack 3 (SP3) вижте грешки, които са коригирани в SQL Server 2012 Service Pack 3.

Service Pack 2 за SQL Server за SQL Server 2014За сервизните пакети за пакетите на SQL Server Service са кумулативни. Всеки нов сервизен пакет съдържа всички корекции, които са в предишни сервизни пакети, заедно с всички нови корекции. Нашата препоръка е да приложите най-новия сервизен пакет и най-новата кумулативна актуализация за този сервизен пакет. Не е необходимо да инсталирате предишен сервизен пакет, преди да инсталирате най-новия сервизен пакет. Използвайте таблица 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 ms), предоставено онлайн. Това е само информационно съобщение. Не се изисква действие от потребителя.

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

Пример за грешка 19419: Ако използвате дебъгер за прикачване към SQL Server, това прекъсва обслужването на нишките в процеса на SQL Server, докато не възобновите процеса на SQL Server. Когато възобновите SQL Server, следното се съобщава в регистрационния файл на SQL Server грешки:

<дата час> сървър грешка: 19419, тежест: 16, състояние: 1. <date Time> Server Windows Server failover Cluster не получи сигнал за събитие на процес от SQL Server група за достъпност на хостинг "ag" в рамките на периода на изчакване за лизинг. <дата час> сървър грешка: 19407, тежест: 16, състояние: 1. <дата и час> Server Лизингът между група за достъпност "ag" и Windows Server клъстер за преместване при отказ е изтекъл. Възникна проблем със свързването между екземпляра на SQL Server и клъстера за преместване при отказ на Windows Server. За да определите дали групата за достъпност е неуспешна правилно, проверете съответния ресурс на група за наличност в Windows Server клъстер за преместване при отказ. <Date Time> Server AlwaysOn: Локалната реплика на групата за достъпност "ag" преминава офлайн, защото лизингът е изтекъл или подновяването на лизинга е неуспешно. Това е само информационно съобщение. Не се изисква действие от потребителя. <Date Time> Server Състоянието на локалната реплика за достъпност в групата за достъпност ag е променено от "PRIMARY_NORMAL" на "RESOLVING_NORMAL". Състоянието на репликата е променено поради стартиране, преместване при отказ, комуникационен проблем или грешка в клъстера. За повече информация вж. таблото на групата за достъпност, регистрационния файл за грешки SQL Server, Windows Server конзолата за управление на клъстер за преместване при отказ или регистрационния файл на клъстера за преместване при отказ Windows Server.

Грешката 19419 се връща, защото SQL Server не е отговорил на клъстерната услуга. Може също да получите съобщение за грешка за изтичане на времето на изчакване за лизинг (19407) заедно с грешката 19419.Пример за грешка 19424: По-долу е съобщението за излишно време за лизинг, което се съобщава точно преди групата за достъпност преход към основна роля:

<Дата и час> Server Работникът по лизинга на групата за достъпност "ag" сега свива излишното време за лизинг (164766 мсек),предоставено онлайн. Това е само информационно съобщение. Не се изисква действие от потребителя. <Date Time> Server Състоянието на локалната реплика за достъпност в групата за достъпност 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.За повече информация за времето на изчакване за лизинг вижте Как работи: SQL Server Време на изчакване alwaysOn на лизинг.

Статут

Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са изброени в раздела "Отнася се за".

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.