Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 MSSQL 17. AlwaysOn. Secondary Replica. Could not locate statistics  [new]
X-Cite
Member

Откуда: Минск
Сообщений: 1838
Добрый день.
Microsoft SQL Server 2017 (RTM-CU13-OD) (KB4483666) - 14.0.3049.1 (X64)

Иногда при обращении к вторичным нодам (синхронные) вылетает Could not locate statistics '_WA_Sys_xxx_xxx' in the system catalogs. Когда строишь удаленные запросы через linked server к ним.

На 2014 версии помогал сброс кеша на вторичной реплике. На 2017 сброс помогает 50/50...

Что обнаружили.
В таблице sys.stats статистика есть. А sys.dm_db_stats_properties() по этой статистике возвращает указанную ошибку. Удаленный сервер перед выполнением/построением запроса неявно вызывает эту функцию.
Также заметили, что таблица, по которой статистика до конца не долетела, находится в перманентном IX ожидании (при чем скорее всего кажется что перманентное, возможно часто накладывается и снимается). А процесс который держит IX является DB STARTUP.
Фишка в том, что на Primary ноде, никаких блокировок IX/X на ней нет. (Точнее есть, но они все короткие (OLTP система) от пользовательских сессий).
Еще из нюансов, то, что на вторичных репликах есть несколько системных сессий PARALLEL REDO TASK и PARALLEL REDO HELP TASK
с ожиданиями PARALLEL_REDO_TRAN_TURN/PARALLEL_REDO_DRAIN_WORKER/PARALLEL_REDO_WORKER_WAIT_WORK
Сам счетчик Redo в дашборде alwayson меньше 100 но почти всегда больше 0.

Через некоторое время что-то прорывает и гистограммы доходят.

Если удалить эту статистику на primary ноде, то ее удаление также долетает не сразу (возможно из-за IX), хотя другие транзакции долетают сразу, т.к. отставание alwayson нет.

Как это вылечить?
17 апр 19, 10:31    [21864545]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL 17. AlwaysOn. Secondary Replica. Could not locate statistics  [new]
ZaloJNik
Member

Откуда:
Сообщений: 50
Получилось вылечить?
У меня тоже такая шляпа иногда случается.
Вот это нарыл в гулге https://feedback.azure.com/forums/908035-sql-server/suggestions/32908315-sql2012-could-not-locate-statistics-on-secondary-r
Хочу найти постоянную таблэтку.
3 июл 19, 09:52    [21919610]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL 17. AlwaysOn. Secondary Replica. Could not locate statistics  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 56743
ZaloJNik,

получается повторить
регулярно
6 авг 19, 10:44    [21942678]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: MSSQL 17. AlwaysOn. Secondary Replica. Could not locate statistics  [new]
Danion
Member

Откуда: Москва
Сообщений: 252
Какого-то решение не нашли?
Заметил, что у проблемных статистик на вторичной ноде не меняется пункт про последнее обновление статистики этих колонок (у меня там вообще написано про никогда), хотя и на первичной и на других статистиках вторичной ноды показывает актуальную информацию. Запустил обновление статистик по всей таблице, но на вторичной так и осталось, что никогда не обновлялось.
18 авг 20, 12:15    [22184019]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL 17. AlwaysOn. Secondary Replica. Could not locate statistics  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8821
Danion,

CU21 уже вышел, установили? Могли быть исправления.
18 авг 20, 12:59    [22184048]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL 17. AlwaysOn. Secondary Replica. Could not locate statistics  [new]
Александр Гладченко
Member

Откуда:
Сообщений: 10802
Блог
Похоже это известный баг. Лечится простым удалением этой автостатистики в базе первичного сервера.
18 авг 20, 18:32    [22184172]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL 17. AlwaysOn. Secondary Replica. Could not locate statistics  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 56743
Александр Гладченко
Похоже это известный баг. Лечится простым удалением этой автостатистики в базе первичного сервера.
и так каждый раз
18 авг 20, 18:35    [22184174]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL 17. AlwaysOn. Secondary Replica. Could not locate statistics  [new]
Danion
Member

Откуда: Москва
Сообщений: 252
Владислав Колосов,

Вот сейчас установил, но вроде там похожей ошибки не видел. Была 2017 CU19.

Этот сбой вообще похоже с 12 года тянется из версии в версию.
Удалять статистику не хотелось, мне помогла смена основной ноды во время снижения нагрузки. Бывшая вторичная нода став основной поняла, что это за статистики и когда обновлялись, а на ставшей вторичной бывшей основной и так всё нормально было.

Но способность ошибки возвращаться и какое-то игнорирование Микрософтом огорчает.

Сообщение было отредактировано: 18 авг 20, 22:23
18 авг 20, 22:25    [22184215]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL 17. AlwaysOn. Secondary Replica. Could not locate statistics  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8821
Danion,

если это статистика _WA_, то можете удалять без вопросов, при условии, что параметр автоматического создания статистики в базе включен.
19 авг 20, 13:15    [22184413]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL 17. AlwaysOn. Secondary Replica. Could not locate statistics  [new]
Александр Гладченко
Member

Откуда:
Сообщений: 10802
Блог
Такое только в запросах с линками, если переписать на опенквери, ошибок не будет...
20 авг 20, 11:34    [22184864]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить