Puede experimentar una disminución del rendimiento de consulta después de realizar determinadas operaciones de transacción normal o a operaciones de mantenimiento de la base de datos en SQL Server 2005

Seleccione idioma Seleccione idioma
Id. de artículo: 917828 - Ver los productos a los que se aplica este artículo
Nº de error: 329155 (SQLBUDT)
Expandir todo | Contraer todo

Síntomas

En Microsoft SQL Server 2005, puede experimentar una disminución del rendimiento de consulta después de realizar determinadas operaciones de transacción normal o a operaciones de mantenimiento de la base de datos. Por ejemplo, puede observar una disminución repentina de rendimiento de consulta después de restaurar una copia de seguridad de la base de datos.

A partir de SQL Server 2005 Service Pack 2, observará los mensajes como siguiente en el registro de error de SQL Server cuando se produce este problema:
2006-10-15 06:03:29.330 spid59 SQL Server ha encontrado 4 apariciones de vaciado cachestore para el cachestore 'Objeto planes' (parte de la caché de planes) debido a algunos mantenimiento de base de datos o volver a configurar operaciones.
2006-10-15 06:03:29.420 spid59 SQL Server ha encontrado 4 apariciones de vaciado cachestore para el cachestore 'Planes SQL' (parte de la caché de planes) debido a algunos mantenimiento de base de datos o volver a configurar operaciones.
2006-10-15 06:03:29.420 spid59 SQL Server ha detectado 4 apariciones de vaciado cachestore para el cachestore de árboles de enlazado (parte de la caché de planes) debido a algunos mantenimiento de base de datos o volver a configurar operaciones.
Sin embargo, puede ejecutar el comando DBCC FREEPROCCACHE o el comando DBCC FREESYSTEMCACHE para vaciar la caché de procedimiento. Si ejecuta uno de estos comandos se vacíe la caché de procedimientos, observará mensajes similares a los siguientes en el registro de error de SQL Server:
2006-12-14 11:37:03.57 spid53 SQL Server ha encontrado 1 apariciones de cachestore vaciado para el cachestore 'Planes SQL' (parte de la caché de planes) debido a operaciones 'DBCC FREEPROCCACHE' o 'DBCC FREESYSTEMCACHE'.
2006-12-14 11:37:03.57 spid53 SQL Server ha encontrado 1 apariciones de cachestore vaciado para el cachestore de árboles de enlazado (parte de la caché de planes) debido a operaciones 'DBCC FREEPROCCACHE' o 'DBCC FREESYSTEMCACHE'.
Por lo tanto, puede examinar el registro de error de SQL Server para determinar si el problema está ocasionado por el problema descrito en este artículo.

Nota Este comportamiento no se produce en Microsoft SQL Server 2008.

Causa

Este problema se produce porque determinadas operaciones de transacción normal o a operaciones de mantenimiento de la base de datos, borrar la caché de procedimiento completo.

Estado

Este comportamiento es por diseño.

Más información

La caché de procedimiento todo se borra cuando se realizan determinadas operaciones de nivel de base de datos en las situaciones siguientes:
  • Una base de datos tiene la opción de base de datos Auto_Close establecido en ON. Cuando ninguna conexión de usuario se hace referencia a o utiliza la base de datos, la tarea de segundo plano intenta cerrar y apagar automáticamente la base de datos.
  • Se ejecutan varias consultas en una base de datos que tiene las opciones predeterminadas. A continuación, se quita la base de datos.
  • Una instantánea de base de datos para una base de datos de origen se interrumpe.

    Nota Instantáneas de base de datos sólo están disponibles en Microsoft SQL Server 2005 Enterprise Edition.
  • Cambia el estado de la base de datos a OFFLINE o en línea.
  • Correctamente reconstruir el registro de transacciones de una base de datos.
  • Restaurar una copia de seguridad de base de datos.
  • Ejecutar la instrucción DBCC CHECKDB.

    Nota Esto ocurre sólo en versiones de SQL Server 2005 que son anteriores a SQL Server 2005 SP2. Después de instalar SQL Server 2005 SP2 o versiones posteriores, no se vacía la caché de procedimiento todo cuando ejecuta la instrucción DBCC CHECKDB.
  • Separar una base de datos.
  • Especificar una de las siguientes opciones al ejecutar la instrucción ALTER DATABASE:
    • SIN CONEXIÓN
    • EN LÍNEA
    • MODIFICAR GRUPO DE ARCHIVOS PREDETERMINADO
    • MODIFY_NAME
    • MODIFICAR READ_WRITE DE GRUPO DE ARCHIVOS
    • INTERCALAR
    • MODIFICAR GRUPO READ_ONLY
    • READ_ONLY
    • READ_WRITE
  • La caché de procedimiento todo está desactivada si se cambia por la instrucción RECONFIGURE una de las siguientes opciones del servidor:
    • cruz de encadenamiento de propiedad de base de datos
    • index create memory (KB)
    • tiempo de espera de consulta remota (s)
    • Opciones de usuario
    • max text repl tamaño (B)
    • cost threshold for parallelism
    • max degree of parallelism
    • min memory per query (KB)
    • query wait (s)
    • min server memory (MB)
    • max server memory (MB)
    • query governor cost limit
    Nota No se borrará la caché de procedimientos si no cambia el valor real o si el nuevo valor para la opción de servidor max server memory está establecido a 0.
Si experimenta este problema, observa cambios en los siguientes valores al utilizar Monitor de rendimiento para recopilar datos de contadores de rendimiento de SQL Server 2005:
  • objeto de rendimiento: Proceso
    contador: % de tiempo de procesador
    instancia: sqlservr

    El valor de este contador aumentará debido de mayor actividad de CPU. Básicamente, la caché de procedimiento todo está desactivada si se produce este problema. Por lo tanto, las solicitudes subsiguientes deben generar nuevos planes que se va a almacenar en caché. Este comportamiento aumentará ligeramente la actividad de la CPU.
  • objeto de rendimiento: Caché SQLServer:Plan
    contador: Recuentos de objetos de caché
    instancia: _Total

    objeto de rendimiento: Caché SQLServer:Plan
    contador: Páginas de caché
    instancia: _Total

    Los valores de estos contadores se reducirá repentinamente.

    Nota Para una instancia con nombre de SQL Server 2005, el objeto de rendimiento se denomina MSSQL $ InstanceName: caché de planes.
  • objeto de rendimiento: SQLServer: estadísticas de SQL
    contador: SQLCompilations/seg.

    El valor de este contador aumentará significativamente después este incidente.

    Nota Para una instancia con nombre de SQL Server 2005, el objeto de rendimiento se denomina MSSQL $ InstanceName: estadísticas de SQL.
Si captura un seguimiento del Analizador de SQL mediante el evento SP:CacheRemove , verá que este suceso se genera junto con el siguiente valor de columna TextData cuando se produce este problema:
"Vaciados de caché de procedimientos completo"

Propiedades

Id. de artículo: 917828 - Última revisión: martes, 17 de febrero de 2009 - Versión: 7.0
La información de este artículo se refiere a:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Express Edition with Advanced Services
Palabras clave: 
kbmt kbsql2005engine kbexpertiseadvanced kbtshoot kbprb KB917828 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): 917828

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