REVISIÓN: Rendimiento del sistema puede ser lento cuando una aplicación envía muchas consultas contra una base de datos SQL Server 2005 que utilice parametrización simple

Seleccione idioma Seleccione idioma
Id. de artículo: 920206 - 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

Resumen

En este artículo describe lo siguiente acerca de esta versión de revisión:
  • Los problemas que corrigen este 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

Considere el siguiente escenario: una aplicación envía muchas consultas contra una base de datos de Microsoft SQL Server 2005. Las consultas de tengan de consulta idénticas y declarar los mismos parámetros. Sin embargo, las consultas también tienen diferentes combinaciones de precisión y escala para los valores del tipo de datos numéricos en la cadena de declaración de parámetro. La base de datos SQL Server 2005 utiliza parametrización simple. En este escenario, el rendimiento del sistema de SQL Server 2005 puede ser lento. Además, puede experimentar un elevado uso de CPU.

Este problema se produce con más frecuencia cuando la base de datos de SQL Server 2005 es grande y en un escenario intenso.

Nota El comportamiento predeterminado de una base de datos de SQL Server 2005 es utilizar parametrización simple.

Causa

Este problema se produce porque SQL Server debe examinar muchas consultas para buscar el una consulta que es una coincidencia para el texto de consulta, los parámetros y la cadena de declaración de parámetro.

Solución

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

Para aplicar este hotfix, debe tener instalado en el equipo 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 acerca de la sustitución de la revisión

Este hotfix no sustituye a otros hotfix.

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 contener 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.
revisión de SQL Server 2005, 32 bits
Contraer esta tablaAmpliar esta tabla
Nombre de archivoArchivo VersiónTamaño del archivoFechaTiempoPlataforma
Microsoft.SqlServer.mgdsqldumper.dll2005.90.2164.075,55214-Jun-200620: 29x 86
Microsoft.SqlServer.SqlEnum.dll9.0.2164.0908,06414-Jun-200620: 32x 86
Msgprox.dll2005.90.2164.0197,92014-Jun-200620: 29x 86
Msmdlocal.dll9.0.2164.015,661,85614-Jun-200620: 33x 86
Mssqlsystemresource.ldfNo aplicable524.28814-Jun-200614: 23No aplicable
Mssqlsystemresource.mdfNo aplicable39,911,42414-Jun-200614: 23No aplicable
Replprov.dll2005.90.2164.0547,61614-Jun-200620: 31x 86
Replrec.dll2005.90.2164.0782,11214-Jun-200620: 32x 86
Sqlaccess.dll2005.90.2164.0347,93614-Jun-200620: 31x 86
Sqlservr.exe2005.90.2164.028,950,87214-Jun-200620: 33x 86
revisión de SQL Server 2005, 64 bits
Contraer esta tablaAmpliar esta tabla
Nombre de archivoArchivo VersiónTamaño del archivoFechaTiempoPlataforma
Microsoft.SqlServer.mgdsqldumper.dll2005.90.2164.075,55214-Jun-200620: 29x 86
Microsoft.SqlServer.mgdsqldumper.dll2005.90.2164.091,42414-Jun-200610: 21x 64
Microsoft.SqlServer.SqlEnum.dll9.0.2164.0875,29614-Jun-200621: 12x 86
Msgprox.dll2005.90.2164.0259,36014-Jun-200610: 21x 64
Msmdlocal.dll9.0.2164.015,661,85614-Jun-200620: 33x 86
Mssqlsystemresource.ldfNo aplicable524.28814-Jun-200614: 23No aplicable
Mssqlsystemresource.mdfNo aplicable39,911,42414-Jun-200614: 23No aplicable
Replprov.dll2005.90.2164.0745,24814-Jun-200621: 12x 64
Replrec.dll2005.90.2164.01,008,41614-Jun-200621: 12x 64
Sqlaccess.dll2005.90.2164.0355,10414-Jun-200621: 11x 86
Sqlservr.exe2005.90.2164.039,251,23214-Jun-200621: 13x 64
revisión de SQL Server 2005, para procesadores Itanium de 64 bits
Contraer esta tablaAmpliar esta tabla
Nombre de archivoArchivo VersiónTamaño del archivoFechaTiempoPlataforma
Microsoft.SqlServer.mgdsqldumper.dll2005.90.2164.0163,10414-Jun-200620: 29IA-64
Microsoft.SqlServer.mgdsqldumper.dll2005.90.2164.075,55214-Jun-200620: 29x 86
Microsoft.SqlServer.SqlEnum.dll9.0.2164.0875,29614-Jun-200620: 29x 86
Msgprox.dll2005.90.2164.0542,49614-Jun-200620: 28IA-64
Msmdlocal.dll9.0.2164.048,733,98414-Jun-200620: 30IA-64
Mssqlsystemresource.ldfNo aplicable524.28814-Jun-200614: 23No aplicable
Mssqlsystemresource.mdfNo aplicable39,911,42414-Jun-200614: 23No aplicable
Replprov.dll2005.90.2164.01,617,18414-Jun-200620: 29IA-64
Replrec.dll2005.90.2164.02,141,47214-Jun-200620: 29IA-64
Sqlaccess.dll2005.90.2164.0349,47214-Jun-200620: 28x 86
Sqlservr.exe2005.90.2164.072,208,67214-Jun-200620: 30IA-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:".

Solución

Para evitar este problema, utilice parametrización explícita en la aplicación cliente. Cuando utilice parametrización explícita en la aplicación cliente, plan de sólo ejecución crea y almacena en la caché de procedimiento. En esta solución, rendimiento del sistema de SQL Server 2005 se ejecuta como se esperaba.

Para obtener más información sobre la parametrización explícita y plan de ejecución reutilizar, visite el siguiente sitio Web de Microsoft Developer Network (MSDN):
http://msdn2.microsoft.com/en-us/library/ms175580.aspx

Más información

Cuando una aplicación envía muchas consultas de una base de datos de SQL Server 2005, el plan de ejecución para cada consulta debe estar presente en la caché de procedimiento antes de poder ejecutar la consulta.

Nota Si el plan de ejecución de una consulta específica no está presente en la caché de procedimientos, SQL Server compila la consulta, escribe el plan de ejecución de la consulta en la caché de procedimientos y, a continuación, ejecuta la consulta.

Cuando SQL Server 2005, se recupera un plan de ejecución en caché para una consulta específica de la caché de procedimientos, SQL Server identifica el correspondiente plan de ejecución mediante una clave hash que se ha derivado cuando se compila la consulta. La versión de lanzamiento original de SQL Server 2005 deriva claves hash sólo el texto de consulta y omite la cadena de declaración de parámetro. Cuando SQL Server 2005 deriva claves hash sólo el texto de consulta, SQL Server 2005 pone las claves de hash de todas las consultas que tienen texto de consulta idénticas y los mismos parámetros en el mismo cubo hash. Este comportamiento se produce incluso si cada consulta tiene una combinación diferente de precisión y escala de los valores numéricos en la cadena de declaración de parámetro. Cuando intente recuperar un plan de ejecución de consultas en caché de la caché de procedimiento para una consulta específica SQL Server 2005, SQL Server debe examinar todos los consulta planes de ejecución en el cubo hash correspondiente para buscar el plan de ejecución de una consulta que coincide con el texto de consulta, los parámetros y la cadena de declaración de parámetro.

Después de aplicar este hotfix, SQL Server 2005 deriva claves hash el texto de consulta y la cadena de declaración de parámetro. Cuando una nueva consulta tiene una combinación de precisión y escala de los valores numéricos en la cadena de declaración de parámetro no coincide con otra consulta existente, SQL Server 2005 coloca la clave hash para la nueva consulta en un nuevo depósito de hash. SQL Server 2005 coloca la clave hash para la nueva consulta en un nuevo depósito de hash, incluso cuando la nueva consulta tiene texto de consulta idénticas y los mismos parámetros que otra consulta existente. Por tanto, cuando SQL Server 2005 intenta recuperar los planes de ejecución en caché de la caché de procedimiento para la nueva consulta, el cubo hash correspondiente contiene sólo una consulta para SQL Server Examinar.

En este escenario de resolución de la revisión, SQL Server 2005 todavía tiene muchos planes de ejecución. Esto ocurre porque se crea un plan de ejecución independiente para cada consulta que tiene una nueva combinación de precisión y escala de los valores numéricos en la cadena de declaración de parámetro. Cada plan de ejecución requiere recursos de sistema de SQL Server 2005 para crear el plan de ejecución. Cada plan de ejecución requiere recursos del sistema de SQL Server 2005 para almacenar el plan de ejecución en la caché de procedimientos. Dado que el escenario de resolución de la revisión requiere muchos recursos del sistema de SQL Server 2005, el rendimiento del sistema de SQL Server 2005 puede ser más lento de lo esperado.
Para obtener más información, 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

Propiedades

Id. de artículo: 920206 - Última revisión: martes, 20 de noviembre de 2007 - Versión: 1.8
La información de este artículo se refiere a:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Developer Edition
Palabras clave: 
kbmt kbautohotfix kbbug kbfix kbtshoot kbhotfixserver kbqfe kbpubtypekc KB920206 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): 920206

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