REVISIÓN: Procedimiento almacenado CLR devuelve NULL después de que se vuelve a compilar en SQL Server 2008 R2 o en SQL Server 2008

Seleccione idioma Seleccione idioma
Id. de artículo: 2536225 - Ver los productos a los que se aplica este artículo
Microsoft distribuye Microsoft SQL Server 2008 R2 o corrige Microsoft SQL Server 2008 como un archivo descargable. Debido a que las revisiones son acumulativas, cada versión nueva contiene todas las revisiones y revisión de todas las revisiones de seguridad que se incluyeron con la anterior SQL Server 2008 R2 o SQL Server de 2008.
Expandir todo | Contraer todo

En esta página

Síntomas

Tenga en cuenta la situación siguiente:
  • Crear un procedimiento común de language runtime (CLR) almacenada para un Microsoft SQL Server 2008 R2 o una base de datos de Microsoft SQL Server 2008.
  • El procedimiento almacenado CLR se implementa como un método estático público que devuelve un valor entero en Microsoft.NET Framework.
  • Ejecutar una aplicación que llama al procedimiento almacenado CLR. El procedimiento almacenado CLR devuelve un valor correcto.
  • Realizar algunas operaciones que se vuelva a compilar el plan de ejecución para el procedimiento almacenado CLR.

    Nota Para obtener más información acerca de cómo volver a compilar el plan de ejecución del procedimiento almacenado, consulte la sección "Más información".
  • Ejecute la aplicación de nuevo.
En este escenario, el procedimiento almacenado CLR devuelve incorrectamente un valor NULL. Además, tiene que reiniciar el servicio de SQL Server para recuperarse de este problema.

Solución

Información sobre la actualización acumulativa

SQL Server 2008 Service Pack 3

La solución a este problema se lanzó primero en la actualización acumulativa 2 para SQL Server 2008 Service Pack 3. Para obtener más información acerca de este paquete de actualización acumulativa, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2633143 Paquete de actualización acumulativa 2 para SQL Server 2008 Service Pack 3
Nota Como las compilaciones son acumulativas, cada nueva versión de revisión contiene todas las revisiones y revisión de todas las revisiones de seguridad que se incluyeron con la anterior SQL Server de 2008. Microsoft recomienda que considere la posibilidad de aplicar la versión más reciente de revisión que contenga esta revisión. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2629969 Se basa el 2008 SQL Server que se publicaron después del lanzamiento de Service Pack 3 de SQL Server de 2008
Las revisiones de Microsoft SQL Server 2008 se crean para determinados SQL Server service Pack. Debe aplicar una revisión de Service Pack 3 de SQL Server de 2008 a una instalación de Service Pack 3 de SQL Server de 2008. De forma predeterminada, cualquier hotfix suministrada en un service pack de SQL Server se incluye en el siguiente service pack de SQL Server.

SQL Server 2008 R2 Service Pack 1

La solución a este problema se lanzó primero en la actualización acumulativa 2 para SQL Server 2008 R2 Service Pack 1. Para obtener más información acerca de cómo obtener este paquete de actualización acumulativa, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2567714 Paquete acumulativo de actualizaciones 2 para SQL Server 2008 R2 Service Pack 1
Nota Como las compilaciones son acumulativas, cada nueva versión de revisión contiene todas las revisiones y revisión de todas las revisiones de seguridad que se incluyeron con la anterior SQL Server 2008 R2. Le recomendamos que considere la posibilidad de aplicar la versión más reciente de revisión que contenga esta revisión. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2567616 SQL Server 2008 R2 generaciones que se publicaron después del lanzamiento de SQL Server 2008 R2 Service Pack 1

SQL Server 2008 R2

La solución a este problema se publicó en primer lugar en 8 de actualización acumulativa. Para obtener más información acerca de cómo obtener este paquete de actualización acumulativa para SQL Server 2008 R2, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2534352 Paquete de actualización acumulativa 8 para SQL Server 2008 R2
Nota Como las compilaciones son acumulativas, cada nueva versión de revisión contiene todas las revisiones y revisión de todas las revisiones de seguridad que se incluyeron con la anterior SQL Server 2008 R2. Le recomendamos que considere la posibilidad de aplicar la versión más reciente de revisión que contenga esta revisión. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
981356 SQL Server 2008 R2 generaciones que se publicaron después del lanzamiento de SQL Server 2008 R2

Más información

Para volver a compilar el plan de ejecución del procedimiento almacenado, realice cualquiera de las siguientes operaciones:
  • Ejecutar el DBCCFREEPROCCACHE instrucción.
  • Ejecutar una de las siguientes instrucciones en una tabla o vista:
    • MODIFICAR TABLA
    • ALTER VIEW
  • Ejecutar un plan de ejecución que cambia o elimina los índices.
  • Realizar una Actualización operación en las estadísticas que se utilizan por el plan de ejecución.

    Nota Puede ejecutar una instrucción para realizar el Actualización operación, o la Actualización operación puede realizarse automáticamente.
  • Ejecutar el sp_recompile instrucción.
  • Realizar muchos cambios en las claves.

    Por ejemplo, utilice una cuenta de usuario que actualice una tabla que hace referencia una instrucción para ejecutar la INSERTAR o ELIMINAR instrucción.
  • Insertar o eliminar el número de filas de una tabla que contiene desencadenadores.
  • Utilice el WITH RECOMPILE opción para ejecutar un procedimiento almacenado.

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Se refiere a:".

Referencias

Para obtener más información acerca de los procedimientos almacenados CLR, visite el siguiente sitio Web MSDN:
Información general acerca de CLR de procedimientos almacenados

Para obtener más información sobre el modelo de servicio Incremental para SQL Server, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
935897Un modelo Incremental de servicio está disponible en el equipo de SQL Server para entregar revisiones para problemas detectados
Para obtener más información acerca del 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 de software de Microsoft SQL Server
Para obtener más información acerca de la terminología de la actualización de software, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
824684 Descripción de la terminología estándar que se utiliza para describir las actualizaciones de software de Microsoft

Propiedades

Id. de artículo: 2536225 - Última revisión: martes, 22 de noviembre de 2011 - Versión: 4.0
La información de este artículo se refiere a:
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Web
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2008 Workgroup
Palabras clave: 
kbqfe kbfix kbexpertiseadvanced kbsurveynew kbmt KB2536225 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): 2536225

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