Update: Ein Speicherverlust auftritt, wenn Sie Sp_OAMethod gespeicherten Prozedur oder gespeicherten Sp_OAGetProperty Aufrufen eine Methode eines COM-Objekts in SQL Server 2005

Microsoft stellt Updates für Microsoft SQL Server 2005 als downloadbare Datei. Da die kumulativ sind, enthält jede neue Version alle Hotfixes und alle Sicherheitsupdates, die in früheren SQL Server 2005 enthalten waren.
Dieser Artikel beschreibt folgendes über diese Version des Hotfixes:
  • Das Hotfix-Paket behobenen Probleme
  • Die erforderlichen Komponenten für die Installation des Hotfix-Pakets
  • Gibt an, ob Sie den Computer neu starten müssen, nachdem Sie das Hotfix-Paket installiert haben
  • Gibt an, ob das Hotfixpaket durch ein anderes Hotfixpaket ersetzt wird
  • Ob Sie Registrierungsschlüssel ändern müssen
  • Das Hotfix-Paket enthaltene Dateien

Problembeschreibung

Microsoft SQL Server 2005 beim Aufrufen einer Methode ein Objekt Component Object Model (COM) mit Sp_OAMethod gespeicherten Prozedur oder Sp_OAGetProperty gespeichert, tritt ein Speicherverlust. Dieses Problem tritt für Sp_OAMethod gespeicherten Prozedur kehrt die Methode das Ergebnis im Ausgabeparameter der Methode . Sp_OAGetProperty gespeicherten Prozedur tritt dieses Problem auf, wenn die gespeicherte Prozedur einen Eigenschaftswert im Ausgabeparameter zurückgegeben.

Speicherverluste erschöpft den Puffer Pool Speicherbereich wird außerdem die folgende Fehlermeldung in der SQL Server-Fehlerprotokolldatei protokolliert:
2008-05-01 08:35:07.80 spid535 Herunterstufen backup Protokollpuffer von 1024 KB auf 64 KB
2008-05-06 09:35:22.55 spid77 Fehler virtuelle Bytes zuordnen: FAIL_VIRTUAL_RESERVE 1048576
2008-05-06 10:48:04.85 spid593 Fehler: 701, Schweregrad: 17, Status: 123.
2008-05-06 10:48:04.85 spid593 es ist nicht genügend Arbeitsspeicher zum Ausführen dieser Abfrage.

Ursache

Dieses Problem tritt auf, weil SQL Server 2005 nicht der Variablen zugewiesen wird, die den Wert des Ausgabeparameters enthält den Speicher freizugeben.

Problemlösung

Kumulative Update-Informationen

Die Fehlerbehebung für dieses Problem wurde erstmals im kumulativen Update 2 veröffentlicht. Weitere Informationen zu diesem kumulativen Updatepaket für SQL Server 2005 Service Pack 2 finden Sie im folgenden Artikel der Microsoft Knowledge Base:
936305 kumulative Updatepaket 2 für SQL Server 2005 Service Pack 2
Hinweis Da diese Builds kumulativ sind, enthält jede neue Version alle Hotfixes und alle Sicherheitsupdates, die in früheren SQL Server 2005 enthalten waren. Microsoft empfiehlt, dass 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:
937137 der SQL Server 2005 erstellt, die nach der Freigabe von SQL Server 2005 Service Pack 2 veröffentlicht wurden
Microsoft SQL Server 2005-Hotfixes sind für bestimmte SQL Server Servicepacks erstellt. Sie müssen SQL Server 2005 Service Pack 2-Hotfix eine Installation von SQL Server 2005 Service Pack 2 anwenden. Standardmäßig ist jeder Hotfix, der in einem SQL Server Servicepack bereitgestellt wird, in einem nächsten Servicepack für SQL Server enthalten.

Hotfix-Informationen

Ein unterstützter Hotfix ist von Microsoft erhältlich. Dieser Hotfix soll nur der Behebung des Problems dienen, das in diesem Artikel beschrieben wird. Verwenden Sie diesen Hotfix nur auf Systemen, bei denen dieses spezielle Problem auftritt. Dieser Hotfix sollte weiteren Tests unterzogen werden. Wenn Ihr System durch dieses Problem nicht schwerwiegend beeinträchtigt ist, empfehlen wir sie, auf das nächste Softwareupdate zu warten, das diesen Hotfix enthält.

Wenn der Hotfix zum Download zur Verfügung steht, gibt es einen Abschnitt "Hotfixdownload available" ("Hotfixdownload verfügbar"), am oberen Rand dieses Knowledge Base-Artikel. Wenn dieser Abschnitt nicht angezeigt wird, wenden Sie sich an den Microsoft Customer Service and Support, um den Hotfix zu erhalten.

Hinweis Falls weitere Probleme auftreten oder andere Schritte zur Problembehandlung erforderlich sind, müssen Sie möglicherweise eine separate Serviceanfrage erstellen. Die normalen Supportkosten gelten für zusätzliche Supportfragen und Probleme, die nicht diesem speziellen Hotfix zugeordnet werden können. Eine vollständige Liste der Telefonnummern von Microsoft Customer Service and Support oder eine separate Serviceanfrage erstellen finden Sie auf der folgenden Microsoft-Website:Hinweis Das Formular "Hotfix download available" ("Hotfixdownload verfügbar") zeigt die Sprachen an, für die der Hotfix verfügbar ist. Wenn Ihre Sprache nicht angezeigt wird, ist dieser Hotfix für Ihre Sprache nicht verfügbar.

Voraussetzungen

Sie müssen Microsoft SQL Server 2005 Service Pack 1 (SP1) installiert, um diesen Hotfix anwenden.

Weitere Informationen zu SQL Server 2005 Service Pack 1 finden Sie im folgenden Artikel der Microsoft Knowledge Base:

913089 so erhalten Sie das neueste Servicepack für SQL Server 2005

Informationen zum Neustart

Sie müssen keinen Neustart des Computers nach der Installation dieses Hotfixes durchführen.

Informationen zur Registrierung

Sie haben nicht die Registrierung ändern.

Hotfix-Informationen

Dieser Hotfix enthält nur die Dateien, die in diesem Artikel beschriebenen Probleme zu beheben. Dieser Hotfix enthält möglicherweise nicht alle Dateien, die Sie benötigen, um ein Produkt vollständig auf den neuesten Stand zu aktualisieren. Die englische Version dieses Hotfix Dateiattribute (oder höher) ist in der folgenden Tabelle aufgeführt. Die Datums- und Uhrzeitangaben für diese Dateien sind in Coordinated Universal Time (UTC) aufgelistet. Wenn Sie die Dateiinformationen anzeigen, werden sie in die lokale Zeit konvertiert. Um die Differenz zwischen UTC und der Ortszeit zu suchen, verwenden Sie die Registerkarte Zeitzone in dem Element im Bedienfeld .
SQL Server 2005 32-Bit-version
DateinameDateiversionDateigrößeDatumZeitPlattform
Bcp.exe2005.90.2232.069,48809-May-200719:36x86
Databasemailengine.dll9.0.2232.075,12009-May-200719:36x86
Logread.exe2005.90.2232.0400,75209-May-200719:37x86
Microsoft.analysisservices.adomdclient.dll9.0.2232.0546,16009-May-200719:37x86
Microsoft.analysisservices.deploymentengine.dll9.0.2232.0140,65609-May-200719:37x86
Microsoft.analysisservices.dll9.0.2232.01,217,90409-May-200719:37x86
Microsoft.sqlserver.mgdsqldumper.dll2005.90.2232.078,19209-May-200719:37x86
Microsoft.sqlserver.sqlenum.dll9.0.2232.0910,70409-May-200719:37x86
Msasxpress.dll9.0.2232.024.94409-May-200719:37x86
Msgprox.dll2005.90.2232.0200,56009-May-200719:37x86
Msmdlocal.dll9.0.2232.015,646,06409-May-200719:37x86
Msmdredir.dll9.0.2232.03,993,96809-May-200719:37x86
Odsole70.dll2005.90.2232.059,76009-May-200719:37x86
Qrdrsvc.exe2005.90.2232.0369,52009-May-200719:37x86
Rdistcom.dll2005.90.2232.0643,44009-May-200719:37x86
Repldp.dll2005.90.2232.0187,24809-May-200719:37x86
Replmerg.exe2005.90.2232.0320,88009-May-200719:37x86
Replprov.dll2005.90.2232.0550,25609-May-200719:37x86
Replrec.dll2005.90.2232.0784,75209-May-200719:37x86
Replsub.dll2005.90.2232.0407,40809-May-200719:37x86
Spresolv.dll2005.90.2232.0177,00809-May-200719:37x86
Sqlaccess.dll2005.90.2232.0350,57609-May-200719:37x86
Sqlagent90.exe2005.90.2232.0321,39209-May-200719:37x86
Sqlservr.exe2005.90.2232.028,979,11209-May-200719:37x86
Sqsrvres.dll2005.90.2232.066,41609-May-200719:37x86
Xmlsub.dll2005.90.2232.0195,44009-May-200719:37x86
Xpstar90.dll2005.90.2232.0295,28009-May-200719:37x86
Xpstar90.rll2005.90.2232.0155,50409-May-200719:37x86
X64-basierte Version von SQL Server 2005
DateinameDateiversionDateigrößeDatumZeitPlattform
Bcp.exe2005.90.2232.088,94409-May-200716:46x64
Databasemailengine.dll9.0.2232.075,12009-May-200716:46x86
Logread.exe2005.90.2232.0525,16809-May-200716:46x64
Microsoft.analysisservices.adomdclient.dll9.0.2232.0546,16009-May-200716:46x86
Microsoft.analysisservices.adomdclient.dll9.0.2232.0546,16009-May-200719:37x86
Microsoft.analysisservices.deploymentengine.dll9.0.2232.0140,65609-May-200719:37x86
Microsoft.analysisservices.dll9.0.2232.01,217,90409-May-200719:37x86
Microsoft.sqlserver.mgdsqldumper.dll2005.90.2232.094,06409-May-200716:46x64
Microsoft.sqlserver.mgdsqldumper.dll2005.90.2232.078,19209-May-200719:37x86
Microsoft.sqlserver.sqlenum.dll9.0.2232.0877,93609-May-200716:46x86
Msasxpress.dll9.0.2232.030,06409-May-200716:46x64
Msasxpress.dll9.0.2232.024.94409-May-200719:37x86
Msgprox.dll2005.90.2232.0262.00009-May-200716:46x64
Msmdlocal.dll9.0.2232.015,646,06409-May-200719:37x86
Msmdredir.dll9.0.2232.03,993,96809-May-200719:37x86
Odsole70.dll2005.90.2232.090,99209-May-200716:46x64
Qrdrsvc.exe2005.90.2232.0434,03209-May-200716:46x64
Rdistcom.dll2005.90.2232.0836,46409-May-200716:46x64
Repldp.dll2005.90.2232.0237,93609-May-200716:46x64
Repldp.dll2005.90.2232.0187,24809-May-200719:37x86
Replmerg.exe2005.90.2232.0417,64809-May-200716:46x64
Replprov.dll2005.90.2232.0747,88809-May-200716:46x64
Replrec.dll2005.90.2232.01,010,54409-May-200716:46x64
Replsub.dll2005.90.2232.0528,24009-May-200716:46x64
Spresolv.dll2005.90.2232.0225,64809-May-200716:46x64
Sqlaccess.dll2005.90.2232.0357,74409-May-200716:46x86
Sqlagent90.exe2005.90.2232.0392,56009-May-200716:46x64
Sqlservr.exe2005.90.2232.039,373,16809-May-200716:46x64
Sqsrvres.dll2005.90.2232.078,19209-May-200716:46x64
Xmlsub.dll2005.90.2232.0319,85609-May-200716:46x64
Xpstar90.dll2005.90.2232.0543,60009-May-200716:46x64
Xpstar90.rll2005.90.2232.0156,01609-May-200716:46x64

Status

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

Referenzen

Weitere Informationen über das gleiche Problem in Microsoft SQL Server 2000 klicken Sie auf die folgenden Artikelnummer der Microsoft Knowledge Base:

816937 Update: ein Speicherverlust kann auftreten, wenn Sie Sp_OAMethod gespeicherten Prozedur aufrufen eine Methode eines COM-Objekts verwenden

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

Neues Benennungsschema für Microsoft SQL Server-Software 822499 Pakete aktualisieren

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

Weitere Informationen

Im folgenden Beispielskript verwenden Sie Sp_OAMethod gespeicherten Prozedur und Sp_OAGetProperty gespeicherte Prozedur zum Abrufen der Ergebnisse mit den Ausgabeparameter . Wenn Sie dieses Skript wiederholt auf eine neue Verbindung zu SQL Server 2005 ausführen, tritt ein Speicherverlust jedes Mal.
DECLARE @object int;DECLARE @hr int;
DECLARE @src varchar(255), @desc varchar(255);
EXEC @hr = sp_OACreate 'SQLDMO.SQLServer', @object OUT;
IF @hr <> 0 BEGIN
EXEC sp_OAGetErrorInfo @object, @src OUT, @desc OUT
RETURN
END
EXEC @hr = sp_OASetProperty @object, 'LoginSecure', 'TRUE'
IF @hr <> 0 BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN
END
EXEC @hr = sp_OAMethod @object, 'Connect', NULL, '<ComputerName>\<InstanceName>'
IF @hr <> 0 BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN
END
DECLARE @property varchar(255)
EXEC @hr = sp_OAMethod @object, 'HostName', @property OUT
IF @hr <> 0 BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN
END
PRINT @property
EXEC @hr = sp_OAGetProperty @object, 'HostName', @property OUT
IF @hr <> 0 BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN
END
PRINT @property
EXEC @hr = sp_OADestroy @object
IF @hr <> 0 BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN
END
Außerdem treten möglicherweise eine Verletzung der Problemthat beschrieben in den "Symptomen" Abschnitt auftritt. Die Fehlerprotokolldatei des SQL enthält folgende Informationen:
2008-03-24 10:03:09.51 spid51      Using 'odsole70.dll' version '2005.90.1399' to execute extended stored procedure 'sp_OACreate'. This is an informational message only; no user action is required.2008-03-24 10:03:13.43 spid51      Using 'dbghelp.dll' version '4.0.5'
2008-03-24 10:03:13.51 spid51 ***Stack Dump being sent to C:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL\LOG\SQLDump0001.txt
2008-03-24 10:03:13.53 spid51 SqlDumpExceptionHandler: Process 51 generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.
2008-03-24 10:03:13.53 spid51 * *******************************************************************************
2008-03-24 10:03:13.53 spid51 *
2008-03-24 10:03:13.53 spid51 * BEGIN STACK DUMP:
2008-03-24 10:03:13.53 spid51 * 03/24/08 10:03:13 spid 51
2008-03-24 10:03:13.53 spid51 *
2008-03-24 10:03:13.54 spid51 *
2008-03-24 10:03:13.54 spid51 * Exception Address = 0000000033387164 Module(odsole70+0000000000007164)
2008-03-24 10:03:13.54 spid51 * Exception Code = c0000005 EXCEPTION_ACCESS_VIOLATION
2008-03-24 10:03:13.54 spid51 * Access Violation occurred reading address 0000000006264FF8

Die Fehlerbehebung für dieses Problem ist in der Datei Odsole70.dll. Die erste feste Version der Binärdatei ist 2005.90.2232.0.


Microsoft SQL Server 2005 Service Pack 2 (SP2) ist diese Binärdatei nicht enthalten. Wenn Sie das Problem in SQL Server 2005 SP2 installieren Sie ein kumulatives Update, um dieses Problem zu beheben.

Das erste kumulative Update, das dieses Problem behoben ist Kumulatives Updatepaket 2 für SQL Server 2005 SP2. Der Build für dieses Update ist 09.00.3175. Daher können Sie das neueste kumulative Update für SQL Server 2005 oder kumulative Updates, die nach Juni 2007 zur Behebung dieses Problems veröffentlicht wurde.

Weitere Informationen zu kumulativen Updates für SQL Server 2005 Service Pack 2 Klicken Sie auf die folgenden Artikelnummer der Microsoft Knowledge Base:

937137 der SQL Server 2005 erstellt, die nach der Freigabe von SQL Server 2005 Service Pack 2 veröffentlicht wurden

Eigenschaften

Artikelnummer: 937277 – Letzte Überarbeitung: 14.01.2017 – Revision: 1

Feedback