Accès à la base de données tempdb sur des instances de base de données Microsoft SQL Server sur Amazon RDS - Amazon Relational Database Service

Accès à la base de données tempdb sur des instances de base de données Microsoft SQL Server sur Amazon RDS

Vous pouvez accéder à la base de données tempdb sur vos instances de base de données Microsoft SQL Server sur Amazon RDS. Vous pouvez exécuter le code sur tempdb à l'aide de Transact-SQL via Microsoft SQL Server Management Studio (SSMS) ou via toute autre application cliente SQL standard. Pour plus d'informations sur la connexion à votre instance de base de données, consultez Connexion à une instance de base de données exécutant le moteur de base de données Microsoft SQL Server.

L'utilisateur principal pour votre instance de base de données bénéficie d'un accès CONTROL à tempdb afin qu'il puisse modifier les options de la base de données tempdb. L'utilisateur principal n'est pas le propriétaire de la base de données tempdb. Si nécessaire, l'utilisateur principal peut accorder un accès CONTROL à d'autres utilisateurs afin qu'ils puissent eux aussi modifier les options de la base de données tempdb.

Note

Vous ne pouvez pas exécuter de commandes DBCC (Database Console) sur la base de données tempdb.

Modification des options de la base de données tempdb

Vous pouvez modifier les options de base de données sur la base de données tempdb sur vos instances de base de données Amazon RDS. Pour plus d'informations sur les options qui peuvent être modifiées, veuillez consulter Base de données tempdb dans la documentation Microsoft.

Les options de base de données telles que les options de taille maximale des fichiers sont persistantes une fois que vous redémarrez votre instance de base de données. Vous pouvez modifier les options de base de données pour optimiser les performances lors de l'importation des données et pour éviter le manque d'espace de stockage.

Optimisation des performances lors de l'importation de données

Afin d'optimiser les performances lors de l'importation de grandes quantités de données dans votre instance de base de données, définissez les propriétés SIZE et FILEGROWTH de la base de données tempdb sur des grands chiffres. Pour plus d'informations sur la façon d'optimiser tempdb, veuillez consulter Optimisation des performances de la base de données tempdb dans la documentation Microsoft.

L'exemple suivant illustre la définition de la taille sur 100 Go et la croissance des fichiers sur 10 pour cent.

alter database[tempdb] modify file (NAME = N'templog', SIZE=100GB, FILEGROWTH = 10%)

Prévention des problèmes de stockage

Pour éviter que la base de données tempdb utilise tout l'espace disque disponible, définissez la propriété MAXSIZE. L'exemple suivant illustre la définition de la propriété sur 2 048 Mo.

alter database [tempdb] modify file (NAME = N'templog', MAXSIZE = 2048MB)

Réduction de la base de données tempdb

Il existe deux façons de réduire la base de données tempdb sur votre instance de base de données Amazon RDS. Vous pouvez utiliser la procédure rds_shrink_tempdbfile ou vous pouvez définir la propriété SIZE.

Utilisation de la procédure rds_shrink_tempdbfile

Vous pouvez utiliser la procédure Amazon RDS msdb.dbo.rds_shrink_tempdbfile pour réduire la base de données tempdb. Vous pouvez uniquement appeler rds_shrink_tempdbfile si vous disposez de l'accès CONTROL à tempdb. Lorsque vous appelez rds_shrink_tempdbfile, il n'y a aucun temps d'arrêt pour votre instance de base de données.

La procédure rds_shrink_tempdbfile possède les paramètres suivants.

Nom du paramètre Type de données Par défaut Obligatoire Description

@temp_filename

SYSNAME

obligatoire

Le nom logique du fichier à réduire.

@target_size

int

null

facultatif

La nouvelle taille du fichier en mégaoctets.

L'exemple suivant permet d'obtenir les noms des fichiers de la base de données tempdb.

use tempdb; GO select name, * from sys.sysfiles; GO

L'exemple suivant réduit un fichier de base de données tempdb nommé test_file et demande une nouvelle taille de 10 mégaoctets :

exec msdb.dbo.rds_shrink_tempdbfile @temp_filename = N'test_file', @target_size = 10;

Configuration de la propriété SIZE

Vous pouvez également réduire la base de données tempdb en configurant la propriété SIZE et en redémarrant votre instance de base de données. Pour plus d'informations sur le redémarrage de votre instance de base de données, consultez Redémarrage d'une instance de base de données.

L'exemple suivant illustre la définition de la propriété SIZE sur 1 024 Mo.

alter database [tempdb] modify file (NAME = N'templog', SIZE = 1024MB)

Considérations sur les déploiements multi-AZ

Si votre instance de base de données Amazon RDS est un déploiement multi-AZ pour Microsoft SQL Server avec mise en miroir de la base de données ou Always On, certains points sont à prendre en compte.

La base de données tempdb ne peut pas être répliquée. Aucune des données que vous stockez sur votre instance principale n'est répliquée sur votre instance secondaire.

Si vous modifiez les options de base de données sur la base de données tempdb, vous pouvez capturer ces modifications sur l'instance secondaire en utilisant l'une des méthodes suivantes :

  • Tout d'abord, modifiez votre instance de base de données et désactivez le déploiement multi-AZ, puis modifier tempdb, puis enfin réactivez le déploiement multi-AZ. Cette méthode n'entraîne aucun temps d'arrêt.

    Pour plus d'informations, consultez Modification d'une instance de base de données Amazon RDS.

  • Tout d'abord, modifiez tempdb dans l'instance principale d'origine, puis exécutez un basculement manuel et enfin modifiez tempdb dans la nouvelle instance principale. Cette méthode implique un temps d'arrêt.

    Pour de plus amples informations, veuillez consulter Redémarrage d'une instance de base de données.