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

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

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

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

MSSQL Ошибка 8651: Minimum query memory is greater than the available memory

Обновлено: 25.08.2026 · Официальная документация ↗
  • Ошибка выполнения: Msg 8651, Level 17, State 1: Could not perform the requested operation because the minimum query memory is greater than the available memory.
  • Ни один сложный запрос в базе данных не может стартовать.
  • Служба SQL Server находится в состоянии острого дефицита памяти (Low Memory Notification от Windows).
  • Некорректная установка конфигурационного параметра min memory per query (KB).

1. Проверка параметра 'min memory per query' в конфигурации экземпляра

Администраторы часто ошибочно задают слишком высокое значение минимальной памяти на запрос:

EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
GO

-- Проверка текущего значения min memory per query (KB)
EXEC sp_configure 'min memory per query (KB)';

-- Сброс значения к стандартному значению по умолчанию (1024 KB)
EXEC sp_configure 'min memory per query (KB)', 1024;
RECONFIGURE;
GO

2. Проверка ограничений пулов Resource Governor

-- Просмотр настроек пулов памяти
SELECT 
    pool_id,
    name,
    min_memory_percent,
    max_memory_percent,
    used_memory_kb,
    target_memory_kb
FROM sys.dm_resource_governor_resource_pools;

Если пул default ограничен минимальным процентом памяти, скорректируйте его:

ALTER RESOURCE POOL [default] WITH (MAX_MEMORY_PERCENT = 100);
ALTER RESOURCE GOVERNOR RECONFIGURE;

3. Проверка настроек 'max server memory (MB)'

-- Убедитесь, что максимальная память не зажата ниже требований сервера
EXEC sp_configure 'max server memory (MB)';

-- Пример установки адекватного лимита (для хоста с 64GB RAM отдаем 56GB для SQL)
EXEC sp_configure 'max server memory (MB)', 57344;
RECONFIGURE;
GO

4. Анализ расхода памяти через DMV

SELECT 
    type, 
    pages_kb / 1024 AS Memory_MB 
FROM sys.dm_os_memory_clerks 
ORDER BY pages_kb DESC;
💡 Практика специалистов: Никогда не устанавливайте min memory per query выше 1024-4096 KB на серверах, обслуживающих базы 1С:Предприятие с сотнями активных пользователей — это гарантированно приведет к параличу диспетчера памяти.

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

Что означает параметр 'min memory per query'?

Этот параметр задает жесткий нижний порог объема оперативной памяти (в килобайтах), который сервер обязан выделить любому запросу перед началом его выполнения, независимо от реальных потребностей.

Почему возникает ошибка 8651 при запуске параллельных потоков?

Если параметр MAXDOP высокий, минимальная память умножается на количество параллельных потоков (DOP). При min memory per query = 64MB и MAXDOP = 8 запрос потребует минимум 512MB памяти единовременно.

Как быстро восстановить работоспособность сервера при ошибке 8651?

Сбросьте min memory per query в 1024 KB и перезапустите службу SQL Server, если пул буферов заблокирован внешними утечками памяти.

Может ли Lock Pages in Memory (LPIM) предотвратить ошибку 8651?

LPIM предотвращает выгрузку рабочего пула SQL Server в файл подкачки Windows, но если сам лимит max server memory настроен некорректно относительно нагрузки, ошибка 8651 все равно произойдет.

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