Здравствуйте!
Помогите пожалуйста решить проблему. ОС Win Server 2008 R2 Datacenter SP1, 128 Гб ОЗУ. Крутятся базы 1С на SQL Server 2008 10.0.1600.22. Пользователи ходят по rdp. По расписанию после рабочего дня выполняется регламент «Обновление статистики». Сейчас выполнение этой задачи заканчивается с ошибкой:
Не удалось получить данные по этому запросу. (Microsoft.SqlServer.Management.Sdk.Sfc)
——————————
ДОПОЛНИТЕЛЬНЫЕ СВЕДЕНИЯ:
При выполнении инструкции или пакета Transact-SQL возникло исключение. (Microsoft.SqlServer.ConnectionInfo)
——————————
Недостаточно свободной памяти в буферном пуле. (Microsoft SQL Server, ошибка: 802)
——————————
DTExec.exe
Data Transformation Services Execution Utility
При запуске этой задачи вручную:
При выполнении инструкции или пакета Transact-SQL возникло исключение.
——————————
ДОПОЛНИТЕЛЬНЫЕ СВЕДЕНИЯ:
Для выполнения этого запроса недостаточно системной памяти в пуле ресурсов «default». (Microsoft SQL Server, ошибка: 701)
Номер ошибки: 701
Серьезность: 17
Состояние: 1
Процедура: sp_get_composite_job_info
Номер строки: 131
Во время начала задачи проц занят на 10%, ОЗУ где-то на 30-40%. После ошибки в SQL не могу попасть до перезапуска процесса, соответственно информация не сохраняется. В этот момент проц загружен на 40-45%, ОЗУ — около 50-60% (по диспетчеру задач). Устанавливал и настраивал SQL не я. Работало несколько лет без проблем. Помогите разобраться. Чего не хватает?
- Remove From My Forums
Ошибка при выполнении плана обслуживания создания резервной копии БД.
-
Вопрос
-
Ошибка при выполнении плана обслуживания создания резервной копии DB.
Microsoft SQL Server 2016 (SP2-CU12) (KB4536648) — 13.0.5698.0 (X64) Microsoft Corporation Standard Edition (64-bit) on Windows Server 2016 Standard 10.0 <X64> (Build 14393: ) память:
65373 МБ, физические процессоры: 12При выполнении плана обслуживания по расписанию Агентом SQL Server периодически возникает ошибка на команде DBCC CHECKDB.
«Ошибка:(-1073548784) Сбой выполнения запроса «DBCC CHECKDB(N’DoctorEleks’) WITH PHYSICAL_ONLY…» со следующей ошибкой: «Недостаточно свободной памяти в буферном пуле.
Проверка отменена. В процессе сбора фактов была обнаружена ошибка. Возможно, база данных tempdb достигла предела памяти, или системная таблица не согласована. Проверьте предыдущие ошибки.
Результаты DBCC для «DoctorEleks».
CHECKDB обнаружил 0 ошибок размещения и 0 ошибок согласованности в базе данных «DoctorEleks».». Возможные причины сбоя: проблемы с этим запросом, свойство «ResultSet» установлено неправильно, параметры
установлены неправильно или соединение было установлено неправильно.»Failed to allocate BUFs: FAIL_BUFFER_ALLOCATION 6
Process/System Counts Value
—————————————- ———-
Available Physical Memory 7005704192
Available Virtual Memory 140661293142016
Available Paging File 83132284928
Working Set 58335838208
Percent of Committed Memory in WS 99
Page Faults 60970537
System physical memory high 1
System physical memory low 0
Process physical memory low 0
Process virtual memory low 0После перезапуска экземпляра БД процесс проходит без ошибок.
Ответы
-
Привет,
Посмотрите статью внизу:
DBCC CHECKDB error
Скорее всего как и указано в ошибке, у Вас было мало памяти на tempdb
Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется «как есть» без каких-либо гарантий. Не забывайте помечать сообщения как ответы и полезные,
если они Вам помогли.-
Предложено в качестве ответа
27 апреля 2020 г. 8:38
-
Помечено в качестве ответа
Иван ПродановMicrosoft contingent staff, Moderator
28 апреля 2020 г. 20:54
-
Предложено в качестве ответа
- Remove From My Forums
-
Question
-
SQL 2016 SP1 Standard.
a. Ram available to SQL: 117GB
b. BPE was limited to 536GB (900gb is available)
/* Attempted to initialize buffer pool extension of size 981467136 KB, but maximum allowed size is 536345016 KB. */
c. The code in question is a series of temp tables (10-100gb each) which did not have issues. When joining the temp tables together to produce the final physical table it stopped with this error and did not populate the table. (select into with multiple
left joins). The final table is about 100GBERROR:
Msg 802, Level 17, State 0, Line 1673
There is insufficient memory available in the buffer pool.Submitted as bug in the meantime:
https://connect.microsoft.com/SQLServer/Feedback/Details/3138664
-
Edited by
Wednesday, August 2, 2017 4:31 PM
-
Edited by
Answers
-
Disabled it for now and submitted a bug ticket. A few simple requests went from 15minutes to 5+ hours even if you turn down cost threshold for parallelism to 15 or lower (no queries had a cost < 15 either)
https://connect.microsoft.com/SQLServer/feedback/details/3138664
-
Marked as answer by
xxjergerxx
Thursday, August 3, 2017 10:59 PM
-
Marked as answer by
We have bunch of SQL Server 2012 Standard and SQL Server 2014 Standard database instances running on Windows 2012, each have different storage and memory. We are getting
Error Code: 802; There is insufficient memory available in the buffer pool
from 3 database servers when we build large SQL Server indexes, and it’s happening intermittently, once in 3 or 4 months. The same indexes run fine on servers with same version of SQL Server and only 1/3 of memory and CPU.
SQL Server 2012 Standard
Server1: memory — 110GB allocated out of 128 GB version 11.0.6 — «Error Code: 802; There is insufficient memory available in the buffer pool.» reported when we run heavy index.
Server2: memory -78GB allocated to SQL out of 96GB version 11.0.6 — «Error Code: 802; There is insufficient memory available in the buffer pool.» reported when we run heavy index.
Server: memory allocated 18GB out of 24GB. VM. No indexing error — 11.0.5
Server : memory 24GB out of 32GB. Physical. No indexing error — 11.0.5
SQL Server 2014 Standard
Server 1 : memory 56GB out of 64GB physical memory version 12.0.5 — «Error Code: 802; There is insufficient memory available in the buffer pool.» reported when we run heavy index.
Server 2: memory 18GB out 24GB- VM – no indexing error — version 12.0.5.