Microsoft distribuye las soluciones Microsoft SQL Server 2008 R2 o Microsoft SQL Server 2008 como un archivo que se puede descargar. Debido a que las correcciones son acumulativas, cada versión nueva contiene todas las revisiones y todas las revisiones de seguridad incluidas en la versión anterior de SQL Server 2008 R2 o de SQL Server 2008.
Síntomas
Imagine la siguiente situación:
-
Cree un procedimiento almacenado de Common Language Runtime (CLR) para Microsoft SQL Server 2008 R2 o una base de datos de Microsoft SQL Server 2008.
-
El procedimiento almacenado de CLR se implementa como un método público estático que devuelve un valor entero en Microsoft .NET Framework.
-
Ejecuta una aplicación que llama al procedimiento almacenado de CLR. El procedimiento almacenado de CLR devuelve un valor correcto.
-
Se realizan algunas operaciones que recompilan el plan de ejecución del procedimiento almacenado de CLR.Nota Para obtener más información sobre cómo volver a compilar el plan de ejecución del procedimiento almacenado, consulte la sección "más información".
-
Vuelva a ejecutar la aplicación.
En este escenario, el procedimiento almacenado de CLR devuelve incorrectamente un valor NULL. Además, debe reiniciar el servicio SQL Server para poder recuperarse de este problema.
Resolución
Información sobre la actualización acumulativa
Service Pack 3 de SQL Server 2008
La corrección para este problema se publicó por primera vez 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 3Nota Como las compilaciones son acumulativas, cada nueva versión de corrección contiene todas las revisiones y todas las revisiones de seguridad incluidas en la versión anterior de corrección de SQL Server 2008. Microsoft recomienda que considere la posibilidad de aplicar la versión de corrección más reciente que contenga este Hotfix. Si desea obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2629969 Las compilaciones de SQL Server 2008 que se lanzaron después de que se publicó SQL Server 2008 Service Pack 3 Los Hotfix 2008 de Microsoft SQL Server se crean para determinados Service Packs de SQL Server. Debe aplicar una revisión de SQL Server 2008 Service Pack 3 a una instalación de SQL Server 2008 Service Pack 3. De forma predeterminada, cualquier Hotfix proporcionado en un Service Pack de SQL Server se incluye en el siguiente Service Pack de SQL Server.
Service Pack 1 de SQL Server 2008 R2
La corrección para este problema se publicó por primera vez 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 de actualización acumulativa 2 para SQL Server 2008 R2 Service Pack 1Nota Como las compilaciones son acumulativas, cada nueva versión de corrección contiene todas las revisiones y todas las revisiones de seguridad incluidas en la versión anterior de corrección de SQL Server 2008 R2. Le recomendamos que considere la posibilidad de aplicar la versión de corrección más reciente que contenga este Hotfix. Si desea obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2567616 Las compilaciones de SQL Server 2008 R2 que se publicaron después de que se publicó SQL Server 2008 R2 Service Pack 1
SQL Server 2008 R2
La corrección para este problema se publicó por primera vez en la actualización acumulativa 8. Para obtener más información sobre 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 corrección contiene todas las revisiones y todas las revisiones de seguridad incluidas en la versión anterior de corrección de SQL Server 2008 R2. Le recomendamos que considere la posibilidad de aplicar la versión de corrección más reciente que contenga este Hotfix. Si desea obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
981356 Las compilaciones de SQL Server 2008 R2 que se lanzaron después de publicar 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 acciones:
-
Ejecute la instrucción DBCCFREEPROCCACHE .
-
Ejecute una de las siguientes instrucciones en una tabla o vista:
-
MODIFICAR TABLA
-
ALTER VIEW
-
-
Ejecute un plan de ejecución que cambie o elimine los índices.
-
Realizar una operación de actualización en las estadísticas que se usan en el plan de ejecución. Nota Puede ejecutar una instrucción para realizar la operación de actualización o la operación de actualización se puede realizar automáticamente.
-
Ejecute la instrucción sp_recompile .
-
Realice muchos cambios en las claves. Por ejemplo, use una cuenta de usuario que actualice una tabla a la que hace referencia una instrucción para ejecutar la instrucción Insert o Delete .
-
Insertar o eliminar varias filas de una tabla que contiene desencadenadores.
-
Use la opción with Recompile para ejecutar un procedimiento almacenado.
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft recogidos en la sección "Se aplica a".
Referencias
Para obtener más información sobre los procedimientos almacenados de CLR, visite el siguiente sitio web de MSDN:
Información general sobre los procedimientos almacenados de CLRPara obtener más información sobre el modelo de mantenimiento incremental para SQL Server, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
935897 Un modelo de servicio incremental disponible en el equipo de SQL Server para ofrecer revisiones para problemas detectadosPara obtener más información sobre el esquema de nomenclatura de 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 ServerPara obtener más información acerca de la terminología de actualizaciones 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 utilizada para describir las actualizaciones de software de Microsoft