Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

MSSQL_49905 1С:Предприятие и СУБД

MSSQL Error 49905: The query plan is not valid and cannot be executed

Обновлено: 25.08.2026 · Официальная документация ↗
  • Ошибка выполнения запросов: Msg 49905, Level 16, State 1: The query plan is not valid and cannot be executed.
  • Периодические сбои при выполнении параметризованных запросов и тяжелых отчетов 1С.
  • Проблема исчезает после перезапуска экземпляра SQL Server, но возвращается под нагрузкой.

1. Сброс сбойного плана выполнения из кэша

Найдите plan_handle сбойного запроса и удалите его точечно из кэша:

SELECT cp.plan_handle, st.text
FROM sys.dm_exec_cached_plans AS cp
CROSS APPLY sys.dm_exec_sql_text(cp.plan_handle) AS st
WHERE st.text LIKE '%ИмяПроблемнойТаблицы%'

-- Очистка конкретного плана
DBCC FREEPROCCACHE (0x060001004654763110E7072E020000000000000000000000);

2. Полная перекомпиляция объектов схемы

Если ошибка возникает в хранимой процедуре или таблице:

EXEC sp_recompile 'dbo.ИмяТаблицыИлиПроцедуры';

3. Обновление статистики с полным сканированием

Некорректная или устаревшая статистика распределения данных приводит к генерации невалидных планов:

UPDATE STATISTICS dbo.ИмяТаблицы WITH FULLSCAN, NORECOMPUTE = OFF;

4. Проверка целостности базы данных

DBCC CHECKDB ('ИмяБазы') WITH NO_INFOMSGS, ALL_ERRORMSGS;
💡 Практика специалистов: Часто ошибка 49905 вызвана багом в ранних CU для SQL Server 2017/2019/2022. Убедитесь, что на сервере установлен самый свежий накопительный пакет обновлений (Cumulative Update).

Частые вопросы (FAQ)

Почему план запроса становится невалидным (Error 49905)?

Это происходит при изменении схемы таблицы во время выполнения транзакции, гонках компиляции при высоких параллельных нагрузках, либо повреждении страниц кэша планов в RAM.

Помогает ли DBCC FREEPROCCACHE для устранения ошибки по всему серверу?

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

Как предотвратить ошибку 49905 в базах 1С:Предприятие?

Включите параметр базы данных PARAMETER_SNIFFING = ON и настройте регламентное ночное обновление статистики с FULLSCAN.

Нужно ли перезапускать службу MSSQL при ошибке 49905?

Перезапуск не обязателен, достаточно выполнить точечный сброс плана через DBCC FREEPROCCACHE или вызвать sp_recompile для целевого объекта.

Полезные материалы
Рекомендуем