Optimizar el rendimiento de tempdb

Actualizado: 5 de diciembre de 2005

El tamaño y la ubicación física de la base de datos tempdb puede afectar al rendimiento de un sistema. Por ejemplo, si el tamaño definido en tempdb es demasiado pequeño, parte de la carga de procesamiento del sistema puede deberse al crecimiento automático de tempdb hasta el tamaño necesario para admitir la carga de trabajo cada vez que se reinicia la instancia de SQL Server. Para evitar esta sobrecarga, aumente el tamaño de los archivos de registro y de datos de tempdb. Para obtener información acerca de cómo determinar la cantidad de espacio en disco adecuada para tempdb, vea Planeamiento de capacidad para tempdb.

Recomendaciones sobre el tamaño y la ubicación de tempdb

Para obtener un rendimiento óptimo de tempdb, se recomienda la configuración siguiente al utilizar tempdb en un entorno de producción:

  • Establezca el modelo de recuperación de tempdb en SIMPLE. Este modelo recupera espacio del registro para mantener bajos los requisitos de espacio.
    Para obtener más información, vea ALTER DATABASE (Transact-SQL) o Cómo ver o cambiar el modelo de recuperación de una base de datos (SQL Server Management Studio).

  • Permita que los archivos de tempdb crezcan automáticamente cuando sea necesario. De este modo, el archivo podrá crecer hasta que el disco esté lleno.

    [!NOTA] Si el entorno de producción no puede tolerar los tiempos de espera de aplicaciones que podrían producirse durante las operaciones de crecimiento automático, asigne espacio previamente para acomodar la carga de trabajo esperada.

  • Establezca el incremento de crecimiento de archivos en un tamaño razonable para evitar que los archivos de la base de datos tempdb crezcan en un porcentaje demasiado pequeño. Si el crecimiento de los archivos es demasiado pequeño comparado con la cantidad de datos que se escriben en tempdb, es posible que sea necesario expandir tempdb constantemente. Esto afectará al rendimiento. Se recomienda seguir estas directrices generales al establecer el incremento de FILEGROWTH para archivos de tempdb.

    Tamaño de archivos de tempdb Incremento de FILEGROWTH

    De 0 a 100 MB

    10 MB

    De 100 a 200 MB

    20 MB

    200 MB o superior

    10%*

    * Podría ser necesario ajustar este porcentaje en función de la velocidad del subsistema de E/S en que estén ubicados los archivos de tempdb. Para evitar que se produzcan tiempos de espera de pestillos, se recomienda limitar la operación de crecimiento automático a unos dos minutos. Por ejemplo, si el subsistema de E/S puede inicializar un archivo a 50 MB por segundo, se deberá establecer el incremento de FILEGROWTH en 6 GB como máximo, independientemente del tamaño de los archivos de tempdb. Siempre que sea posible, use la inicialización de archivos de base de datos instantánea para mejorar el rendimiento de las operaciones de crecimiento automático.

  • Asigne espacio previamente para todos los archivos de tempdb estableciendo el tamaño de archivo en un valor lo suficientemente alto para acomodar la carga de trabajo habitual del entorno. Así se evita que tempdb se expanda con demasiada frecuencia, lo que puede afectar al rendimiento. La base de datos tempdb debe establecerse de modo que crezca automáticamente, pero sólo con el fin de aumentar el espacio en disco para las excepciones no previstas.

  • Cree tantos archivos como sea necesario para maximizar el ancho de banda del disco. El uso de varios archivos reduce la contención de almacenamiento de tempdb y produce una escalabilidad considerablemente superior. No obstante, no cree demasiados archivos porque podría disminuir el rendimiento y aumentar la carga administrativa. Como regla general, cree un archivo de datos por CPU del servidor (teniendo en cuenta la configuración de affinity mask) y, a continuación, aumente o disminuya el número de archivos según sea necesario. Tenga en cuenta que una CPU de doble núcleo se cuenta como dos CPU.

  • Asigne a cada archivo de datos el mismo tamaño para obtener un rendimiento óptimo de relleno proporcional.

  • Coloque la base de datos tempdb en un subsistema de E/S rápido. Cree bandas en disco si hay muchos discos conectados directamente.

  • Coloque la base de datos tempdb en discos diferentes de los que utilizan las bases de datos de usuario.

Para obtener recomendaciones adicionales, vea Trabajar con tempdb en SQL Server 2005.

Modificar los parámetros de tamaño y de crecimiento de tempdb

Puede modificar los parámetros de tamaño y de crecimiento de archivos de los archivos de datos o de registro de tempdb mediante uno de los métodos siguientes:

Los valores de los parámetros de tamaño y de crecimiento de archivos se usan cuando se crea tempdb. Por ejemplo, si aumenta el tamaño del archivo de datos de tempdb a 20 MB y el incremento de crecimiento de archivos al 15%, los nuevos valores se aplican inmediatamente. Si las actividades transaccionales posteriores producen el crecimiento de tempdb, el archivo de datos volverá al tamaño de 20 MB cada vez que se reinicie la instancia de SQL Server.

Ver los parámetros de tamaño y de crecimiento de tempdb

Puede ver los parámetros de tamaño y de crecimiento de archivos de los archivos de datos o de registro de tempdb mediante uno de los métodos siguientes:

  • SQL Server Management Studio

  • Ejecutando la siguiente consulta.

    SELECT 
        name AS FileName, 
        size*1.0/128 AS FileSizeinMB,
        CASE max_size 
            WHEN 0 THEN 'Autogrowth is off.'
            WHEN -1 THEN 'Autogrowth is on.'
            ELSE 'Log file will grow to a maximum size of 2 TB.'
        END,
        growth AS 'GrowthValue',
        'GrowthIncrement' = 
            CASE
                WHEN growth = 0 THEN 'Size is fixed and will not grow.'
                WHEN growth > 0 AND is_percent_growth = 0 
                    THEN 'Growth value is in 8-KB pages.'
                ELSE 'Growth value is a percentage.'
            END
    FROM tempdb.sys.database_files;
    GO
    

Vea también

Tareas

Solucionar problemas de espacio en disco insuficiente en tempdb

Conceptos

Base de datos tempdb
Planeamiento de capacidad para tempdb

Otros recursos

Optimizar bases de datos
ALTER DATABASE (Transact-SQL)
sys.database_files (Transact-SQL)

Ayuda e información

Obtener ayuda sobre SQL Server 2005

Historial de cambios

Versión Historial

5 de diciembre de 2005

Contenido nuevo:
  • Se agregaron recomendaciones sobre el crecimiento de archivos ilimitado y el modelo de recuperación SIMPLE.
  • Se agregaron las secciones "Modificar los parámetros de tamaño y de crecimiento de tempdb" y "Ver los parámetros de tamaño y de crecimiento de tempdb".