Base de données tempdb

Mis à jour : 14 avril 2006

La base de données système tempdb est une ressource globale disponible pour tous les utilisateurs connectés à l'instance de SQL Server et sert de conteneur aux éléments suivants :

  • Les objets utilisateurs temporaires créés explicitement, tels que : les tables temporaires locales ou globales, les procédures stockées temporaires, les variables de table ou les curseurs.
  • Les objets internes créés par le moteur de base de données SQL Server 2005, par exemple, les tables de travail servant à stocker des résultats intermédaires pour les mises en attente ou le tri.
  • Les versions de ligne générées par les transactions de modification de données dans une base de données qui utilise l'isolement de version de lignes read committed ou les transactions d'isolement de capture instantanée.
  • Les versions de ligne générées par des transactions de modification de données pour des fonctionnalités telles que : les opérations d'index en ligne, les déclencheurs et les connexions MARS (Multiple Active Result Sets).

Les opérations effectuées dans tempdb sont soumises à un enregistrement minimal dans le journal. Les transactions peuvent ainsi être restaurées. La base de données tempdb est recréée à chaque redémarrage SQL Server, de sorte que le système démarre toujours avec une copie vide de cette base de données. Les tables et les procédures stockées temporaires sont automatiquement supprimées à la déconnexion et aucune connexion n'est active lorsque le système est arrêté. Par conséquent, aucune donnée de la base de données tempdb ne doit être enregistrée d'une session de SQL Server à l'autre. La sauvegarde et la restauration ne sont pas autorisées sur la base de données tempdb.

Propriétés physiques de tempdb

Le tableau suivant répertorie les valeurs de configuration initiales des fichiers de données et des journaux de tempdb. La taille de ces fichiers peut varier légèrement en fonction des éditions de SQL Server 2005.

De fichiers Nom logique Nom physique Croissance du fichier

Données primaires

tempdev

tempdb.mdf

Croissance automatique de 10 pour cent jusqu'à ce que le disque soit plein

Journal

templog

templog.ldf

Croissance automatique de 10 % jusqu'à un maximum de 2 téraoctets

La taille de tempdb peut avoir des conséquences sur les performances d'un système. Par exemple, si la taille de tempdb est trop faible, la capacité de traitement du système pourrait être trop occupée à faire croître automatiquement la base de données pour qu'elle prenne en charge les impératifs de votre charge de travail à chaque démarrage de SQL Server. Vous pouvez éviter cette surcharge en augmentant la taille de tempdb. Pour plus d'informations, consultez Optimisation des performances de la base de données tempdb et Planification des capacités de tempdb.

Performances accrues dans tempdb

Dans SQL Server 2005, les performances accrues de tempdb s'obtiennent comme suit :

  • Les tables temporaires et les variables de table peuvent être mises en cache. La mise en cache permet aux opérations de création et de suppression des objets temporaires de s'exécuter très rapidement et réduit la contention d'allocation des pages.
  • Le protocole d'accès aux pages d'allocation est amélioré. Cela réduit le nombre de verrous de mise à jour utilisés.
  • La surcharge d'enregistrement pour tempdb est réduite. Cela réduit la consommation de bande passante au niveau des E/S de disque sur le fichier journal tempdb.
  • L'algorithme d'allocation des pages mixtes dans tempdb est amélioré.

Déplacement des fichiers de données et des journaux de tempdb

Pour déplacer les fichiers de données et les journaux de tempdb, consultez Déplacement des bases de données système.

Options de base de données

Le tableau suivant répertorie les valeurs par défaut de chaque option de la base de données tempdb et précise si elles sont modifiables. Pour afficher les valeurs actuelles de ces options, utilisez l'affichage catalogue sys.databases.

Option de base de données Valeur par défaut Peut être modifiée

ALLOW_SNAPSHOT_ISOLATION

OFF

Oui

ANSI_NULL_DEFAULT

OFF

Oui

ANSI_NULLS

OFF

Oui

ANSI_PADDING

OFF

Oui

ANSI_WARNINGS

OFF

Oui

ARITHABORT

OFF

Oui

AUTO_CLOSE

OFF

Non

AUTO_CREATE_STATISTICS

ON

Oui

AUTO_SHRINK

OFF

Non

AUTO_UPDATE_STATISTICS

ON

Oui

AUTO_UPDATE_STATISTICS_ASYNC

OFF

Oui

CONCAT_NULL_YIELDS_NULL

OFF

Oui

CURSOR_CLOSE_ON_COMMIT

OFF

Oui

CURSOR_DEFAULT

GLOBAL

Oui

Options de disponibilité de la base de données

ONLINE

MULTI_USER

READ_WRITE

Non

Non

Non

DATE_CORRELATION_OPTIMIZATION

OFF

Oui

DB_CHAINING

ON

Non

NUMERIC_ROUNDABORT

OFF

Oui

PAGE_VERIFY

NONE

Non

PARAMETERIZATION

SIMPLE

Oui

QUOTED_IDENTIFIER

OFF

Oui

READ_COMMITTED_SNAPSHOT

OFF

Non

RECOVERY

SIMPLE

Non

RECURSIVE_TRIGGERS

OFF

Oui

Options de Service Broker

ENABLE_BROKER

Oui

TRUSTWORTHY

OFF

Non

Pour une description de ces options de base de données, consultez ALTER DATABASE (Transact-SQL).

Restrictions

Les opérations suivantes ne peuvent pas être effectuées sur la base de données tempdb :

  • Ajout de groupes de fichiers
  • Sauvegarde ou restauration de la base de données
  • Modification du classement. Le classement par défaut est le classement du serveur.
  • Modification du propriétaire de la base de données. Le propriétaire de la base de données tempdb est dbo.
  • Création d'une capture instantanée de base de données
  • Suppression de la base de données
  • Suppression de l'utilisateur Invité de la base de données
  • Participation à la mise en miroir de bases de données
  • Suppression du groupe de fichiers primaire, du fichier de données primaire ou du fichier journal
  • Changement du nom de la base de données ou du groupe de fichiers primaire
  • Exécution de DBCC CHECKALLOC
  • Exécution de DBCC CHECKCATALOG
  • Affectation de la valeur OFFLINE à la base de données
  • Affectation de la valeur READ_ONLY à la base de données ou au groupe de fichiers primaire

Voir aussi

Tâches

Résolution des problèmes d'espace disque insuffisant dans tempdb

Concepts

Optimisation des performances de la base de données tempdb
Planification des capacités de tempdb
tempdb et création d'index
Bases de données système

Autres ressources

sys.databases (Transact-SQL)
sys.master_files (Transact-SQL)
Déplacement des fichiers de bases de données

Aide et Informations

Assistance sur SQL Server 2005

Historique des modifications

Version Historique

14 avril 2006

Nouveau contenu :
  • Ajout des captures instantanées, DBCC CHECKALLOC et DBCC CHECKCATALOG à la liste des restrictions d'opérations.
  • Ajout de la remarque spécifiant que la sauvegarde et la restauration ne sont pas autorisées sur la base de données tempdb.

5 décembre 2005

Nouveau contenu :
  • Ajout de la section sur les performances accrues.
Contenu modifié :
  • Suppression de la référence à l'option SUPPLEMENTAL_LOGGING.