REVISIÓN: Se produce una pérdida de memoria al utilizar el procedimiento almacenado sp_OAMethod o el procedimiento almacenado de sp_OAGetProperty llamar a un método de un objeto COM en SQL Server 2005

Seleccione idioma Seleccione idioma
Id. de artículo: 937277 - Ver los productos a los que se aplica este artículo
Microsoft distribuye correcciones de Microsoft SQL Server 2005 como un archivo descargable. Como las revisiones son acumulativas, cada versión nueva contiene todas las revisiones y revisión de todas las revisiones de seguridad incluidas en el anterior de SQL Server 2005.
Expandir todo | Contraer todo

En esta página

En este artículo describe lo siguiente acerca de esta versión de revisión:
  • Los problemas corregidos por el paquete de hotfix
  • Los requisitos previos para instalar el paquete de hotfix
  • Si debe reiniciar el equipo después de instalar el paquete de hotfix
  • Si el paquete de hotfix queda reemplazado o no por otro paquete de hotfix
  • Si debe hacer cambios en el registro
  • Archivos contenidos en el paquete de hotfix

Síntomas

En Microsoft SQL Server 2005, cuando se llamar a un método de un objeto (COM) modelo de objetos de componente utilizando el procedimiento almacenado sp_OAMethod o el procedimiento sp_OAGetProperty almacenado, se produce una pérdida de memoria. El procedimiento almacenado sp_OAMethod , este problema se produce si el método devuelve el resultado en el parámetro de salida del método. El procedimiento de sp_OAGetProperty almacenados, este problema se produce si el procedimiento almacenado devuelve un valor de propiedad en el parámetro OUTPUT .

Además, si la memoria pérdidas consume el búfer de no región de memoria de grupo, la siguiente mensaje de error se registra en el archivo de registro de error de SQL Server:
05-2008-01 08:35:07.80 spid535 degradar copia de seguridad búferes de registro de 1024 KB a 64 K
05-2008-06 09:35:22.55 spid77 error virtual asignar bytes: FAIL_VIRTUAL_RESERVE 1048576
Error de 2008-05-06 10:48:04.85 spid593: 701, gravedad: 17, estado: 123.
2008-05-06 10:48:04.85 spid593 es memoria de sistema insuficiente para ejecutar esta consulta.

Causa

Este problema se produce porque SQL Server 2005 no libera la memoria que está asignada a la variable que contiene el valor de parámetro de salida.

Solución

Información de actualización acumulativa

La corrección para este problema se publicó por primera vez en actualización acumulativa 2. Para obtener más información acerca de cómo obtener este paquete de actualización acumulativa para SQL Server 2005 Service Pack 2, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
936305Paquete de actualización acumulativa 2 para SQL Server 2005 Service Pack 2
Nota Como las compilaciones son acumulativas, cada versión de revisión nueva contiene todas las revisiones y revisión de todas las revisiones de seguridad incluidas en el anterior de SQL Server 2005. Microsoft recomienda que considere aplicar la versión de revisión más reciente que contenga este hotfix. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
937137Compilaciones de SQL Server 2005 que se publicaron después del lanzamiento de SQL Server 2005 Service Pack 2
Las revisiones de Microsoft SQL Server 2005 se crean para los service Pack específicos de SQL Server. Debe aplicar una revisión de SQL Server 2005 Service Pack 2 a una instalación de SQL Server 2005 Service Pack 2. De forma predeterminada, cualquier revisión suministrada en un service pack se incluye en el siguiente service pack.

Información de revisiones

Hay una revisión compatible de Microsoft. Sin embargo, esta revisión se diseñó para corregir el problema descrito en este artículo. Aplíquela sólo a los sistemas que experimenten este problema específico. Esta revisión podría sometida a comprobaciones adicionales. Por lo tanto, si no se ve muy afectado por este problema, recomendamos que espere a la siguiente actualización de software que contenga este hotfix.

Si la revisión está disponible para descarga, es hay una sección de "Descarga de revisión disponible" al principio de este artículo. Póngase en contacto si no aparece en esta sección, con los Microsoft cliente Servicios de y soporte técnico para obtener la revisión de.

Nota Si se producen problemas adicionales o si cualquier solución de problemas es necesario, quizás tenga que crear una solicitud de servicio independiente. Los costos habituales de soporte se aplicarán a las preguntas de soporte técnico adicionales y problemas que no guarden relación con esta revisión específica. Para obtener una lista completa de números de teléfono de servicio de atención al cliente y soporte técnico o para crear una solicitud de servicio independiente, visite el siguiente sitio Web:
http://support.microsoft.com/contactus/?ws=support
Nota El formulario "Descarga de revisión disponibles" muestra los idiomas para que la revisión está disponible. Si no ve su idioma, es porque una revisión no está disponible para ese idioma.

Requisitos previos

Debe tener para aplicar este hotfix instalado Microsoft SQL Server 2005 Service Pack 1 (SP1).

Para obtener más información acerca de cómo obtener SQL Server 2005 Service Pack 1, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
913089Cómo obtener el service pack más reciente para SQL Server 2005

Información de reinicio

No es necesario reiniciar el equipo después de aplicar este hotfix.

Información del registro

No es necesario cambiar el registro.

Información de archivos de hotfix

Este hotfix contiene sólo los archivos necesarios para corregir los problemas recogidos en este artículo. Esta revisión no puede contenga todos los archivos que debe tener para actualizar plenamente un producto a la compilación más reciente.La versión en inglés de este hotfix tiene los atributos de archivo (o atributos de último archivo) mostrados en la siguiente tabla. Las fechas y las horas de estos archivos se muestran en hora universal coordinada (UTC). La información de los archivos se convertirá a la hora local cuando la vea. Para averiguar la diferencia entre hora UTC y la hora local, utilice la ficha zona horaria el elemento fecha y hora en el panel de control.
SQL Server 2005 versión 32
Contraer esta tablaAmpliar esta tabla
Nombre de archivoArchivo VersiónTamaño del archivoFechaTiempoPlataforma
Bcp.exe2005.90.2232.069,48809-Mayo de 200719: 36x 86
Databasemailengine.dll9.0.2232.075,12009-Mayo de 200719: 36x 86
Logread.exe2005.90.2232.0400,75209-Mayo de 200719: 37x 86
Microsoft.AnalysisServices.AdomdClient.dll9.0.2232.0546,16009-Mayo de 200719: 37x 86
Microsoft.AnalysisServices.deploymentengine.dll9.0.2232.0140,65609-Mayo de 200719: 37x 86
Microsoft.AnalysisServices.dll9.0.2232.01,217,90409-Mayo de 200719: 37x 86
Microsoft.SqlServer.mgdsqldumper.dll2005.90.2232.078,19209-Mayo de 200719: 37x 86
Microsoft.SqlServer.SqlEnum.dll9.0.2232.0910,70409-Mayo de 200719: 37x 86
Msasxpress.dll9.0.2232.024,94409-Mayo de 200719: 37x 86
Msgprox.dll2005.90.2232.0200,56009-Mayo de 200719: 37x 86
Msmdlocal.dll9.0.2232.015,646,06409-Mayo de 200719: 37x 86
Msmdredir.dll9.0.2232.03,993,96809-Mayo de 200719: 37x 86
Odsole70.dll2005.90.2232.059,76009-Mayo de 200719: 37x 86
Qrdrsvc.exe2005.90.2232.0369,52009-Mayo de 200719: 37x 86
Rdistcom.dll2005.90.2232.0643,44009-Mayo de 200719: 37x 86
Repldp.dll2005.90.2232.0187,24809-Mayo de 200719: 37x 86
Replmerg.exe2005.90.2232.0320,88009-Mayo de 200719: 37x 86
Replprov.dll2005.90.2232.0550,25609-Mayo de 200719: 37x 86
Replrec.dll2005.90.2232.0784,75209-Mayo de 200719: 37x 86
Replsub.dll2005.90.2232.0407,40809-Mayo de 200719: 37x 86
Spresolv.dll2005.90.2232.0177,00809-Mayo de 200719: 37x 86
Sqlaccess.dll2005.90.2232.0350,57609-Mayo de 200719: 37x 86
Sqlagent90.exe2005.90.2232.0321,39209-Mayo de 200719: 37x 86
Sqlservr.exe2005.90.2232.028,979,11209-Mayo de 200719: 37x 86
Sqsrvres.dll2005.90.2232.066,41609-Mayo de 200719: 37x 86
Xmlsub.dll2005.90.2232.0195,44009-Mayo de 200719: 37x 86
Xpstar90.dll2005.90.2232.0295,28009-Mayo de 200719: 37x 86
Xpstar90.rll2005.90.2232.0155,50409-Mayo de 200719: 37x 86
SQL Server 2005 x versión de 64 bits
Contraer esta tablaAmpliar esta tabla
Nombre de archivoArchivo VersiónTamaño del archivoFechaTiempoPlataforma
Bcp.exe2005.90.2232.088,94409-Mayo de 200716: 46x 64
Databasemailengine.dll9.0.2232.075,12009-Mayo de 200716: 46x 86
Logread.exe2005.90.2232.0525,16809-Mayo de 200716: 46x 64
Microsoft.AnalysisServices.AdomdClient.dll9.0.2232.0546,16009-Mayo de 200716: 46x 86
Microsoft.AnalysisServices.AdomdClient.dll9.0.2232.0546,16009-Mayo de 200719: 37x 86
Microsoft.AnalysisServices.deploymentengine.dll9.0.2232.0140,65609-Mayo de 200719: 37x 86
Microsoft.AnalysisServices.dll9.0.2232.01,217,90409-Mayo de 200719: 37x 86
Microsoft.SqlServer.mgdsqldumper.dll2005.90.2232.094,06409-Mayo de 200716: 46x 64
Microsoft.SqlServer.mgdsqldumper.dll2005.90.2232.078,19209-Mayo de 200719: 37x 86
Microsoft.SqlServer.SqlEnum.dll9.0.2232.0877,93609-Mayo de 200716: 46x 86
Msasxpress.dll9.0.2232.030,06409-Mayo de 200716: 46x 64
Msasxpress.dll9.0.2232.024,94409-Mayo de 200719: 37x 86
Msgprox.dll2005.90.2232.0262,00009-Mayo de 200716: 46x 64
Msmdlocal.dll9.0.2232.015,646,06409-Mayo de 200719: 37x 86
Msmdredir.dll9.0.2232.03,993,96809-Mayo de 200719: 37x 86
Odsole70.dll2005.90.2232.090,99209-Mayo de 200716: 46x 64
Qrdrsvc.exe2005.90.2232.0434,03209-Mayo de 200716: 46x 64
Rdistcom.dll2005.90.2232.0836,46409-Mayo de 200716: 46x 64
Repldp.dll2005.90.2232.0237,93609-Mayo de 200716: 46x 64
Repldp.dll2005.90.2232.0187,24809-Mayo de 200719: 37x 86
Replmerg.exe2005.90.2232.0417,64809-Mayo de 200716: 46x 64
Replprov.dll2005.90.2232.0747,88809-Mayo de 200716: 46x 64
Replrec.dll2005.90.2232.01,010,54409-Mayo de 200716: 46x 64
Replsub.dll2005.90.2232.0528,24009-Mayo de 200716: 46x 64
Spresolv.dll2005.90.2232.0225,64809-Mayo de 200716: 46x 64
Sqlaccess.dll2005.90.2232.0357,74409-Mayo de 200716: 46x 86
Sqlagent90.exe2005.90.2232.0392,56009-Mayo de 200716: 46x 64
Sqlservr.exe2005.90.2232.039,373,16809-Mayo de 200716: 46x 64
Sqsrvres.dll2005.90.2232.078,19209-Mayo de 200716: 46x 64
Xmlsub.dll2005.90.2232.0319,85609-Mayo de 200716: 46x 64
Xpstar90.dll2005.90.2232.0543,60009-Mayo de 200716: 46x 64
Xpstar90.rll2005.90.2232.0156,01609-Mayo de 200716: 46x 64

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "La información de este artículo se refiere a:".

Referencias

Para obtener más información sobre el mismo problema en Microsoft SQL Server 2000, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
816937REVISIÓN: Se puede producir una pérdida de memoria cuando se utiliza el procedimiento almacenado sp_OAMethod para llamar a un método de un objeto COM
Para obtener más información sobre el esquema de nomenclatura para las actualizaciones de SQL Server, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
822499Nuevo esquema de nomenclatura para los paquetes de actualización del software de Microsoft SQL Server
Para obtener más información acerca de la terminología relativa de la actualización de software, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
824684Descripción de la terminología estándar utilizada para describir las actualizaciones de software de Microsoft

Más información

En la siguiente secuencia de comandos de ejemplo, se utiliza el procedimiento almacenado sp_OAMethod y el procedimiento de sp_OAGetProperty almacenado para obtener resultados mediante el parámetro OUTPUT . If you run this script repeatedly on a new connection to SQL Server 2005, a memory leak occurs every time.
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
Además, puede experimentar una infracción de acceso porque se produce el problema que se describe en la sección "Síntomas". El archivo de registro de error SQL incluirá la siguiente información:
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
la corrección para este problema está en el archivo de Odsole70.dll. La primera versión fija del binario es 2005.90.2232.0.

Microsoft SQL Server 2005 Service Pack 2 (SP2) no incluye este binario fijo. Si experimenta este problema en SQL Server 2005 SP2, debe instalar una actualización acumulativa para corregir este problema.

La primera actualización acumulativa que incluye esta revisión es paquete de actualización acumulativa 2 de SQL Server 2005 SP2. La generación de esta actualización está 09.00.3175. Por lo tanto, puede instalar la actualización acumulativa más reciente para SQL Server 2005 o cualquier actualización acumulativa que se publicó después junio de 2007 para resolver este problema.

Para obtener más información acerca de las actualizaciones acumulativas para SQL Server 2005 Service Pack 2, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
937137Compilaciones de SQL Server 2005 que se publicaron después del lanzamiento de SQL Server 2005 Service Pack 2

Propiedades

Id. de artículo: 937277 - Última revisión: miércoles, 10 de septiembre de 2008 - Versión: 4.0
La información de este artículo se refiere a:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Enterprise X64 Edition
Palabras clave: 
kbmt kbautohotfix kbhotfixserver kbfix kbexpertiseadvanced kbqfe kbpubtypekc KB937277 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 937277

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com