Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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 utilisée pour contenir les éléments suivants :
Objets utilisateur temporaires créés explicitement, tels que : tables temporaires globales ou locales, procédures stockées temporaires, variables de table ou curseurs.
Objets internes créés par le moteur de base de données SQL Server, par exemple, les tables de travail pour stocker les résultats intermédiaires pour les pools ou le tri.
Versions de lignes générées par des transactions de modification de données dans une base de données qui utilise la lecture validée avec l'isolation par versionnage de ligne ou l'isolation instantanée des transactions.
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 jeux de résultats actifs multiples (MARS) et les déclencheurs AFTER.
Les opérations dans tempdb sont journalisées au minimum. Cela permet aux transactions d’être annulées. tempdb est recréé chaque fois que SQL Server est démarré afin que le système commence toujours par une copie propre de la base de données. Les tables temporaires et les procédures stockées sont supprimées automatiquement lors de la déconnexion, et aucune connexion n’est active lorsque le système est arrêté. Par conséquent, il n’y a jamais rien dans tempdb à enregistrer d’une session de SQL Server à une autre. Les opérations de sauvegarde et de restauration ne sont pas autorisées sur tempdb.
Propriétés physiques de tempdb
Le tableau suivant indique les valeurs initiales de configuration des fichiers de données et journaux tempdb. Les tailles de ces fichiers peuvent varier légèrement pour différentes éditions de SQL Server.
| Fichier | Nom logique | Nom physique | Croissance du fichier |
|---|---|---|---|
| Données primaires | tempdev | tempdb.mdf | Croissance automatique de 10 % jusqu’à ce que le disque soit plein |
| Journal de bord | templog | templog.ldf | Croissance automatique de 10 % à un maximum de 2 téraoctets |
La taille de tempdb peut affecter les performances d’un système. Par exemple, si la taille de tempdb est trop petite, le traitement système peut être trop occupé par la croissance automatique de la base de données pour prendre en charge vos besoins en charge de la charge de travail chaque fois que vous démarrez SQL Server. Vous pouvez éviter cette surcharge en augmentant la taille de tempdb.
Améliorations des performances dans tempdb
Dans SQL Server, les performances tempdb sont améliorées de la manière suivante :
Les tables temporaires et les variables de table peuvent être mises en cache. La mise en cache permet aux opérations qui suppriment et créent les objets temporaires de s’exécuter très rapidement et réduit la contention d’allocation de pages.
Le protocole de verrouillage de page d’allocation est amélioré. Cela réduit le nombre de verrous UP (mise à jour) utilisés.
La surcharge de journalisation pour tempdb est réduite. Cela réduit la consommation de bande passante d’E/S sur le fichier journal tempdb .
L’algorithme d’allocation de pages mixtes dans tempdb est amélioré.
Déplacement des données tempdb et des fichiers journaux
Pour déplacer les données tempdb et les fichiers journaux, consultez Déplacer des bases de données système.
Options de base de données
Le tableau suivant répertorie la valeur par défaut de chaque option de base de données dans la base de données tempdb et indique si l’option peut être modifiée. 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 | ÉTEINT | Oui |
| ANSI_NULL_DEFAULT | ÉTEINT | Oui |
| ANSI_NULLS | ÉTEINT | Oui |
| ANSI_PADDING | ÉTEINT | Oui |
| ANSI_WARNINGS | ÉTEINT | Oui |
| ARITHABORT | ÉTEINT | Oui |
| FERMETURE_AUTOMATIQUE | ÉTEINT | Non |
| AUTO_CREATE_STATISTICS | ACTIVÉ | Oui |
| AUTO_SHRINK | ÉTEINT | Non |
| AUTO_UPDATE_STATISTICS (mise à jour automatique des statistiques) | ACTIVÉ | Oui |
| Mise à jour automatique des statistiques en asynchrone | ÉTEINT | Oui |
| Suivi des modifications | ÉTEINT | Non |
| CONCAT_NULL_ENTRÂINE_NULL | ÉTEINT | Oui |
| FERMETURE_DU_CURSEUR_SUR_COMMIT | ÉTEINT | Oui |
| CURSEUR_PAR_DÉFAUT | GLOBAL | Oui |
| Options de disponibilité de la base de données | EN LIGNE MULTI_UTILISATEUR LIRE_ÉCRIRE |
Non Non Non |
| Optimisation_de_corrélation_de_date | ÉTEINT | Oui |
| DB_CHAINING | ACTIVÉ | Non |
| CHIFFREMENT | ÉTEINT | Non |
| NUMERIC_ROUNDABORT | ÉTEINT | Oui |
| PAGE_VERIFY | CHECKSUM pour les nouvelles installations de SQL Server. NONE pour les mises à niveau de SQL Server. |
Oui |
| PARAMÉTRISATION | SIMPLE | Oui |
| IDENTIFIANT_CITÉ | ÉTEINT | Oui |
| READ_COMMITTED_SNAPSHOT | ÉTEINT | Non |
| RÉCUPÉRATION | SIMPLE | Non |
| DÉCLENCHEURS_RÉCURSIFS | ÉTEINT | Oui |
| Options du Service Broker | ENABLE_BROKER | Oui |
| FIABLE | ÉTEINT | Non |
Pour obtenir une description de ces options de base de données, consultez Options ALTER DATABASE SET (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. tempdb appartient à sa.
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
Activation de la capture des données modifié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.
Définition de la base de données sur OFFLINE.
Définition de la base de données ou du groupe de fichiers principal sur READ_ONLY.
Autorisations
Tout utilisateur peut créer des objets temporaires dans tempdb. Les utilisateurs peuvent uniquement accéder à leurs propres objets, sauf s’ils reçoivent des autorisations supplémentaires. Il est possible de révoquer l’autorisation de connexion à tempdb pour empêcher un utilisateur d’utiliser tempdb, mais cela n’est pas recommandé, car certaines opérations de routine nécessitent l’utilisation de tempdb.
Contenu associé
Option SORT_IN_TEMPDB pour les index
sys.master_files (Transact-SQL)
Déplacer des fichiers de bases de données