SSIS 2008 runtime процес се срива, когато изпълнявате пакета SSIS 2008 под ниско памет състояние

Прилага се за: SQL Server 2008 DeveloperSQL Server 2008 EnterpriseSQL Server 2008 Standard

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

Симптоми


Имате пакет на Microsoft SQL Server 2008 интеграция услуги (SSIS 2008). Пакетът съдържа данни задача. Когато стартирате пакета на сървър, който е под ниско памет състояние, възниква нарушаване на достъпа, и след SSIS 2008 runtime процес сривове. Освен това получавате предупреждения за недостиг на памет, които приличат на следното в регистрационния файл SSIS 2008:
Име на събитието: OnInformation

Описание: Диспечерът на буфера не покана за разпределение на памет за 10484760 байта, но не може да се сменят всички буфери да облекчи натоварване на паметта. 305 буфери разгледани и 295 са заключени. Или няма достатъчно памет е достъпна за канал, защото не е достатъчно са инсталирани, го използват други процеси или твърде много буфери са заключени.



Име на събитието: OnInformation


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


Забележка: Различните runtime процеси, които се изпълняват SSIS 2008 пакети са DTExec.exe, DTSHost.exe или DTSDebugHost.exe. Процес, който изпълнява SSIS 2008 пакет се определя от условията, които Пакетът е под. Процесът на DTExec.exe изпълнява родителския пакети. Процесът на DTSHost.exe изпълнява дете пакети. Процесът на DtsDebugHost.exe изпълнява пакети, които са отстранени грешки от бизнес разузнаване дизайн студио.

Причина


SSIS 2008 се съобщава, че сървърът е под ниско памет състояние. Ниска памет състояние възниква, когато има само 128 мегабайта (МБ) за 256 MB памет. След това SSIS 2008 по време на изпълнение процесът започва да сменяте канал буфери за данни във временната папка, зададен от свойството BufferTempStoragePath .


В случай, описан в раздела "Симптоми" данните в буфер се копира вътрешно целеви буфер от трансформацията. Например данните в буфер се копира от обединяване присъединяване трансформация. Тази операция възниква, когато сървърът е под ниско памет състояние. Обаче трансформацията не разпознава, че нишка извън трансформацията изведнъж разменят целевия буфер. Затова копирането е неуспешно и след това предизвиква нарушаване на достъпа.

Решение


Тази актуална корекция блокира целевия буфер изрично по време на операцията за копиране. Това пречи на смяна целевия буфер при изпълнение на операцията за копиране на други теми.
Решение за този проблем излезе първо в сборна актуализация 6 за SQL Server 2008 Service Pack 1. За повече информация относно този пакет със сборни актуализации щракнете върху следния номер на статия в базата знания на Microsoft:
977443 сборни 6 пакет за актуализация за SQL Server 2008 Service Pack 1
Забележка: Тъй като компилациите са сборни, всяка нова версия на корекцията съдържа всички актуални корекции и всички корекции на защитата, които са били включени в предишните SQL Server 2008 fix съобщение. Препоръчително е да приложите най-новата версия на корекцията, който ще съдържа тази корекция. За повече информация щракнете върху следния номер на статия в базата знания на Microsoft:
970365 SQL Server 2008 компилации, издадени след SQL Server 2008 Service Pack 1
Microsoft SQL Server 2008 корекции се създават специфични сервизни пакети за SQL Server. Трябва да приложите SQL Server 2008 Service Pack 1 корекция към инсталацията на SQL Server 2008 Service Pack 1. По подразбиране всяка корекция в сервизен пакет на SQL Server е включена в следващия сервизен пакет за SQL Server.

Заобикаляне на проблема


За да заобиколите този проблем, разреши ниска памет състояние. Количеството памет, която може да предизвика този проблем се различава за различните компютри. Обикновено тази стойност е между 32 МБ и 64 MB. Затова препоръчваме да конфигурирате сървъра за разпределяне на повече от 64 МБ памет SSIS 2008.

По подразбиране размерът на свободната памет, която сигнализира събитие за известяване ниска памет ресурс се променя. Тази свободна памет варира от 32 МБ 64 MB за всеки 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" в раздела "Допълнителна информация" за отстраняване на ниска памет състояние. След това оптимизира използването на паметта за SSIS 2008.

Статус


Microsoft потвърждава, че това е проблем в продуктите на Microsoft, изброени в раздела "Отнася се за".

Допълнителна информация


Как да следите консумацията на памет за SSIS

Монитор на паметта за измерване на пикови за различни процеси на SQL Server интеграция услуги средата за изчисляване на максимална памет


Наблюдава връх памет на различни процеси, SQL Server интеграция услуги (SSIS) средата чрез
Лична Bytes
на
Процес
обект в следене на производителността. Примери за SSIS средата процеси включват DTExec.exe процес и DTSHost.exe процес.


Когато използвате SSIS опаковки, намиране на максималната стойност за
Лична Bytes
брояч. Когато изпълнявате множество пакети паралелно, добавете заедно максималните стойности на всички процеси, които се изпълняват, за да получите максималната стойност за използване на паметта.

Наблюдение на външни процеси на върха и долини


Наблюдава връх памет на процесите извън услугата на SQL Server и услугата SSIS чрез
Лична Bytes
на
Процес
обект в следене на производителността. Потърсете използване на часовете, които може да намали наличната памет за SSIS. Например часовете са при няколко потребители използва протокола за отдалечен работен плот (RDP) да се свърже със сървъра или софтуера за архивиране се изпълнява.

Наблюдение на SQL Server памет на върха и долини


Ако съобщението "Използване заключена страници за набора буфер" не е в най-новия регистрационен файл за грешки
Лична Bytes
Брояч на Sqlservr.exe процес може да показва колко памет се консумира от услугите на SQL Server.



Ако съобщението "Използване заключена страници за буфер памет" е включен в най-новия регистрационен файл за грешки, използвайте
Общо сървър паметта (КБ)
на
SQL Server: Диспечер на памет
обекта за измерване на използването на паметта на SQL Server буфер памет. Освен това, използвайте
Лична Bytes
брояч за процеса на Sqlservr.exe да намерите разпределението на памет извън набора буфер (MemToLeave). Сумата на Общата сървър паметта (КБ) брояч и MemToLeave стойност е добра оценка на общото количество памет, която използва SQL Server.



Следене на производителността и диспечера на задачите не се показват памет, която се консумира от тези страници от пула на буфер, ако е налице едно от следните условия:
  • На
    Заключване на страници в паметта потребителски права е присвоен на акаунт за стартиране на SQL Server услуга.
  • На
    AWE
    паметта е разрешен.
Забележка
Когато едно от следните условия е вярно,
Лична Bytes
брояч за процеса на Sqlservr.exe посочват колко памет се консумира от SQL Server услуги за различни копия на SQL Server.

Следи минималната стойност на памет в Windows


За да следите колко памет е наличен в Windows, използвайте един от следните методи:
  • Използвайте
    Налични MBytes
    брояч в производителността монитора, за да покаже колко памет е наличен.
  • Изглед
    Физическа памет (МБ) – безплатно
    стойност в раздела за изпълнение на диспечера на задачите.


    Забележка
    В някои операционни системи, Физическа памет (МБ) – безплатно
    стойността е обозначен като Физическа памет (K) – свободни стойност.

Препратки


За информация за модела на постъпково обслужване за SQL Server щракнете върху следния номер на статия в базата знания на Microsoft:

935897 Моделът за постъпково обслужване се предлага от екипа на SQL Server за предоставяне на спешни корекции за съобщени проблеми



За повече информация за схемата за именуване на актуализации за SQL Server щракнете върху следния номер на статия в базата знания на Microsoft:

822499 Нова схема за именуване на пакети за актуализация на софтуера на Microsoft SQL Server


За повече информация относно терминологията за актуализация на софтуера щракнете върху следния номер на статия, за да я видите в базата данни на Microsoft:
824684 описание на стандартната терминология, използвана за описание на софтуерните актуализации на Microsoft