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 1Hinweis 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:
Funktion, die Speicher Ressourcenobjekte Benachrichtigung erstelltReduzierung 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