KB2520808 - CORRECCIÓN: Error del programador que no rinde al ejecutar una consulta que utiliza un TVP en SQL Server 2008 o en SQL Server 2008 R2 si se utiliza SQL Profiler o SQL Server eventos extendidos

Se aplica a
SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Express SQL Server 2008 Express with Advanced Services SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Express SQL Server 2008 R2 Express with Advanced Services SQL Server 2008 R2 Standard

Microsoft distribuye las correcciones de Microsoft SQL Server 2008 R2 como un archivo descargable. Dado que las correcciones son acumulativas, cada nueva versión contiene todas las revisiones y correcciones de seguridad que se incluyeron con la versión anterior de corrección de SQL Server 2008 R2.

Síntomas

Tenga en cuenta el siguiente escenario:

  • Usa un parámetro con valores de tabla (TVP) que contiene muchas filas en un equipo que ejecuta Microsoft SQL Server 2008 o Microsoft SQL Server 2008 R2.
  • Usa SQL Profiler o Eventos extendidos de SQL Server en el servidor.
  • Ejecutan juntos una consulta que usa el TVP.

En este escenario, se produce un error del programador que no rinde y las consultas que ya se ejecutan en el mismo programador se ejecutan lentamente. Además, se genera un archivo de minivolcado en la carpeta de registro de SQL Server.

Causa

Este problema se produce debido a un error en el motor de base de datos de SQL Server. Las columnas de texto en el TVP se implementan como cadenas de inserción o búferes, y un aumento en el número de filas aumenta el número de búferes. Sin embargo, el proceso que libera búferes lleva mucho tiempo. Por lo tanto, se genera un error del programador que no rinde cuando se producen las operaciones de liberación y reducción.

Resolución

Para resolver este problema en SQL Server 2008 R2, utilice uno de los métodos siguientes:

  • Instale el paquete de actualizaciones acumulativas 7 para SQL Server 2008 R2.
  • Instale el siguiente paquete de revisiones.

Para solucionar temporalmente este problema en SQL Server 2008 R2 o en SQL Server 2008, consulte la sección "Solución alternativa".

Información sobre la actualización acumulativa

SQL Server 2008 R2

                
La corrección de este problema se publicó por primera vez en la actualización acumulativa 7. 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:

2507770 paquete de actualización acumulativa 7 para SQL Server 2008 R2 Nota Dado que las compilaciones son acumulativas, cada nueva corrección contiene todas las revisiones y correcciones de seguridad que se incluyeron con la versión de corrección anterior de SQL Server 2008 R2. Recomendamos que se plantee la posibilidad de aplicar la versión de corrección más reciente que contiene 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 Compilaciones de SQL Server 2008 R2 que se publicaron después de SQL Server 2008 R2

Información de la revisión

            
 Microsoft ofrece una revisión compatible. Sin embargo, esta revisión está pensada para corregir únicamente el problema que se describe en este artículo. Aplique esta revisión únicamente a los sistemas que experimenten el problema descrito en este artículo. Es posible que esta revisión reciba pruebas adicionales. Por consiguiente, si no se ve gravemente afectado por este problema, le recomendamos que espere a la siguiente actualización de software que contenga esta revisión.

Si la revisión está disponible para su descarga, hay una sección "Descarga de revisión disponible" en la parte superior de este artículo de Knowledge Base. Si esta sección no aparece, póngase en contacto con el soporte técnico y el servicio al cliente de Microsoft para obtener la revisión.

Nota: si se producen más problemas o necesita alguna solución, es posible que tenga que crear una solicitud de servicio independiente. Se aplicarán los costos habituales de soporte técnico a las preguntas y problemas de soporte técnico adicionales que no estén relacionados con esta revisión específica. Para obtener una lista completa de los números de teléfono del servicio de soporte técnico y de atención al cliente de Microsoft, así como información acerca de cómo crear una solicitud de servicio independiente, visite el siguiente sitio web de Microsoft:

/contactus/?ws=support Nota: El formulario "Descarga de revisiones disponible" muestra los idiomas para los que está disponible la revisión. Si no ve su idioma, se debe a que no hay una revisión disponible para ese idioma.

Requisitos previos

Para aplicar esta corrección, debe tener instalado Microsoft SQL Server 2008 R2.

Requisito de reinicio

No es necesario que reinicie el equipo una vez aplicada esta revisión.

Información de sustitución de la revisión

Esta revisión no reemplaza ninguna revisión publicada anteriormente.

Información de archivo

La versión de esta tiene los atributos de archivo (o atributos posteriores) que se enumeran en la tabla siguiente. Las fechas y horas de estos archivos se expresan de acuerdo con la hora universal coordinada (UTC). La información del archivo se convertirá a la hora local cuando la vea. Para conocer la diferencia entre la hora UTC y la hora local, use la pestaña Zona horaria del elemento Fecha y hora del Panel de control.

Para todas las versiones x86 compatibles de SQL Server 2008 R2

Nombre de archivo File version Tamaño de archivo Fecha Hora Plataforma
Sqlservr.exe 2009.100.1769.0 42,919,776 22 de marzo de 2011 19:37 x86

Para todas las versiones x64 compatibles de SQL Server 2008 R2

Nombre de archivo File version Tamaño de archivo Fecha Hora Plataforma
Sqlservr.exe 2009.100.1769.0 61,974,880 22 de marzo de 2011 18:46 x64

Para todas las versiones IA-64 compatibles de SQL Server 2008 R2

Nombre de archivo File version Tamaño de archivo Fecha Hora Plataforma
Sqlservr.exe 2009.100.1769.0 121,813,856 22 de marzo de 2011 1,814 IA-64

              

              

Solución alternativa

Para resolver este problema, use uno de los métodos siguientes:

  • No use SQL Profiler ni Eventos extendidos de SQL Server.
  • Haga clic para desactivar las casillas RPC:Starting y RPC:Completed de la definición de seguimiento.

Estado

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

Más información

Para obtener más información acerca de TVP, visite el siguiente sitio web de MSDN:

Información general sobre TVP Para obtener más información acerca de SQL Profiler, visite el siguiente sitio web de MSDN:

Información general acerca de SQL Profiler