Iniciar sesión con Microsoft
Iniciar sesión o crear una cuenta
Hola:
Seleccione una cuenta diferente.
Tiene varias cuentas
Elija la cuenta con la que desea iniciar sesión.

Microsoft distribuye Microsoft SQL Server 2008 y Microsoft SQL Server 2008 R2 corrige 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 que se incluyeron con la anterior de SQL Server 2008 o SQL Server 2008 R2.

Síntomas

Imagine la siguiente situación:

  • Crear un procedimiento almacenado de Microsoft SQL Server 2008 o en Microsoft SQL Server 2008 R2.

  • El procedimiento almacenado utiliza una variable de objeto binario grande (BLOB).

  • Se utiliza la variable de objeto binario en una función de cadena.

  • Ejecute el procedimiento almacenado.

En este escenario, el plan de consulta para el procedimiento almacenado no se almacenarán.

Solución

Información sobre la actualización acumulativa

SQL Server 2008 Service Pack 1

La corrección para este problema se publicó en primer lugar en 10 de actualización acumulativa para SQL Server 2008 Service Pack 1. 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:

2279604 Paquete de actualización acumulativa 10 para SQL Server 2008 Service Pack 1Nota Como las compilaciones son acumulativas, cada versión de corrección nueva contiene todas las revisiones y revisión de todas las revisiones de seguridad que se incluyeron con la anterior de SQL Server 2008. Microsoft recomienda que considere la posibilidad de aplicar la versión más reciente de revisión 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:

970365 Compilaciones de SQL Server 2008 que se publicaron después del lanzamiento de SQL Server 2008 Service Pack 1 Las revisiones de Microsoft SQL Server 2008 se crean para determinados service Pack de SQL Server. Debe aplicar un hotfix de SQL Server 2008 Service Pack 1 en una instalación de SQL Server 2008 Service Pack 1. De forma predeterminada, cualquier hotfix suministrada en un service pack de SQL Server se incluye en el próximo service pack de SQL Server.

SQL Server 2008 Service Pack 2

La corrección para este problema se publicó primero en la actualización acumulativa 1 para SQL Server 2008 Service Pack 2. 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:

2289254 Actualización acumulativa 1 de SQL Server 2008 Service Pack 2Nota Como las compilaciones son acumulativas, cada versión de corrección nueva contiene todas las revisiones y revisión de todas las revisiones de seguridad que se incluyeron con la anterior de SQL Server 2008. Le recomendamos que considere aplicar la versión más reciente de revisión 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:

2402659 Compilaciones de SQL Server 2008 que se publicaron después del lanzamiento de SQL Server 2008 Service Pack 2

SQL Server 2008 R2

La corrección para este problema en primer lugar se publicó en la actualización acumulativa 4. 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:

2345451 Paquete de actualización acumulativa 4 para SQL Server 2008 R2 Nota Como las compilaciones son acumulativas, cada versión de corrección nueva contiene todas las revisiones y revisión de todas las revisiones de seguridad que se incluyeron con la anterior de SQL Server 2008 R2. Le recomendamos que considere aplicar la versión más reciente de revisión 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 Compilaciones de SQL Server 2008 R2 que se publicaron después del lanzamiento de SQL Server 2008 R2

Estado

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

Más información

Para reproducir este problema, siga estos pasos:

  1. Ejecute el siguiente código crear dos procedimientos almacenados de ("p_test1" y "p_test2"). Una variable BLOB se utiliza "P_test1" y "p_test2" se utiliza una variable nvarchar (100).use tempdbgoif OBJECT_ID('p_test1') is not null drop proc p_test1if OBJECT_ID('p_test2') is not null drop proc p_test2gocreate proc p_test1@s nvarchar(max)asbeginselect * from sys.objects where name = UPPER(@s)endgocreate proc p_test2@s nvarchar(100)asbeginselect * from sys.objects where name = UPPER(@s)endgo

  2. Ejecute el código siguiente para borrar la caché de procedimiento y ejecutar los dos procedimientos almacenados:dbcc freeproccachegoexec p_test1 N'abc'exec p_test2 N'abc'go

  3. Ejecute el código siguiente para comprobar el plan almacenado en caché: select object_name(CONVERT(int, a.value)), cp.*from sys.dm_exec_cached_plans cpcross apply sys.dm_exec_plan_attributes(cp.plan_handle) awhere cp.objtype = 'Proc'and a.attribute = 'objectid'

Nota: Si hay muchas ejecuciones simultáneas de este tipo de procedimiento almacenado de Microsoft SQL Server 2008 o una instancia de Microsoft SQL Server 2008 R2, puede experimentar el bloqueo causado por los bloqueos de compilación en la instancia. Para obtener más información acerca de la descripción de SQL Server bloqueo causado por bloqueos de compilación, consulte el siguiente artículo de Microsoft Knowledge Base:

263889 Descripción de SQL Server bloqueo causado por bloqueos de compilación

Referencias

Para obtener más información acerca de las funciones de cadena (Transact-SQL), visite el siguiente sitio Web de Microsoft:

Funciones de cadena (Transact-SQL)Para obtener más información sobre el modelo de servicio Incremental de SQL Server, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

935897 Un modelo de servicio Incremental está disponible desde el equipo de SQL Server para entregar revisiones para problemas detectadosPara 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 ServerPara 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 utilizada para describir las actualizaciones de software de Microsoft

¿Necesita más ayuda?

¿Quiere más opciones?

Explore las ventajas de las suscripciones, examine los cursos de aprendizaje, aprenda a proteger su dispositivo y mucho más.

Las comunidades le ayudan a formular y responder preguntas, enviar comentarios y leer a expertos con conocimientos extensos.

¿Le ha sido útil esta información?

¿Cuál es tu grado de satisfacción con la calidad del lenguaje?
¿Qué ha afectado a su experiencia?
Si presiona Enviar, sus comentarios se usarán para mejorar los productos y servicios de Microsoft. El administrador de TI podrá recopilar estos datos. Declaración de privacidad.

¡Gracias por sus comentarios!

×