Prise en charge du stockage d'instance pour la base de données tempdb sur Amazon RDS for SQL Server - Amazon Relational Database Service

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.

Prise en charge du stockage d'instance pour la base de données tempdb sur Amazon RDS for SQL Server

Un stockage d'instance fournit un stockage temporaire de niveau bloc pour votre instance de base de données. Le stockage réside sur les disques physiquement attachés à l'ordinateur hôte. Ces disques disposent d'un stockage d'instance NVMe (Non-Volatile Memory Express) basé sur des disques SSD. Ce stockage est optimisé pour une faible latence, des hautes performances d'I/O aléatoires et un débit de lecture séquentielle élevé.

En plaçant des fichiers de données tempdb et des fichiers journaux tempdb sur le stockage d'instance, vous pouvez réduire les latences de lecture et d'écriture par rapport au stockage standard basé sur Amazon EBS.

Note

Les fichiers de base de données et les fichiers journaux de base de données SQL Server ne sont pas placés dans le stockage d'instance.

Activation du stockage d'instance

Lorsque RDS met en service des instances de base de données avec l'une des classes d'instance suivantes, la base de données tempdb est automatiquement placée dans le stockage d'instance :

  • db.m5d

  • db.r5d

  • db.x2iedn

Pour activer le stockage d'instance, effectuez l'une des opérations suivantes :

Le stockage d'instance est disponible dans toutes les régions AWS où un ou plusieurs de ces classes d'instance sont prises en charge. Pour plus d'informations sur les classes d'instance db.m5d et db.r5d, reportez-vous à la section Classes d'instances de base de données . Pour plus d'informations sur les classes d'instance prises en charge par Amazon RDS pour SQL Server, reportez-vous à la section prise en charge des classes d'instance de base de données pour Microsoft SQL Server.

Considérations relatives à l'emplacement et à la taille des fichiers

Sur les instances sans stockage d'instance, RDS stocke les fichiers de données et les fichiers journaux tempdb dans le répertoire D:\rdsdbdata\DATA. Les deux fichiers commencent à 8 Mo par défaut.

Sur les instances avec un stockage d'instance, RDS stocke les fichiers de données et les fichiers journaux tempdb dans le répertoire T:\rdsdbdata\DATA.

Quand tempdb n'a qu'un seul fichier de données (tempdb.mdf) et un seul fichier journal (templog.ldf), templog.ldf commence à 8 Mo par défaut et tempdb.mdf commence à 80 % ou plus de la capacité de stockage de l'instance. Vingt pour cent de la capacité de stockage ou 200 Go, selon le moins élevé des deux, est gardé libre pour le démarrage. Des fichiers de données tempdb multiples partagent 80 % de l'espace disque uniformément, tandis que les fichiers journaux ont toujours une taille initiale de 8 Mo.

Par exemple, si vous modifiez votre classe d'instance de base de données de db.m5.2xlarge à db.m5d.2xlarge , la taille des fichiers de données tempdb passe de 8 Mo chacun à 234 Go au total.

Note

En plus des fichiers de données et des fichiers journaux tempdb dans le magasin d'instance (T:\rdsdbdata\DATA), vous pouvez continuer de créer des fichiers de données et des fichiers journaux tempdb sur le volume de données (D:\rdsdbdata\DATA). Ces fichiers ont toujours une taille initiale de 8 Mo.

Considérations relatives à la sauvegarde

Vous devrez peut-être conserver les sauvegardes pendant longtemps, ce qui entraîne des coûts au fil du temps. Les blocs de données et de journaux de tempdb peuvent changer très souvent en fonction de la charge de travail. Cela peut augmenter considérablement la taille de l'instantané de base de données.

Lorsque tempdb est sur le stockage d'instance, les instantanés n'incluent pas de fichiers temporaires. Cela signifie que les tailles d'instantanés sont plus petites et consomment moins de l'allocation de sauvegarde libre par rapport au stockage EBS uniquement.

Erreurs de disque plein

Si vous utilisez tout l'espace disponible dans le stockage d'instance, vous pourriez recevoir des erreurs comme celles-ci :

  • The transaction log for database 'tempdb' is full due to 'ACTIVE_TRANSACTION' (Le journal des transactions pour la base de données 'tempdb' est plein en raison de 'ACTIVE_TRANSACTION').

  • Could not allocate space for object 'dbo.SORT temporary run storage: 140738941419520' in database 'tempdb' because the 'PRIMARY' filegroup is full (Impossible d'allouer de l'espace pour l'objet 'dbo.SORT temporary run storage: 140738941419520' dans la base de données 'tempdb' car le groupe de fichiers 'PRIMARY' est plein. Créez de l'espace disque en supprimant des fichiers inutiles, en supprimant des objets dans le groupe de fichiers, en ajoutant des fichiers supplémentaires au groupe de fichiers ou en réglant la croissance automatique pour les fichiers existants du groupe de fichiers.

Vous pouvez effectuer une ou plusieurs des opérations suivantes lorsque le stockage d'instance est plein :

  • Ajustez votre charge de travail ou votre façon d'utiliser tempdb.

  • Mise à l'échelle pour utiliser une classe d'instance de base de données avec plus de stockage NVMe.

  • Arrêtez d'utiliser le stockage d'instance et utilisez une classe d'instance avec un stockage EBS uniquement.

  • Utilisez un mode mixte en ajoutant des données secondaires ou des fichiers journaux pour tempdb sur le volume EBS.

Suppression du stockage d'instance

Pour supprimer le stockage d'instances, modifiez votre instance de base de données SQL Server de sorte qu'elle utilise un type d'instance qui ne prend pas en charge le stockage d'instances, tel que db.m5, db.r5 ou db.x1e.

Note

Lorsque vous supprimez le stockage d'instance, les fichiers temporaires sont déplacés vers le répertoire D:\rdsdbdata\DATA et leur taille est réduite à 8 Mo.