Поделиться через


MSSQLSERVER_4846

Область применения: SQL Server

Сведения

Атрибут Значение
Название продукта SQL Server
ИД события 4846
Источник событий MSSQLSERVER
Компонент SQLEngine
Символическое имя BULKPROV_MEMORY
Текст сообщения Поставщику массовых данных не удалось выделить память.

Описание

Ошибка выделения памяти.

Действие пользователя

Для диагностики ошибок памяти выполните следующие шаги.

  1. Проверьте, не используют ли память данного сервера другие приложения или службы. Измените настройки таким образом, чтобы менее важные приложения или службы использовали меньший объем памяти.

  2. Начните сбор счетчиков системного монитора для SQL Server: диспетчер буферов, SQL Server: диспетчер памяти.

  3. Проверьте следующие параметры конфигурации памяти SQL Server.

    • max server memory

    • min server memory

    • min memory per query

    Обращайте внимание на любые необычные настройки. При необходимости измените их. Учетная запись требований к памяти для SQL Server. Параметры по умолчанию приведены в разделе «Настройка параметров конфигурации сервера» электронной документации по SQL Server.

  4. Обратите внимание на сообщения инструкции DBCC MEMORYSTATUS и способ их изменения при появлении сообщений об ошибках.

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

Следующие действия могут сделать больше памяти доступной для SQL Server:

  • Если какие-либо отличные от SQL Server приложения используют необходимые ресурсы, попытайтесь прекратить выполнение этих приложений или перенесите их выполнение на отдельный сервер. Это снизит внешнюю нагрузку на память.

  • Если установлен параметр max server memory, увеличьте его значение.

Выполните следующие команды DBCC для освобождения нескольких кэшей памяти SQL Server.

  • DBCC FREESYSTEMCACHE

  • DBCC FREESESSIONCACHE

  • DBCC FREEPROCCACHE

Если проблема не исчезла, необходимо продолжить ее исследование и, возможно, снизить рабочую нагрузку.