Gäller för
SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Standard SQL Server 2008 Workgroup

PROGRAMFEL #: 123295 (Innehållsunderhåll)BUG #: 390803 (SQLBUVSTS)

Microsoft distribuerar Microsoft SQL Server 2008 korrigeringar som en nedladdningsbar fil. Eftersom korrigeringar är kumulativa innehåller varje ny utgåva innehåller alla snabbkorrigeringar och säkerhetskorrigering för alla säkerhetskorrigeringar som ingår i föregående SQL Server 2008.

Symptom

Du har en Microsoft SQL Server 2008 Integration Services (SSIS 2008)-paketet. Paketet innehåller ett dataflöde aktivitet. Ett åtkomstfel uppstår och sedan SSIS 2008 runtime-processen kraschar när du kör paketet på en server som är ett villkor för lite minne. Dessutom får du varningar om lite ledigt minne som liknar följande i programloggen SSIS 2008:

Namn: OnInformationBeskrivning: Buffert manager misslyckades memory allocation uppmaning till 10484760 byte, men gick inte att byta ut alla buffertar för att avlasta minnestryck. 305 buffertar togs under övervägande och 295 var låst. Antingen inte tillräckligt med minne är tillgängligt på rörledningen eftersom det finns inte tillräckligt med installerad, andra processer använder det eller för många buffertar är låsta.Namn: OnInformationBeskrivning: Buffert manager har allokerat 10485608 byte, även om minnestryck upptäcktes och upprepade försök att byta buffertar har misslyckats.

Obs! De olika runtime processer som kör 2008 SSIS-paket är DTExec.exe, DTSHost.exe eller DTSDebugHost.exe. Process som körs 2008 SSIS-paket bestäms av de villkor som paketet finns under. DTExec.exe-process körs överordnade paket. DTSHost.exe-processen körs underordnade paketen. DtsDebugHost.exe-processen körs paket som felsöks med Business Intelligence Design Studio.

Orsak

SSIS 2008 meddelas att servern är ett villkor för lite minne. Ett tillstånd med minnesbrist inträffar när endast 128 megabyte (MB till 256 MB minne) finns. Sedan börjar SSIS 2008 körning att byta ut dataflöde pipeline buffertar till den temporära mapp som anges av egenskapen BufferTempStoragePath .Den situation som nämns i avsnittet "Symptom", kopieras informationen i en buffert internt till en destinationsbufferten av en omvandling. Till exempel kopiera data i en buffert av en omvandling delta koppla. Den här åtgärden inträffar när servern inte är ett villkor för lite minne. Men känner inte omvandlingen en tråd utanför omvandlingen plötsligt växlas ut destinationsbufferten. Därför misslyckas kopieringen och orsakar åtkomstfelet.

Lösning

Den här snabbkorrigeringen låser destinationsbufferten uttryckligen under en kopieringen. Detta förhindrar att andra trådar byta ut destinationsbufferten när kopieringen körs.Korrigeringsfil för problemet gavs först ut i kumulativ uppdatering 6 för SQL Server 2008 Service Pack 1. Mer information om den kumulativa uppdateringspaket klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

977443 kumulativ uppdateringspaket 6 för SQL Server 2008 Service Pack 1Obs! Eftersom på byggen är kumulativa, varje ny version av korrigeringsfilen innehåller alla snabbkorrigeringar och säkerhetskorrigering för alla säkerhetskorrigeringar som ingår i föregående SQL Server 2008. Vi rekommenderar att du använder den senaste utgåvan av korrigering som innehåller den här snabbkorrigeringen. För mer information klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

970365 i SQL Server 2008 bygger som har getts ut efter SQL Server 2008 Service Pack 1Snabbkorrigeringar för Microsoft SQL Server 2008 skapas för särskilda SQL Server servicepack. Du måste installera en snabbkorrigering för SQL Server 2008 Service Pack 1 till en installation av SQL Server 2008 Service Pack 1. En snabbkorrigering som finns i en SQL Server service pack ingår som standard i nästa service pack för SQL Server.

Temporär lösning

Undvik det här problemet genom att lösa villkor för lite minne. Mängden minne som kan utlösa detta problem varierar för olika datorer. Det här beloppet är i allmänhet mellan 32 MB och 64 MB. Därför rekommenderar vi att du konfigurerar servern att allokera mer än 64 MB minne till SSIS 2008.Standard för mängden tillgängligt minne som signalerar en meddelandehändelse minnesbrist resurs fluktuerar. Detta minne sträcker sig från 32 MB och 64 MB för varje 4 gigabyte (GB). Det här problemet är svårt att förhindra eftersom minne fluktuerar på upptagen produktionsservrar. Minnet kan dessutom minska av olika anledningar. Mer information om meddelanden om minne finns på följande Microsoft Developer Network (MSDN)-webbplats:

Funktionen som skapar minne anmälan resursobjektAnvänd någon av följande metoder för att minska frekvensen av det här problemet.Metod 1Lägg till mer fysiskt minne i datorn.Metod 2Att köra SSIS 2008-paketet på en dator som inte kör en instans av SQL Server.Metod 3När du kör SSIS 2008-paketet anger du alternativet maximalt serverminne för instansen av SQL Server 2008 till ett mindre värde. Detta ökar tillgängligt minne.Metod 4Avsluta program som förbrukar mycket minne när du kör SSIS 2008-paketet som innehåller uppgifter om dataflöde.Metod 5Köra SSIS 2008-paketet och dataflöde aktiviteter i serie i stället för att minska minnesanvändningen parallellt.Metod 6Använd den metod som beskrivs i avsnittet "Hur du övervakar minnesanvändningen för SSIS" under avsnittet "Mer information" Felsökning av villkor för lite minne. Sedan optimera minnesanvändningen för SSIS 2008.

Status

Microsoft har bekräftat att detta är ett problem i Microsoft-produkterna som nämns i avsnittet "Gäller".

Mer Information

Hur du övervakar minnesanvändningen för SSIS

Övervaka minnet att mäta Toppvärde användning för olika SQL Server Integration Services körning processer att beräkna maximalt minne

Övervaka topp minnesanvändning för olika SQL Server Integration Services (SSIS) körning processer med hjälp av den Privata byteräknare för den Processenobjekt i Prestandaövervakaren. Exempel på SSIS körning processer är DTExec.exe-processen och processen för DTSHost.exe.När du använder SSIS-paket, hitta det största värdet för den Privata byteräknaren. När flera paket körs parallellt, lägga till högsta värdena för alla processer som körs för att få det maximala värdet för minnesanvändning.

Övervaka externa processer att hitta toppar och dalar

Övervaka användningen av processer utanför SQL Server-tjänsten och tjänsten SSIS topp minne med hjälp av den Privata byteräknare för den Processenobjekt i Prestandaövervakaren. Leta efter Högbelastningstider för användning som kan minska tillgängligt minne för SSIS. Högbelastningstider är till exempel när flera användare använder protokollet RDP (Remote Desktop) för att ansluta till servern eller när du kör programvara för säkerhetskopiering.

Övervaka minnesanvändningen för SQL Server för att hitta toppar och dalar

Om meddelandet "Använda låsta sidor för buffertpool" inte senaste loggfilen på Privata byteräknare för Sqlservr.exe process kan ange hur mycket minne som förbrukas av SQL Server-tjänster.Om meddelandet "Använda låsta sidor för buffertpool" ingår i de senaste loggfilen, använda den Totalt minne (KB)räknare för den SQLServer: MinneshanterarePrestandaobjekt för mätning av minnesanvändningen för buffertpool SQL Server. Dessutom använder de Privata byteräknare för Sqlservr.exe process att hitta minnestilldelningar utanför buffertpool (MemToLeave). Summan av det Totala Server minne (KB) räknare och MemToLeave-värdet är en bra uppskattning av den totala mängden minne som används av SQL Server.Resursövervakaren och Aktivitetshanteraren visar inte det minne som förbrukas av sidorna buffert poolen när någon av följande förutsättningar föreligger:

  • Den Låsa sidor i minnet användarrättigheten har tilldelats kontot SQL Server startas.

  • Den AWEminnet är aktiverat.

Obs!Om något av dessa villkor föreligger det Privata byteräknare för Sqlservr.exe process ska ange hur mycket minne som förbrukas av SQL Server-tjänster för olika SQL Server-instanser.

Övervaka det lägsta värdet på tillgängligt minne i Windows

Använd någon av följande metoder om du vill övervaka hur mycket minne som är tillgängligt i Windows:

  • Använd den Tillgängliga megabyteräknare i Resursövervakaren för att ange hur mycket minne som är tillgänglig.

  • Visa den Fysiskt minne (MB) ledigtvärde på fliken prestanda i Aktivitetshanteraren.Obs!I vissa operativsystem, Fysiskt minne (MB) – ledigvärdet är märkt som Fysiskt minne (kB) – tillgängliga värde.

Referenser

Information om stegvis Servicing modellen för SQL Server klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

935897 en inkrementell Servicing modell är tillgänglig från SQL Server-teamet att leverera snabbkorrigeringar för rapporterade problemMer information om namngivning schemat för uppdateringar för SQL Server klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

822499 Nytt system för namngivning för Microsoft SQL Server-programuppdateringspaketFör mer information om terminologin för programuppdateringar klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

824684 beskrivning av standardterminologin som används för att beskriva Microsoft-programuppdateringar

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.