Microsoft distribueert oplossingen voor Microsoft SQL Server 2008 als één downloadbaar bestand. Aangezien de oplossingen cumulatief zijn, bevat elke nieuwe release alle hotfixes en alle beveiligingscorrecties die waren opgenomen in de voorgaande SQL Server 2008 releases.
Symptomen
U hebt een Microsoft SQL Server 2008 Integration Services (SSIS 2008) pakket. Het pakket bevat een taak architectuur. Wanneer u het pakket op een server die onder er weinig geheugen beschikbaar is, treedt een toegangsfout op en vervolgens het proces SSIS 2008 runtime loopt vast. U krijgt tevens waarschuwingen over onvoldoende geheugen die in het toepassingslogboek SSIS 2008 als volgt uitzien:
Naam van de gebeurtenis: OnInformation
Beschrijving: De manager van de buffer is niet een oproep van de toewijzing van geheugen voor 10484760 bytes, maar kan niet alle buffers te ontlasten geheugenbelasting weghalen. 305 buffers werden onderzocht en 295 zijn vergrendeld. Er is onvoldoende geheugen is beschikbaar op de pijpleiding omdat onvoldoende zijn geïnstalleerd, andere processen gebruikt zijn of teveel buffers zijn vergrendeld. Naam van de gebeurtenis: OnInformation Beschrijving: De manager van de buffer is toegewezen bytes, 10485608, hoewel de geheugenbelasting heeft vastgesteld en herhaalde pogingen om te wisselen van buffers zijn mislukt.Opmerking De verschillende runtime-processen die pakketten SSIS 2008 uitvoeren zijn DTExec.exe, DTSHost.exe of DTSDebugHost.exe. Het proces dat het pakket SSIS 2008 wordt uitgevoerd, wordt bepaald door de voorwaarden die het pakket. Het DTExec.exe-proces wordt uitgevoerd bovenliggende pakketten. Het DTSHost.exe-proces wordt uitgevoerd onderliggende pakketten. Het DtsDebugHost.exe-proces wordt uitgevoerd-pakketten die worden gecontroleerd door Business Intelligence ontwerp Studio.
Oorzaak
SSIS 2008 ontvangt een melding dat de server er weinig geheugen beschikbaar is. Een lage geheugen treedt op wanneer er slechts 128 megabyte (MB) tot 256 MB geheugen beschikbaar zijn. Vervolgens begint het SSIS 2008 runtime uit te wisselen van gegevensstroomdiagrammen pijpleiding buffers in de tijdelijke map die is opgegeven door de eigenschap BufferTempStoragePath .
In de situatie die in de sectie 'Symptomen' wordt vermeld, wordt de gegevens in een buffer gekopieerd intern naar een bestemmingsbuffer door een transformatie. Bijvoorbeeld wordt de gegevens in een buffer gekopieerd door een transformatie samenvoegen deelnemen. Deze bewerking wordt uitgevoerd terwijl de server er weinig geheugen beschikbaar is. De transformatie herkent echter niet dat een thread buiten de transformatie plotseling gewisseld de bestemmingsbuffer. De kopieerbewerking mislukt en daarom de toegangsfout veroorzaken.Oplossing
Deze hotfix wordt de bestemmingsbuffer expliciet vergrendeld tijdens een kopieerbewerking. Dit probleem wordt voorkomen dat andere threads verwisselen van de bestemmingsbuffer wanneer de kopieeropdracht wordt uitgevoerd.
De correctie voor dit probleem werd voor het eerst uitgebracht in de cumulatieve Update 6 voor SQL Server 2008 Service Pack 1. Voor meer informatie over dit cumulatieve updatepakket klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base:977443 cumulatieve updatepakket 6 voor SQL Server 2008 Service Pack 1Opmerking Omdat de opbouw cumulatief van opzet zijn, elke nieuwe versie van de correctie bevat alle hotfixes en de beveiligingscorrecties die opgenomen in de vorige versie van SQL Server 2008 zijn release opgelost. We raden het toepassen van de meest recente hotfix-versie waarin deze hotfix is opgenomen. Voor meer informatie klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base weer te geven:
970365 met de SQL Server 2008 bouwt die zijn uitgebracht na Service Pack 1 voor SQL Server 2008 is uitgebracht Hotfixes voor Microsoft SQL Server 2008 worden voor een specifieke servicepacks voor SQL Server gemaakt. U moet een hotfix voor SQL Server 2008 Service Pack 1 toepassen op een installatie van SQL Server 2008 Service Pack 1. Voor elke hotfix die wordt geleverd in een servicepack van SQL Server is standaard opgenomen in het volgende servicepack voor SQL Server.
Tijdelijke oplossing
U kunt dit probleem omzeilen, de voorwaarde van voldoende geheugen worden omgezet. De hoeveelheid geheugen, waardoor dit probleem varieert voor verschillende computers. In het algemeen is dit bedrag tussen 32 en 64 MB. Daarom is het raadzaam dat u de server configureren SSIS 2008 meer dan 64 MB beschikbaar geheugen toewijzen.
De hoeveelheid geheugen die een laag geheugenbronnen meldingsgebeurtenis signaleert fluctueert. Dit geheugen varieert van 32 MB tot 64 MB voor elke 4 gigabytes (GB). Dit probleem is het moeilijk om te voorkomen, omdat het beschikbare geheugen fluctueert op productieservers bezet. Bovendien afnemen geheugen voor diverse andere redenen. Ga naar de volgende website van Microsoft Developer Network (MSDN) voor meer informatie over meldingen voor resource geheugen:Functie die geheugen melding van bronobjecten maaktOm de frequentie van dit probleem, een van de volgende methoden te gebruiken. Methode 1 Meer fysiek geheugen aan de computer toevoegen. Methode 2 Het pakket SSIS 2008 worden uitgevoerd op een computer waarop een exemplaar van SQL Server is niet actief. Methode 3 Wanneer u het pakket SSIS 2008 uitvoert, moet u de optie Maximaal servergeheugen voor het exemplaar van SQL Server 2008 ingesteld op een kleinere waarde. Dit gedrag vergroot het beschikbare geheugen. Methode 4 Sluit toepassingen die veel geheugen verbruiken wanneer u het pakket SSIS 2008 met gegevensstroomdiagrammen taken uitvoeren. Methode 5 Het pakket SSIS 2008 en de gegevensstroom taken uitvoeren in serie in plaats van parallel aan het geheugengebruik te verkleinen. Methode 6 Gebruik de methode die wordt beschreven in de subsectie 'Het geheugengebruik voor SSIS controleren' in de sectie 'Meer informatie' oplossen van problemen met de voorwaarde van voldoende geheugen. Vervolgens gebruik van geheugen optimaliseren voor SSIS 2008.
Status
Microsoft heeft bevestigd dat dit probleem kan optreden in de Microsoft-producten die worden vermeld in de sectie 'Van toepassing op'.
Meer informatie
Het geheugengebruik voor SSIS controleren
Het geheugen te meten piekgebruik voor verschillende SQL Server Integration Services runtime-processen voor het berekenen van de maximale geheugengebruik controleren
Het geheugengebruik van de piek van de verschillende SQL Server Integration Services (SSIS) runtime-processen controleren met behulp van de Eigen Bytes teller van de Proces object in Prestatiemeter. Voorbeelden van SSIS runtime-processen zijn de DTExec.exe en het DTSHost.exe-proces. Wanneer de SSIS-pakketten zijn uitgevoerd, vinden de maximumwaarde voor de Eigen Bytes teller. Wanneer meerdere pakketten tegelijkertijd worden uitgevoerd, de maximale waarden van alle processen die worden uitgevoerd als u de maximale waarde voor geheugengebruik bij elkaar optelt.
Controleren van externe processen vinden pieken en dalen
Het geheugengebruik van de piek van processen buiten de SQL Server-service en de SSIS-service controleren met behulp van de Eigen Bytes teller van de Proces object in Prestatiemeter. Piekuren die beschikbaar geheugen voor SSIS afnemen zoekt. Piekuren zijn bijvoorbeeld wanneer meerdere gebruikers verbinding maken met de server met Remote Desktop Protocol (RDP) of als back-up software wordt uitgevoerd.
Geheugengebruik van SQL Server te vinden van pieken en dalen
Als het bericht "Werken met vergrendelde pagina's voor de buffergroep" niet in de meest recente fout-logboekbestand de Eigen Bytes teller voor het proces Sqlservr.exe kunt aangeven hoeveel geheugen wordt verbruikt door de SQL Server-services. Als het bericht "Werken met vergrendelde pagina's voor de buffergroep" is opgenomen in de meest recente fout-logboekbestand, gebruikt u de Totaal servergeheugen (KB) teller van de SQL Server: Memory Manager prestatie-object voor het meten van het gebruik van de buffergroep SQL Server geheugen. Bovendien gebruiken de Eigen Bytes de teller voor het proces Sqlservr.exe vinden de geheugentoewijzingen buiten de buffergroep (MemToLeave). De som van de waarde van de teller Totale Server geheugen (KB) en de waarde MemToLeave is een goede schatting van de totale hoeveelheid geheugen die SQL Server gebruikt. Prestatiemeter en Taakbeheer weergeven niet het geheugen dat door deze buffer groep pagina's wordt gebruikt wanneer een van de volgende voorwaarden voldaan wordt:
-
De
Pagina's in geheugen vergrendelen gebruikersrecht wordt toegewezen aan de opstartaccount voor SQL Server-service. -
De
AWE geheugen is ingeschakeld.
Opmerking
Als een van deze voorwaarden voldaan is, de Eigen Bytes teller voor het proces Sqlservr.exe moet aangeven hoeveel geheugen wordt gebruikt door de SQL Server-services voor verschillende exemplaren van SQL Server.De minimumwaarde van het beschikbare geheugen in Windows controleren
Als u wilt controleren hoeveel geheugen er beschikbaar is in Windows, gebruikt u een van de volgende methoden:
-
Gebruik de
Beschikbare MBytes de teller in Prestatiemeter om aan te geven hoeveel geheugen er beschikbaar is. -
Weergave de
Fysiek geheugen (MB): gratis de waarde op het tabblad prestaties van Taakbeheer. Opmerking In sommige besturingssystemen kan het Fysieke geheugen (MB): gratis waarde wordt aangeduid als de waarde van het Fysieke geheugen (K) – beschikbaar .
Referenties
Informatie over de incrementele Servicing-Model voor SQL Server, klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base:
935897 een incrementele Servicing-Model is beschikbaar in de SQL Server-team voor het leveren van hotfixes voor gemelde problemen Voor meer informatie over het naamgevingsschema voor SQL Server-updates klikt u op het volgende artikel in de Microsoft Knowledge Base:
822499 Nieuw naamgevingsschema voor software-updatepakketten voor Microsoft SQL Server Voor meer informatie over terminologie voor software-updates klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base weer te geven:
824684 beschrijving van de standaardterminologie die wordt gebruikt om software-updates voor Microsoft te beschrijven