Laufzeitprozess SSIS 2008 stürzt ab, wenn das SSIS-2008-Paket unter geringem Arbeitsspeicher ausgeführt

Microsoft stellt Updates für Microsoft SQL Server 2008 als downloadbare Datei. Da die kumulativ sind, enthält jede neue Version alle Hotfixes und alle Sicherheitsupdates, die mit früheren SQL Server 2008 geliefert wurden.

Problembeschreibung

Sie haben ein Paket mit Microsoft SQL Server 2008 Integration Services (SSIS 2008). Das Paket enthält eine Datenfluss-Aufgabe. Wenn Sie das Paket auf einem Server, die wenig Arbeitsspeicher vorhanden ist ausführen, tritt und 2008 SSIS Runtime Prozess stürzt. Außerdem erhalten Sie Warnhinweise zu wenig Speicher, die in das Anwendungsprotokoll von SSIS 2008 folgendermaßen aussehen:
Ereignisname: OnInformation

Beschreibung: Der Puffer-Manager Memory Allocation Aufruf zum 10484760 Bytes konnte, konnte jedoch keine Puffer zu Speicherdruck austauschen. 305 Puffer wurden berücksichtigt und 295 gesperrt wurden. Nicht genügend Speicher steht die Pipeline nicht genügend installiert, andere Prozesse Verwendung oder zu viele Puffer gesperrt.



Ereignisname: OnInformation


Beschreibung: Der Puffer-Manager 10485608 Bytes reserviert hat, obwohl der Speicherdruck festgestellt und wiederholte Versuche Puffer vertauscht sind fehlgeschlagen.


Hinweis Verschiedene Laufzeitprozessen, die 2008 SSIS-Pakete sind DTExec.exe, DTSHost.exe oder DTSDebugHost.exe. Die Vorschriften, die das Paket wird der Prozess, das 2008 SSIS-Paket bestimmt. Der DTExec.exe-Prozess läuft übergeordneten Paketen. Der DTSHost.exe-Prozess läuft untergeordnete Pakete. Der DtsDebugHost.exe-Prozess läuft Pakete von Business Intelligence Design Studio gedebuggt werden.

Ursache

SSIS 2008 wird benachrichtigt, dass der Server ein wenig Arbeitsspeicher vorhanden ist. Niedrige Arbeitsspeicher tritt nur 128 Megabyte (MB, 256 MB Arbeitsspeicher) verfügbar sind. Dann beginnt der SSIS-2008 Runtime Datenfluss Pipeline Puffer in den temporären Ordner austauschen, die von der BufferTempStoragePath -Eigenschaft angegeben ist.


In der im Abschnitt "Symptome" erwähnte Situation werden die Daten in einem Puffer intern in einen Zielpuffer durch eine Transformation kopiert. Beispielsweise werden die Daten in einem Puffer durch Merge Join-Transformation kopiert. Dieser Vorgang wird während der Server ein wenig Arbeitsspeicher vorhanden ist. Die Transformation erkennt jedoch nicht, dass ein Thread außerhalb der Transformation den Zielpuffer plötzlich ausgelagert. Daher der Kopiervorgang schlägt fehl und führt die Verletzung.

Problemlösung

Dieser Hotfix sperrt den Zielpuffer explizit während eines Kopiervorgangs. Dieses Verhalten verhindert, dass andere Threads den Zielpuffer austauschen, wenn der Kopiervorgang ausgeführt wird.
Die Fehlerbehebung für dieses Problem wurde erstmals im kumulativen Update 6 für SQL Server 2008 Service Pack 1 veröffentlicht. Für weitere Informationen zu diesem kumulativen Update-Paket, klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
977443 kumulative Updatepaket 6 für SQL Server 2008 Service Pack 1
Hinweis Da diese Builds kumulativ sind, enthält jede neue Veröffentlichung alle Hotfixes und alle die Sicherheitsupdates, die in den vorherigen SQL Server 2008 Fix-Veröffentlichung enthalten waren. Wir empfehlen Sie prüfen die neueste Update-Version, die diesen Hotfix enthält. Klicken Sie für weitere Informationen auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
970365 die SQL Server 2008 builds, die nach der Freigabe von SQL Server 2008 Service Pack 1
Microsoft SQL Server 2008-Hotfixes sind für bestimmte SQL Server Servicepacks erstellt. Sie müssen SQL Server 2008 Service Pack 1-Hotfix eine Installation von SQL Server 2008 Service Pack 1 anwenden. Standardmäßig ist jeder Hotfix, der in einem SQL Server Servicepack bereitgestellt wird, in einem nächsten Servicepack für SQL Server enthalten.

PROBLEMUMGEHUNG

Beheben Sie um dieses Problem zu umgehen, wenig Arbeitsspeicher vorhanden. Die Speichermenge, die dieses Problem auslösen können variiert für verschiedene Computer. Im Allgemeinen ist zwischen 32 und 64 MB. Wir empfehlen daher, Konfigurieren des Servers zum SSIS 2008 mehr als 64 MB Arbeitsspeicher zugewiesen.

Der Standardbetrag des verfügbaren Speichers, der signalisiert ein Benachrichtigungsereignis Low-Memory Resource wechselt. Dieser Arbeitsspeicher reicht von 32 MB, 64 MB für alle 4 Gigabyte (GB). Dieses Problem lässt sich verhindern, da Arbeitsspeicher auf ausgelastet schwankt. Darüber hinaus kann aus verschiedenen Gründen Speicher verringern. Weitere Informationen zu Ressourcen Hauptspeicher finden Sie auf der folgenden Microsoft Developer Network (MSDN)-Website:Reduzierung die Häufigkeit dieses Problems verwenden Sie eine der folgenden Methoden.

Methode 1

Der Computer mehr Arbeitsspeicher hinzufügen.

Methode 2

Ausführen des Pakets SSIS 2008 auf einem Computer, der eine Instanz von SQL Server nicht ausgeführt wird.

Methode 3

Beim Ausführen des SSIS-2008-Pakets legen Sie die Option maximale Serverspeicher für die Instanz von SQL Server 2008 auf einen kleineren Wert. Dieses Verhalten erhöht die verfügbaren Speicher.

Methode 4

Beenden Sie Programme, die viel Speicher beanspruchen, wenn Sie 2008 SSIS-Paket ausführen, das Datenfluss Aufgaben enthält.


Methode 5

Führen Sie 2008 SSIS-Paket und Datenfluss Aufgaben Serie statt mit Speicherbedarf verringern.


Methode 6

Verwenden Sie beschriebenen Methode im Abschnitt "How to Speicherbedarf SSIS überwachen" des Abschnitts "Weitere Informationen" Problembehandlung bei wenig Arbeitsspeicher vorhanden. Optimieren Sie die Speicherverwendung für SSIS-2008.

Status

Microsoft hat bestätigt, dass es sich um ein Problem bei den Microsoft-Produkten handelt, die im Abschnitt „Eigenschaften“ aufgeführt sind.

Weitere Informationen

Überwachen der Speicherbedarf SSIS

Überwachen des Arbeitsspeichers zu Spitzenzeiten für verschiedene SQL Server Integration Services zur Laufzeit Prozesse Maximale Speicherverwendung berechnen messen


Überwachen die Speicherverwendung der Prozesse zur Laufzeit verschiedene SQL Server Integration Services (SSIS) mithilfe der
Private Bytes
der Zähler der
Prozess
Objekt im Systemmonitor. Der SSIS-Laufzeit-Prozesse gehören die DTExec.exe und DTSHost.exe-Prozess.


Wenn die SSIS-Pakete ausgeführt werden, finden Sie den maximalen Wert für die
Private Bytes
Zähler. Wenn mehrere Pakete gleichzeitig ausführen, addieren Sie die Maximalwerte aller Prozesse, die ausgeführt werden, um den Maximalwert für die Speicherverwendung erhalten.

Überwachen von externen Prozessen Spitzen und Täler


Überwachen die Speicherverwendung der Prozesse der SQL Server-Dienst und den SSIS-Dienst mithilfe der
Private Bytes
der Zähler der
Prozess
Objekt im Systemmonitor. Suchen Sie nach Spitzenzeiten, die Speicherplatz für SSIS verringern können. Beispielsweise sind Spitzenzeiten, wenn mehrere Benutzer Remote Desktop Protocol (RDP) für die Verbindung zum Server oder backup-Software ausgeführt wird.

Überwachen Sie Speicherverwendung Spitzen und Täler SQL Server


Ist die Meldung "Using gesperrt Seiten für den Pufferpool" nicht in die aktuelle Fehlerprotokolldatei der
Private Bytes
Indikator für den Prozess Sqlservr.exe kann angeben, wie viel Arbeitsspeicher von SQL Server-Dienste verwendet wird.



Wenn die Meldung "Using gesperrt Seiten für den Pufferpool" in die aktuelle Fehlerprotokolldatei enthalten ist, verwenden die
Serverspeicher gesamt (KB)
der Zähler der
SQL Server: Speicher-Manager
Leistungsobjekt die Speicherverwendung von SQL Server-Pufferpool messen. Darüber hinaus verwenden die
Private Bytes
Indikator für den Prozess Sqlservr.exe der Speicherbereiche außerhalb des Pufferpools (MemToLeave) gefunden. Die Summe der Indikatorwert Serverspeicher gesamt (KB) und MemToLeave-Wert ist eine gute Schätzung der Gesamtmenge an Speicher, die SQL Server verwendet.



Systemmonitor und Task-Manager anzeigen nicht den Speicher, der von diesen Pool Pufferseiten verwendet wird, wenn Folgendes zutrifft:
  • Die
    Das SQL Server-Dienststartkonto Benutzerrecht Seiten im Speicher sperren zugewiesen.
  • Die
    AWE
    Speicher ist aktiviert.
Hinweis
Wenn eine der folgenden Situationen stimmt die
Private Bytes
Indikator für den Prozess Sqlservr.exe anzugeben, wie viel Arbeitsspeicher von SQL Server-Dienste für SQL Server-Instanzen verwendet wird.

Überwachen Sie den Mindestwert des verfügbaren Speichers in Windows


Überwachen, wie viel Speicher in Windows verfügbar ist, verwenden Sie eine der folgenden Methoden:
  • Verwenden der
    Verfügbare MB
    Leistungsindikator an, wie viel Speicher verfügbar ist.
  • Anzeigen der
    Physikalischer Speicher (MB) – kostenlos
    Wert auf der Registerkarte Systemleistung des Task-Managers.


    Hinweis
    Bei einigen Betriebssystemen Physikalischer Speicher (MB) – kostenlos
    Wert ist als Physikalischer Speicher (KB) – verfügbare Wert gekennzeichnet.

Referenzen

Informationen zum inkrementellen Dienstmodell für SQL Server klicken Sie auf die folgenden Artikelnummer der Microsoft Knowledge Base:

935897 erläutert wird ein inkrementelles Dienstmodell steht der SQL Server-Team zu Hotfixes für gemeldete Probleme



Weitere Informationen zum Benennungsschema für SQL Server-Updates klicken Sie auf die folgenden Artikelnummer der Microsoft Knowledge Base:

822499 Neues Benennungsschema für Softwareupdatepakete für Microsoft SQL Server


Um weitere Informationen zur Terminologie für Softwareupdates zu erhalten, klicken Sie auf die folgende Artikelnummer, um den Artikel der Microsoft Knowledge Base anzuzeigen:
824684 Erläuterung von der standardmäßigen Standardbegriffen bei Microsoft Softwareupdates
Eigenschaften

Artikelnummer: 977190 – Letzte Überarbeitung: 13.01.2017 – Revision: 2

Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Standard, Microsoft SQL Server 2008 Workgroup

Feedback