Gérer une base de données tempdb

Cette page décrit la gestion de la base de données tempdb dans Cloud SQL.

La base de données tempdb est une base de données système qui contient de nombreux objets, y compris des tables temporaires, des procédures stockées, et bien plus encore. Dans vos instances, vous pouvez effectuer des opérations courantes sur cette base de données.

La base de données tempdb est recréée chaque fois qu'une instance est redémarrée. Pour éviter de perdre les autorisations des utilisateurs, Cloud SQL fournit des autorisations à l'utilisateur sqlserver après le redémarrage de l'instance.

Présentation

L'utilisateur sqlserver dispose de l'autorisation ALTER pour gérer les options de la base de données tempdb.

Pour en savoir plus sur la gestion de cette ressource, consultez la page Base de données tempdb.

Gérer les fichiers tempdb

Une fois que vous êtes connecté à une instance, l'utilisateur sqlserver peut gérer les fichiers tempdb.

Nombre de fichiers

L'utilisateur dispose de l'autorisation ALTER sur la base de données tempdb, ce qui lui permet de contrôler les paramètres régissant le nombre de fichiers, entre autres. Voici quelques exemples d'opérations:

  • ALTER DATABASE [tempdb] ADD FILE
  • ALTER DATABASE [tempdb] REMOVE

Taille du fichier

Les sections suivantes décrivent les méthodes utilisées pour contrôler la taille des fichiers dans la base de données tempdb.

Pour en savoir plus sur ces méthodes, consultez la section Réduire la base de données tempdb.

Modifier les tailles de fichiers dans tempdb

Pour contrôler la taille des fichiers dans la base de données tempdb, utilisez l'instruction ALTER DATABASE. Pour en savoir plus, consultez la page Options de fichiers et de groupes de fichiers ALTER DATABASE (Transact-SQL).

Réduire la taille de chaque fichier

msdb.dbo.gcloudsql_tempdb_shrinkfile est une procédure stockée que vous pouvez utiliser pour réduire un fichier individuel dans la base de données tempdb.

Cette procédure stockée offre tous les avantages de la commande DBCC SHRINKFILE.

Voici des exemples d'utilisation de la procédure stockée msdb.dbo.gcloudsql_tempdb_shrinkfile et de ses paramètres, exécutés à partir de Cloud SQL Studio:

  1. Option par défaut

    msdb.dbo.gcloudsql_tempdb_shrinkfile @filename = 'FILENAME'

    Où :

    • FILENAME: nom du fichier à réduire. Exemple : tempdev.

    Cette commande exécute les commandes SQL Server suivantes:

    • USE tempdb
    • DBCC SHRINKFILE (@filename)
  2. EMPTYFILE

    msdb.dbo.gcloudsql_tempdb_shrinkfile @filename = 'FILENAME', @empty_file=EMPTY_FILE_INT

    Où :

    • EMPTY_FILE_INT: valeur entière égale à 0 ou 1. Si la valeur est "1", EMPTYFILE est transmis en tant qu'option. Cette option prévaut sur les autres paramètres.

    Cette commande exécute les commandes SQL Server suivantes:

    • USE tempdb
    • DBCC SHRINKFILE (@filename, EMPTYFILE)
  3. Taille de la cible

    msdb.dbo.gcloudsql_tempdb_shrinkfile @filename = 'FILENAME', @target_size=TARGET_SIZE_INT

    Où :

    • TARGET_SIZE_INT: entier représentant la taille cible du fichier en mégaoctets. Transmet à la commande DBCC SHRINKFILE toute valeur supérieure ou égale à zéro. Par exemple, 10.

    Cette commande exécute les commandes SQL Server suivantes. L'entier 10 est inclus à titre d'exemple:

    • USE tempdb
    • DBCC SHRINKFILE (@filename, 10)
  4. Taille cible et troncation uniquement

    msdb.dbo.gcloudsql_tempdb_shrinkfile @filename = 'FILENAME', @target_size=10, @truncateonly=TRUNCATE_ONLY_INT

    Où :

    • TRUNCATE_ONLY_INT: accepte une valeur entière de 0 ou 1. Si ce paramètre est défini sur 1, TRUNCATEONLY est transmis en tant qu'option. La taille cible est ignorée si TRUNCATEONLY est transmis. Cette option est prioritaire sur NOTRUNCATE.

    Cette commande exécute les commandes SQL Server suivantes:

    • USE tempdb
    • DBCC SHRINKFILE (@filename, 10, TRUNCATEONLY)
  5. Taille cible et aucune option de troncation

    msdb.dbo.gcloudsql_tempdb_shrinkfile @filename = 'FILENAME', @target_size=10, @no_truncate=NO_TRUNCATE_INT

    Où :

    • NO_TRUNCATE_INT: accepte une valeur entière de 0 ou 1. Si ce paramètre est défini sur 1, NOTRUNCATE est transmis en tant qu'option.

    Cette commande exécute les commandes SQL Server suivantes:

    • USE tempdb
    • DBCC SHRINKFILE (@filename, 10, NOTRUNCATE)

Étape suivante