Ознаки
Це оновлення містить такі вдосконалення для Microsoft SQL Server AlwaysOn оренди час очікування підтримки:
-
Повідомлення "Час очікування оренди" тепер відображає та реєструє поточний час і очікуваний час поновлення.
-
Додано нове повідомлення про помилку для працівників з оренди, яке чітко вказує причину тайм-ауту оренди.
-
Додано нову розширену подію та новий кільцевий буфер для працівників оренди. Вони чітко вказують на етапи оренди.
Спосіб вирішення
Спочатку цю проблему вирішено в наведених нижче пакетах оновлень для SQL Server.
Докладні відомості про SQL Server 2012 із пакетом оновлень 3 (SP3) див. в статті Помилки, виправлені в пакеті оновлень 3 SQL Server 2012.
Пакет оновлень 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" перебуває в автономному режимі, оскільки не вдалося оновити оренду або термін її дії завершився. Це лише інформаційне повідомлення. Дії користувача не потрібні. <> server дата.Стан локальної репліки доступності у групі доступності "ag" змінився з "PRIMARY_NORMAL" на "RESOLVING_NORMAL". Стан репліки змінено через запуск, відновлення після відмови, проблему зв'язку або помилку кластера. Щоб отримати додаткові відомості, див. приладну дошку групи доступності, журнал помилок SQL Server, Windows Server консоль керування резервним кластером або журнал резервного кластера Windows Server.
Помилка 19419 повертається, оскільки SQL Server не відповідає на службу кластера. Також може з'явитися повідомлення про помилку часу очікування оренди (19407) разом із помилкою 19419.Приклад помилки 19424: Нижче наведено повідомлення про перевищення часу оренди, яке повідомляється безпосередньо перед переходом групи доступності на роль PRIMARY:
<date Time> Server Працівник оренди групи доступності "ag" зараз спить надлишковий час оренди (164766 мс), наданий під час роботи в Інтернеті. Це лише інформаційне повідомлення. Дії користувача не потрібні. <> server дата.Стан локальної репліки доступності у групі доступності "ag" змінився з "PRIMARY_PENDING" на "PRIMARY_NORMAL". Стан репліки змінено через запуск, відновлення після відмови, проблему зв'язку або помилку кластера. Щоб отримати додаткові відомості, див. приладну дошку групи доступності, журнал помилок SQL Server, Windows Server консоль керування резервним кластером або журнал резервного кластера Windows Server.
Покращено availability_group_lease_expired та hadr_ag_lease_renewal XEvents з додаванням точок даних, які надають додаткові відомості про стан оренди. У таблиці нижче описано вдосконалення цих XEvents:
|
XEvent (Значення 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, перелічених у розділі "Стосується".