Base de datos tempdb

Actualizado: 14 de abril de 2006

La base de datos del sistema tempdb es un recurso global disponible para todos los usuarios conectados a la instancia de SQL Server y se utiliza para incluir lo siguiente:

  • Objetos de usuario temporales creados explícitamente como: tablas temporales locales o globales, procedimientos almacenados temporales, variables de tabla o cursores.
  • Objetos internos creados por SQL Server 2005 Database Engine (Motor de base de datos de SQL Server 2005), por ejemplo, tablas de trabajo para almacenar resultados intermedios para colas u ordenación.
  • Versiones de fila generadas por las transacciones de modificación de datos en una base de datos que utiliza transacciones de lectura confirmada que usan transacciones de aislamiento de control de versiones de filas o de aislamiento de instantáneas.
  • Versiones de fila que se generan mediante transacciones de modificación de datos para características como operaciones de índice en línea, conjuntos de resultados activos múltiples (MARS) y desencadenadores AFTER.

Las operaciones realizadas en tempdb se registran con un nivel mínimo. Esto permite que se reviertan las transacciones. tempdb se vuelve a crear cada vez que se inicia SQL Server, de forma que el sistema siempre se inicia con una copia limpia de la base de datos. Las tablas y los procedimientos almacenados temporales se quitan automáticamente en la desconexión y ninguna conexión permanece activa cuando se cierra el sistema. Por tanto, en la base de datos tempdb no hay nada que deba guardarse de una a otra sesión de SQL Server. No se permite realizar operaciones de copia de seguridad y de restauración en tempdb.

En la tabla siguiente se muestran los valores iniciales de configuración de los archivos de datos y registro de tempdb. El tamaño de estos archivos puede variar ligeramente para cada edición de SQL Server 2005.

Archivo Nombre lógico Nombre físico Crecimiento del archivo

Datos principales

tempdev

tempdb.mdf

Crecimiento automático del 10 por ciento hasta llenar el disco

Registro

templog

templog.ldf

Crecimiento automático del 10 por ciento hasta un máximo de 2 terabytes

El tamaño de tempdb puede afectar al rendimiento de un sistema. Por ejemplo, si el tamaño de tempdb es demasiado pequeño, el procesamiento del sistema podría estar demasiado ocupado con el crecimiento automático de la base de datos y, por tanto, no podría satisfacer las necesidades de carga de trabajo cada vez que se inicia SQL Server. Para evitar esta sobrecarga, aumente el tamaño de tempdb. Para obtener más información, vea Optimizar el rendimiento de tempdb y Planeamiento de capacidad para tempdb.

En SQL Server 2005, el rendimiento de tempdb se mejora de las siguientes maneras:

  • Las tablas temporales y las variables de tabla se pueden almacenar en caché. El almacenamiento en caché permite que las operaciones que quitan y crean los objetos temporales se ejecuten muy rápidamente y reduce la contención de la asignación de páginas
  • Se mejora el protocolo de pestillo de página de asignación. Esto reduce el número de pestillos UP (de actualización) utilizados.
  • Se reduce la sobrecarga de registro para tempdb. Esto reduce el consumo de ancho de banda de E/S del disco en el archivo de registro de tempdb.
  • Se mejora el algoritmo para asignar páginas mixtas en tempdb.

Mover los archivos de datos y registro de tempdb

Para mover los archivos de datos y registro de tempdb, vea Mover bases de datos del sistema.

Opciones de base de datos

En la siguiente tabla se muestra el valor predeterminado de las opciones de base de datos de la base de datos tempdb y se indica si la opción se puede modificar. Para ver la configuración actual de estas opciones, utilice la vista de catálogo sys.databases.

Opción de base de datos Valor predeterminado Se puede modificar

ALLOW_SNAPSHOT_ISOLATION

OFF

ANSI_NULL_DEFAULT

OFF

ANSI_NULLS

OFF

ANSI_PADDING

OFF

ANSI_WARNINGS

OFF

ARITHABORT

OFF

AUTO_CLOSE

OFF

No

AUTO_CREATE_STATISTICS

ON

AUTO_SHRINK

OFF

No

AUTO_UPDATE_STATISTICS

ON

AUTO_UPDATE_STATISTICS_ASYNC

OFF

CONCAT_NULL_YIELDS_NULL

OFF

CURSOR_CLOSE_ON_COMMIT

OFF

CURSOR_DEFAULT

GLOBAL

Opciones de disponibilidad de la base de datos

ONLINE

MULTI_USER

READ_WRITE

No

No

No

DATE_CORRELATION_OPTIMIZATION

OFF

DB_CHAINING

ON

No

NUMERIC_ROUNDABORT

OFF

PAGE_VERIFY

NONE

No

PARAMETERIZATION

SIMPLE

QUOTED_IDENTIFIER

OFF

READ_COMMITTED_SNAPSHOT

OFF

No

RECOVERY

SIMPLE

No

RECURSIVE_TRIGGERS

OFF

Opciones de Service Broker

ENABLE_BROKER

TRUSTWORTHY

OFF

No

Para ver una descripción de estas opciones de la base de datos, vea ALTER DATABASE (Transact-SQL).

En la base de datos tempdb no se pueden realizar las siguientes operaciones:

  • Agregar grupos de archivos.
  • Realizar una copia de seguridad o restaurar la base de datos.
  • Cambiar intercalaciones. La intercalación predeterminada es la intercalación de servidor.
  • Cambiar el propietario de la base de datos. tempdb pertenece a dbo.
  • Crear una instantánea de base de datos.
  • Eliminar la base de datos.
  • Eliminar el usuario guest de la base de datos.
  • Participar en el reflejo de la base de datos.
  • Quitar el grupo de archivos principal, el archivo de datos principal o el archivo de registro.
  • Cambiar el nombre de la base de datos o del grupo de archivos principal.
  • Ejecutar DBCC CHECKALLOC.
  • Ejecutar DBCC CHECKCATALOG.
  • Establecer la base de datos en OFFLINE.
  • Establecer la base de datos o el grupo de archivos principal en READ_ONLY.

Versión Historial

14 de abril de 2006

Contenido nuevo:
  • Se agregó una instancia de base de datos, DBCC CHECKALLOC y DBCC CHECKCATALOG a la lista de operaciones restringidas.
  • Se agregó que no se permite realizar operaciones de copia de seguridad y de restauración en tempdb.

5 de diciembre de 2005

Contenido nuevo:
  • Se agregó una sección acerca de las mejoras en el rendimiento.
Contenido modificado:
  • Se eliminó la referencia a la opción SUPPLEMENTAL_LOGGING.

Adiciones de comunidad

AGREGAR
Mostrar: