base de données tempdb dans Parallel Data Warehouse

tempdb est une base de données système PDW SQL Server qui stocke des tables temporaires locales pour les bases de données utilisateur. Les tables temporaires sont souvent utilisées pour améliorer les performances des requêtes. Par exemple, vous pouvez utiliser une table temporaire pour modulariser un script et réutiliser des données calculées.

Pour plus d’informations sur les bases de données système, consultez Bases de données système.

Termes et concepts clés

table temporaire locale
Une table temporaire locale utilise le préfixe # avant le nom de la table et est une table temporaire créée par une session utilisateur locale. Chaque session peut uniquement accéder aux données des tables temporaires locales pour sa propre session.

Chaque session peut afficher les métadonnées des tables temporaires locales dans toutes les sessions. Par exemple, toutes les sessions peuvent afficher les métadonnées de toutes les tables temporaires locales avec la SELECT * FROM tempdb.sys.tables requête.

table temporaire globale
Les tables temporaires globales, prises en charge dans SQL Server avec la syntaxe ##, ne sont pas prises en charge dans cette version de SQL Server PDW.

pdwtempdb
pdwtempdb est la base de données qui stocke les tables temporaires locales.

PDW n’implémente pas de tables temporaires à l’aide de la base de données tempdb SQL Server. Au lieu de cela, PDW les stocke dans une base de données appelée pdwtempdb. Cette base de données existe sur chaque nœud de calcul et est invisible pour l’utilisateur via les interfaces PDW. Dans la console d’administration, sur la page de stockage, vous verrez ces éléments pris en compte dans une base de données système PDW appelée tempdb-sql.

tempdb
tempdb est la base de données tempdb SQL Server. Elle utilise une journalisation minimale. SQL Server utilise tempdb sur les nœuds de calcul pour stocker des tables temporaires dont il a besoin au cours de l’exécution des opérations SQL Server.

SQL Server PDW supprime les tables de tempdb quand :

  • L’instruction DROP TABLE est exécutée.

  • Une session est déconnectée. Seules les tables temporaires de la session sont supprimées.

  • L’appliance est arrêtée.

  • Le nœud de contrôle a un basculement dû à une panne de cluster.

Remarques d'ordre général

SQL Server PDW effectue les mêmes opérations sur les tables temporaires et les tables permanentes, sauf indication explicite. Par exemple, les données des tables temporaires locales, comme les tables permanentes, sont distribuées ou répliquées sur les nœuds de calcul.

Limitations et restrictions

Limitations et restrictions sur la base de données tempdb SQL Server PDW. Vous ne pouvez pas :

  • Créez une table temporaire globale qui commence par ##.

  • Effectuez une sauvegarde ou une restauration de tempdb.

  • Modifiez les autorisations pour tempdb avec les instructions GRANT, DENY ou REVOKE .

  • Exécutez DBCC SHRINKLOG pour la base de données tempdb .

  • Effectuez des opérations DDL sur tempdb. Il y a quelques exceptions à cela. Pour plus d’informations, consultez la liste suivante de limitations et de restrictions sur les tables temporaires locales.

Limitations et restrictions concernant les tables temporaires locales. Vous ne pouvez pas :

  • Renommer une table temporaire

  • Créez des partitions, des vues ou des index non cluster sur une table temporaire. ALTER INDEX peut être utilisé pour reconstruire un index cluster pour une table créée avec une.

  • Modifiez les autorisations sur des tables temporaires avec les instructions GRANT, DENY ou REVOKE.

  • Exécutez des commandes de console de base de données sur des tables temporaires.

  • Utilisez le même nom pour deux tables temporaires ou plus dans le même lot. Si plusieurs tables temporaires locales sont utilisées dans un traitement, chacune doit avoir un nom unique. Si plusieurs sessions exécutent le même lot et créent la même table temporaire locale, SQL Server PDW ajoute en interne un suffixe numérique au nom de la table temporaire locale pour conserver un nom unique pour chaque table temporaire locale.

Remarque

Vous pouvez créer et mettre à jour des statistiques sur une table temporaire. ALTER INDEX peut être utilisé pour reconstruire un index cluster.

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.

Tâches associées

Tâches Descriptif
Créez une table dans tempdb. Vous pouvez créer une table temporaire utilisateur avec les instructions CREATE TABLE et CREATE TABLE AS SELECT. Pour plus d’informations, consultez CREATE TABLE et CREATE TABLE AS SELECT.
Affichez la liste des tables existantes dans tempdb. SELECT * FROM tempdb.sys.tables;
Affichez la liste des colonnes existantes dans tempdb. SELECT * FROM tempdb.sys.columns;
Affichez la liste des objets existants dans tempdb. SELECT * FROM tempdb.sys.objects;