Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
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
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
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 |
---|---|---|---|---|
|
SYSNAME |
— |
obligatoire |
Le nom logique du fichier à réduire. |
|
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
)
Configuration de TempDB pour les déploiements multi-AZ
Si votre instance de base de données RDS pour SQL Server est dans un déploiement multi-AZ utilisant la mise en miroir de base de données (DBM) ou des groupes de disponibilité Always On (AG), gardez à l'esprit les considérations suivantes concernant l'utilisation de la base de données. tempdb
Vous ne pouvez pas répliquer les tempdb
données de votre instance de base de données principale vers votre instance de base de données secondaire. Lorsque vous basculez vers une instance de base de données secondaire, tempdb
cette instance de base de données secondaire sera vide.
Vous pouvez synchroniser la configuration des options de tempdb
base de données, y compris ses paramètres de dimensionnement des fichiers et de croissance automatique, entre votre instance de base de données principale et votre instance de base de données secondaire. La synchronisation de la tempDB
configuration est prise en charge sur toutes les versions de RDS pour SQL Server. Vous pouvez activer la synchronisation automatique de la tempdb
configuration à l'aide de la procédure stockée suivante :
EXECUTE msdb.dbo.rds_set_system_database_sync_objects @object_types = 'TempDbFile';
Important
Avant d'utiliser la procédure rds_set_system_database_sync_objects
stockée, assurez-vous d'avoir défini votre tempdb
configuration préférée sur votre instance de base de données principale plutôt que sur votre instance de base de données secondaire. Si vous avez modifié la configuration sur votre instance de base de données secondaire, votre tempdb
configuration préférée peut être supprimée lorsque vous activez la synchronisation automatique.
Vous pouvez utiliser la fonction suivante pour vérifier si la synchronisation automatique de la tempdb
configuration est activée :
SELECT * from msdb.dbo.rds_fn_get_system_database_sync_objects();
Lorsque la synchronisation automatique de la tempdb
configuration est activée, une valeur est renvoyée pour le object_class
champ. Lorsqu'elle est désactivée, aucune valeur n'est renvoyée.
Vous pouvez utiliser la fonction suivante pour rechercher la dernière fois que les objets ont été synchronisés, en heure UTC :
SELECT * from msdb.dbo.rds_fn_server_object_last_sync_time();
Par exemple, si vous avez modifié la tempdb
configuration à 01h00 puis que vous exécutez la rds_fn_server_object_last_sync_time
fonction, la valeur renvoyée pour last_sync_time
doit être postérieure à 01h00, ce qui indique qu'une synchronisation automatique s'est produite.
Si vous utilisez également la réplication des tâches de l'agent SQL Server, vous pouvez activer la réplication à la fois pour les tâches SQL Agent et pour la tempdb
configuration en les fournissant dans le @object_type
paramètre :
EXECUTE msdb.dbo.rds_set_system_database_sync_objects @object_types = 'SQLAgentJob,TempDbFile';
Pour plus d'informations sur la réplication des tâches de l'agent SQL Server, consultezActivation de la réplication des tâches de l'agent SQL Server.
Au lieu d'utiliser la procédure rds_set_system_database_sync_objects
stockée pour garantir la synchronisation automatique des modifications de tempdb
configuration, vous pouvez utiliser l'une des méthodes manuelles suivantes :
Note
Nous vous recommandons d'activer la synchronisation automatique de la tempdb
configuration à l'aide de la procédure rds_set_system_database_sync_objects
stockée. L'utilisation de la synchronisation automatique évite d'avoir à effectuer ces tâches manuelles chaque fois que vous modifiez votre tempdb
configuration.
-
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 modifieztempdb
dans la nouvelle instance principale. Cette méthode implique un temps d'arrêt.Pour plus d'informations, consultez Redémarrage d'une instance de base de données.