Перейти до основного
Підтримка
Вхід
Вхід за допомогою облікового запису Microsoft
Увійдіть або створіть обліковий запис.
Вітаємо,
Виберіть інший обліковий запис.
У вас є кілька облікових записів
Виберіть обліковий запис, за допомогою якого потрібно ввійти.

Після інсталяції цього оновлення потрібно додати позначку трасування – T8075 як параметр запуску, щоб активувати ці зміни.

Ознаки

Під час виконання запиту в 64-розрядній версії Microsoft SQL Server 2012 з'являється повідомлення про помилку з пам'яттю приблизно такого вигляду в журналі помилок SQL Server:

Не вдалося виділити сторінки: FAIL_PAGE_ALLOCATION 513

Запити мають багато часу, щоб завершити виконання та зустрітися SOS_MEMORY_TOPLEVELBLOCKALLOCATOR очікування. Під час перевірки наведених нижче відомостей можна знайти дуже низьку область віртуального адресного простору.

  • ПАРАМЕТР "стан _ пам'яті": "процес" або "система підрахунку" – доступна віртуальна пам'ять

  • DMV: sys.dm_os_process_memory-стовпець virtual_address_space_available_kb

Ці значення починаються приблизно з 8 терабайт (туберкульоз) в процесі x64 і продовжують підніматися і досягати кількох гігабайтів (ГБ).  Коли ви перебуваєте на етапі, коли доступний віртуальний адресний простір дуже малий, запити, які прагнуть виконати розподіл пам'яті, можуть також зіткнутися з типом запиту. Наведені нижче точки даних продовжуватимуть зростати з часом:

  • DMV: sys.dm_os_process_memory та sys.dm_os_memory_nodes-стовпець virtual_address_space_reserved_kb

  • СТАН пам ' яті DBCC – розділ диспетчера пам'яті-VM зарезервовано

Ці значення зазвичай збільшують кількість значень "Max Server Memory" до майже 8 ТБ.

Причина

Коли процес SQL Server досяг стану, у якому загальна пам'ять сервера = цільовий сервер пам'яті = Max Server, є політики в диспетчері пам'яті SQL Server, щоб нові запити асигнування на кілька 8 КБАЙТ, щоб тимчасово досягти успіху. Повторне використання шаблону розподілу за такою умовою може призвести до фрагментації блоків пам'яті та споживання віртуального адресного простору. Якщо цей процес повторюється багато разів, віртуальний адресний простір SQL Server буде вичерпано, і ви помітите, що ознаки, згаданим раніше.

Спосіб вирішення

Відомості про Сукупне оновлення

Ця проблема була спочатку зафіксоване в цьому сукупному оновленні сервера SQL Server.

 

Кожне нове Сукупне оновлення для SQL Server містить усі поточні виправлення та всі виправлення системи безпеки, які були включені до попереднього сукупного оновлення. Радимо завантажити та інсталювати найновіші накопичувальне оновлення для сервера SQL Server:

Це виправлення запобігає тому, що бракує пам'яті та безперервне зменшення доступного простору віртуального адреси може виникнути.

Стан

Корпорація Майкрософт підтвердила, що це проблема в продуктах Microsoft, перелічених у розділі "застосовується до".

Додаткові відомості

  • Операційна система Windows 2012 R2 дає змогу збільшити розмір віртуального адресного простору, як-от 128 ТБ. Таким чином, ви можете не помітити цю проблему в середовищах Windows 2012 R2. Щоб отримати докладніші відомості, ознайомтеся з наведена нижче темою в центрі Windows dev:обмеження пам'яті для Windows і Windows Server релізи

  • Якщо ви бачите безперервне зростання в віртуальному просторі адрес навіть після того, як ви застосовуєте виправлення, ви можете визначити, які запити або операції запитують великі фрагменти пам'яті за допомогою Page_allocated розширеної події. Зразок сценарію має такий вигляд:

    CREATE EVENT SESSION [memory_tracking] ON SERVERADD EVENT sqlos.page_allocated(    ACTION(package0.callstack,sqlos.cpu_id,sqlos.task_address,sqlos.worker_address,sqlserver.database_id,sqlserver.query_hash,sqlserver.request_id,sqlserver.session_id,sqlserver.sql_text)    WHERE ([number_pages]>(1)))ADD TARGET package0.event_file(SET filename=N'E:\Data\MSSQL11.MSSQLSERVER\MSSQL\Log\memory_tracking.xel')WITH (MAX_MEMORY=4096 KB,EVENT_RETENTION_MODE=ALLOW_SINGLE_EVENT_LOSS,MAX_DISPATCH_LATENCY=30 SECONDS,MAX_EVENT_SIZE=0 KB,MEMORY_PARTITION_MODE=PER_CPU,TRACK_CAUSALITY=OFF,STARTUP_STATE=OFF)GO

    Зазвичай ці операції з резервними копіями журналів та індексами, які часто трапляються.

Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.

Спільноти допомагають ставити запитання й відповідати на них, надавати відгуки та дізнаватися думки висококваліфікованих експертів.

Чи ця інформація була корисною?

Наскільки ви задоволені якістю мови?
Що вплинуло на ваші враження?
Натиснувши кнопку "Надіслати", ви надасте свій відгук для покращення продуктів і служб Microsoft. Ваш ІТ-адміністратор зможе збирати ці дані. Декларація про конфіденційність.

Дякуємо за відгук!

×