Шаблон: Исправление универсальный

Номер ошибки: 123295 (Content Maintenance)ошибка #: 390803 (SQLBUVSTS)

Корпорация Майкрософт распространяет исправления Microsoft SQL Server 2008 как один загружаемый файл. Так как исправления являются накопительными, каждый выпуск содержит все исправления и все исправления безопасности, которые были включены в предыдущие 2008 SQL Server исправления выпуска.

Симптомы

У вас есть Microsoft SQL Server 2008 пакета служб Integration Services (служб SSIS 2008). Пакет содержит задачу потока данных. При запуске пакета на сервере, который находится под условия нехватки памяти, происходит нарушение прав доступа, а затем сбоя процесса среда выполнения служб SSIS 2008. Кроме того получать предупреждения о нехватке памяти, в журнале приложений служб SSIS 2008 отображать следующее:

Имя события: OnInformation

Описание: Диспетчер буферов сбой выделения памяти при вызове 10484760 байт, но не удалось выгрузить все буферы для освобождения памяти. 305 буферов, заблокировано и 295 были заблокированы. Либо не хватает памяти недоступны в конвейере, поскольку недостаточно установлены, использовались другие процессы или заблокирован слишком много буферов.



Имя события: OnInformation


Описание: Диспетчер буферов выделенной 10485608 байт, даже если обнаружена нехватка памяти и повторные попытки замены буферов не были выполнены.



Примечание. Различные процессы среды выполнения, запускать пакеты служб SSIS 2008, DTExec.exe, DTSHost.exe или DTSDebugHost.exe. Процесс, который запускает пакет служб SSIS 2008 определяются условия, при которых выполняется пакет. Процесс DTExec.exe запускается родительского пакета. DTSHost.exe процесс запускается дочерних пакетов. DtsDebugHost.exe процесс запускает пакеты, отладка, центр разработки бизнес-аналитики.

Причина

2008 служб SSIS уведомляется, что на сервере настроен в случае нехватки памяти. Условия нехватки памяти происходит, когда доступны только 128 мегабайт (МБ до 256 МБ памяти). После этого процесса среда выполнения служб SSIS 2008 начинает замены буферов конвейера потока данных во временную папку, указанного в свойстве BufferTempStoragePath .


В ситуации, описанной в разделе «Проблема» данные в буфер копируется внутренне буфер назначения путем преобразования. Например данные в буфер копируются путем преобразования соединения слиянием. Этой операции возникает, когда сервер находится в случае нехватки памяти. Тем не менее преобразование не распознает, что поток за пределами преобразование внезапно подкачан буфера назначения. Таким образом операция копирования завершается неудачей и затем вызывает нарушение прав доступа.

Решение

Это исправление явным образом блокирует буфер назначения во время операции копирования. Такое поведение предотвращает другие потоки выгрузки буфер назначения при выполнении операции копирования.
Исправление этой уязвимости первого выпуска накопительного обновления 6 для SQL Server 2008 Пакет обновления 1. Дополнительные сведения о этот накопительный пакет обновления щелкните следующий номер статьи базы знаний Майкрософт:

977443 накопительного обновления пакет обновления 6 для SQL Server 2008 Пакет обновления 1Примечание. Поскольку построения являются накопительными, каждый новый выпуск исправление содержит все исправления и все исправления, входившие в состав предыдущих SQL Server 2008 выпуска исправлений. Мы рекомендуем рассмотреть применение последнего выпуска исправления, содержащего это исправление. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:

970365 SQL Server 2008 выполняет построение, выпущенных после выпуска SQL Server 2008 Пакет обновления 1
Исправления Microsoft SQL Server 2008 создаются для определенных пакетов обновления SQL Server. Необходимо установить исправление SQL Server 2008 Пакет обновления 1 для установки SQL Server 2008 Пакет обновления 1. По умолчанию какие-либо исправления, включенный в пакет обновления SQL Server включено в следующий пакет обновления SQL Server.

Временное решение

Для временного решения этой проблемы, устраните проблему нехватки памяти. Объем памяти, который может вызвать эту проблему различается для разных компьютеров. Обычно эта сумма составляет от 32 Мбайт до 64 МБ. Таким образом рекомендуется настроить сервер для распределения служб SSIS 2008 более 64 МБ памяти.

Используется по умолчанию объем доступной памяти, который сигнализирует событие уведомления ресурсов нехватки памяти. Эта память лежит в диапазоне от 32 Мбайт до 64 МБ для каждого 4 гигабайта (ГБ). Эта проблема будет сложно предотвратить, поскольку объем доступной памяти используется на серверах производства занят. Кроме того снижение памяти по другим причинам. Дополнительные сведения об уведомлениях ресурсов памяти посетите следующий веб-узел Microsoft Developer Network (MSDN):

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

Способ 1

Увеличить объем оперативной памяти компьютера.

Способ 2

Запустите пакет служб SSIS 2008 на компьютере, на котором не выполняется экземпляр SQL Server.

Способ 3

При выполнении пакета служб SSIS 2008 присвоено меньшее значение параметра Максимальный размер памяти сервера для экземпляра SQL Server 2008. Это увеличивает объем доступной памяти.

Способ 4

Закройте приложения, которые используют большой объем памяти при запуске пакета служб SSIS 2008, содержащий задачи потока данных.


Метод 5

Запуск пакета служб SSIS 2008 и задачи потока данных в последовательности, а не параллельно, чтобы уменьшить использование памяти.


Метод 6

Используйте метод, описанный в подразделе «Как отслеживать потребление памяти для служб SSIS» в разделе «Дополнительные сведения» для устранения условий нехватки памяти. Затем оптимизации использования памяти в 2008 служб SSIS.

Статус

Корпорация Майкрософт подтверждает, что это проблема продуктов Майкрософт, перечисленных в разделе "Относится к".

Дополнительные сведения

Как отслеживать потребление памяти для служб SSIS

Мониторинг памяти для измерения использования различных процессов во время выполнения служб SQL Server Integration Services вычислить максимальный объем памяти (пик)


Отслеживать использование памяти (пик) различных процессов во время выполнения служб SQL Server Integration Services (SSIS), используя
Байт исключительного пользования
счетчик из
Процесс
объект системного монитора. Примеры процессов во время выполнения служб SSIS включают DTExec.exe процессом и процессом DTSHost.exe.


Максимальное значение для поиска при выполнении пакетов служб SSIS
Байт исключительного пользования
счетчик. При выполнении нескольких пакетов параллельно сложить максимальные значения всех процессов, выполняемых для получения максимального значения использования памяти.

Наблюдение за внешними процессами для поиска пиков и впадин


Пиковое использование памяти процессов за пределами службы SQL Server и службы SSIS отслеживать с помощью
Байт исключительного пользования
счетчик из
Процесс
объект системного монитора. Ищите пик использования, может снизиться объем доступной памяти для служб SSIS. Например пик, при нескольких пользователей с помощью протокола удаленного рабочего стола (RDP) для подключения к серверу или при запуске программы резервного копирования.

Наблюдение за использованием памяти SQL Server для поиска пиков и впадин


Если сообщение «Использование заблокированных страниц для буферного пула» не самый последний файл журнала ошибок
Байт исключительного пользования
счетчик для процесс Sqlservr.exe можно указать, сколько памяти используется службами SQL Server.



Если сообщение «Использование заблокированных страниц для буферного пула» включены в самый последний файл журнала ошибок, используйте
Общая память сервера (КБ)
счетчик из
SQL Server: Диспетчер памяти
Объект производительности, чтобы измерить объем памяти буферного пула SQL Server. Кроме того, использование
Байт исключительного пользования
счетчик для процесс Sqlservr.exe найти выделения памяти за пределами буферного пула (MemToLeave). Сумма значение счетчика Общая память сервера (КБ) , а значение MemToLeave является правильной оценки общий объем памяти, используемый SQL Server.



Монитор производительности и диспетчер задач не имеют память, используемая эти страницы буферного пула, если выполняется одно из следующих условий:

  • В
    Блокировка страниц в памяти право пользователя назначается стартовой учетной записи службы SQL Server.

  • В
    РАСШИРЕНИЯ AWE
    памяти включен.

Примечание
При выполнении одного из следующих условий,
Байт исключительного пользования
счетчик для процесс Sqlservr.exe должны указывать, сколько памяти используется службами SQL Server для различных экземпляров SQL Server.

Наблюдение за минимальное значение доступной памяти в Windows


Чтобы отслеживать, сколько памяти доступно в Windows, воспользуйтесь одним из следующих методов:

  • Использование
    Доступно МБ
    счетчика системного монитора, чтобы указать, сколько памяти доступно.

  • Просмотр
    Свободная физическая память (МБ):
    значение на вкладке быстродействие диспетчера задач.


    Примечание
    В некоторых операционных системах Физической памяти (МБ) – бесплатный
    значение будет помечено как значение Физической памяти (Кбайт) – доступно .

Сведения о стеке вызова

Ниже приводится сведения стека вызовов для нарушения прав доступа.(61c.2dc): Access violation - code c0000005 (second chance)eax=00000000 ebx=00000004 ecx=000000ad edx=00000001 esi=27c00000 edi=00000001
eip=7814504c esp=07e2fd8c ebp=07e2fd94 iopl=0 nv up ei pl nz na po nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010202
MSVCR80!memcpy+0x9c:
7814504c 8807 mov byte ptr [edi],al ds:0023:00000001=??

The MemCopy is attempting to copy from a source into the destination address 00000001, 00000001 is within the NULL block so an access violation exception is raised.

0:104> kL
ChildEBP RetAddr
07e2fd94 2356d46e MSVCR80!memcpy+0x9c
07e2fdd8 2356d7fd DTSPipeline!CInMemBuffer::InstantiateVirtualBuffer+0x2a7
07e2fe08 2356c32c DTSPipeline!CInMemBuffer::CloneInternal+0x43
07e2fe40 2834bf46 DTSPipeline!CInMemBuffer::Clone+0x4f
07e2fe90 2834d3ad TxSort!DllUnregisterServer+0x7d27
07e2fecc 2357f566 TxSort!DllUnregisterServer+0x918e
07e2ff2c 2357f1c4 DTSPipeline!CPathExecutionItem::DoWorkPI+0x1e4
07e2ff48 235817d8 DTSPipeline!CPathExecutionItem::DoWork+0x3d
07e2ff68 23581892 DTSPipeline!CSchedulerThread::ProcessWork+0x55
07e2ff78 781329bb DTSPipeline!CSchedulerThread::ProcessWorkThreadProc+0x1f
07e2ffb0 78132a47 MSVCR80!endthreadex+0x3b
07e2ffec 00000000 MSVCR80!endthreadex+0xc7

Ссылки

Сведения о добавочных модель обслуживания для SQL Server щелкните следующий номер статьи базы знаний Майкрософт:

935897 добавочных модель обслуживания доступна из группы SQL Server для предоставления исправления для проблем, о которых сообщалось в



Дополнительные сведения о схеме именования для обновления SQL Server щелкните следующий номер статьи базы знаний Майкрософт:

822499 Новая схема присвоения имен пакетам обновлений программного обеспечения Microsoft SQL Server

Для получения дополнительных сведений о терминологии обновлений программного обеспечения щелкните следующий номер статьи базы знаний Майкрософт:

Описание 824684 Стандартные термины, используемые при описании обновлений программных продуктов Майкрософт

Автор: bruceye
Разработчик документации: v-xinbi
Технический редактор: jasonh; bruceye
Редактор: v-chliao

Нужна дополнительная помощь?

Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединение к программе предварительной оценки Майкрософт

Были ли сведения полезными?

Насколько вы удовлетворены качеством перевода?

Что повлияло на вашу оценку?

Добавите что-нибудь? Это необязательно

Спасибо за ваш отзыв!

×