Configurer les paramètres tempdb pour Azure SQL Managed Instance
S’applique à : Azure SQL Managed Instance
Cet article vous apprend à configurer vos paramètres tempdb
pour Azure SQL Managed Instance.
Azure SQL Managed Instance vous permet de configurer les éléments suivants :
- Nombre de fichiers
tempdb
- Incrément de croissance des fichiers
tempdb
- Taille maximale
tempdb
Les paramètres tempdb
sont conservés une fois votre instance redémarrée, mise à jour ou en cas de basculement.
Vue d'ensemble
tempdb
est l’une des bases de données système par défaut qui est fournie avec Azure SQL Managed Instance. La structure de tempdb
est la même que toute autre structure de base de données utilisateur ; la différence est que, étant donné que tempdb
est utilisé pour le stockage non durable, les transactions sont journalisées au minimum.
tempdb
ne peut pas être supprimé, détaché, mis hors connexion, renommé ou restauré. Tenter l’une de ces opérations retourne une erreur. tempdb
est régénéré à chaque démarrage de l’instance du serveur et tous les objets qui ont pu être créés dans tempdb
au cours d’une session précédente ne sont pas conservés lorsque le service redémarre, après une opération de gestion des mises à jour de l’instance ou un basculement.
La charge de travail dans tempdb
diffère des charges de travail dans d’autres bases de données utilisateur ; les objets et les données sont fréquemment créés et détruits, et la concurrence est extrêmement élevée. Il n’y en a qu’un tempdb
pour chaque instance gérée. Même si plusieurs bases de données et applications se connectent à l’instance, elles utilisent toutes la même base de données tempdb
. Les services peuvent rencontrer une contention lorsqu’ils essaient d’allouer des pages dans un tempdb
fortement utilisé. Selon le degré de contention, les requêtes et les demandes qui impliquent tempdb
peuvent ne plus répondre. C’est pourquoi tempdb
est essentiel aux performances du service.
Nombre de fichiers tempdb
L’augmentation du nombre de fichiers de données tempdb
crée une ou plusieurs pages GAM et SGAM pour chaque fichier de données, ce qui permet d’améliorer la concurrence tempdb
et de réduire la contention des pages PFC. Toutefois, l’augmentation du nombre de fichiers de données tempdb
peut avoir d’autres conséquences sur les performances. Par conséquent, effectuez des tests approfondis avant d’implémenter en production.
Par défaut, Azure SQL Managed Instance crée 12 fichiers de données tempdb
et 1 fichier journal tempdb
, mais il est possible de modifier cette configuration.
La modification du nombre de fichiers tempdb
présente les limitations suivantes :
- Le nom logique du nouveau fichier ne respecte pas la casse, avec un maximum de 16 caractères et aucun espace.
- Nombre maximal de fichiers
tempdb
est de 128.
Notes
Vous n’avez pas besoin de redémarrer le serveur après avoir ajouté de nouveaux fichiers. Toutefois, les fichiers vides seront remplis avec une priorité plus élevée et l’algorithme de tourniquet pour l’allocation de pages est perdu jusqu’à ce que le système soit rééquilibré.
Vous pouvez utiliser SQL Server Management Studio (SSMS) et Transact-SQL (T-SQL) pour modifier le nombre de fichiers pour tempdb
dans Azure SQL Managed Instance.
Vous pouvez utiliser SQL Server Management Studio (SSMS) pour modifier le nombre de fichiers tempdb
. Pour ce faire, procédez comme suit :
Connectez-vous à votre instance gérée dans SSMS.
Dans Explorateur d'objets, développez Bases de données, puis Bases de données système.
Cliquez avec le bouton droit sur
tempdb
et choisissez Propriétés.Pour afficher le nombre existant de fichiers
tempdb
, sous Sélectionner une page, sélectionnez Fichiers.Pour ajouter un fichier, choisissez Ajouter, puis fournissez des informations sur le nouveau fichier de données dans la ligne.
Pour supprimer un fichier
tempdb
, choisissez le fichier que vous souhaitez supprimer de la liste des fichiers de base de données, puis sélectionnez Supprimer.
Incrément de croissance
La croissance des fichiers tempdb
peut avoir un impact sur les performances des requêtes à l’aide de tempdb
. Par conséquent, les incréments de croissance des fichiers de données tempdb
qui sont trop petits peuvent entraîner une fragmentation de l’étendue, tandis que les incréments trop importants peuvent entraîner une croissance lente ou un échec de croissance s’il n’y a pas suffisamment d’espace pour la croissance. La valeur optimale pour les incréments de croissance des fichiers tempdb
dépend de votre charge de travail.
Les incréments de croissance par défaut pour SQL Managed Instance sont de 254 Mo pour les fichiers de données tempdb
et de 64 Mo pour les fichiers journaux tempdb
, mais vous pouvez configurer des incréments de croissance pour s’adapter à votre charge de travail et optimiser vos performances.
Tenez compte des éléments suivants :
- Le paramètre de croissance de fichier prend en charge les unités suivantes pour
int_growth_increment
: Ko, Mo, Go, To et %. - Les incréments de croissance doivent être les mêmes pour tous les fichiers de données
tempdb
, sinon, l’algorithme de tourniquet qui alloue des pages pourrait être impacté.
Vous pouvez utiliser SQL Server Management Studio (SSMS) et Transact-SQL (T-SQL) pour modifier l’incrément de croissance de vos fichiers tempdb
.
Vous pouvez utiliser SQL Server Management Studio (SSMS) pour modifier l’incrément de croissance des fichiers tempdb
. Pour ce faire, procédez comme suit :
Connectez-vous à votre instance gérée dans SSMS.
Dans Explorateur d'objets, développez Bases de données, puis Bases de données système.
Cliquez avec le bouton droit sur
tempdb
et choisissez Propriétés.Pour afficher le nombre existant de fichiers
tempdb
, sous Sélectionner une page, sélectionnez Fichiers.Choisissez les points de suspension (...) en regard d’un fichier de données pour ouvrir la boîte de dialogue Modifier les propriétés de croissance automatique.
Cochez la case à côté de Activer la croissance automatique, puis modifiez vos paramètres de croissance automatique en spécifiant les valeurs de croissance du fichier, en pourcentage ou en mégaoctets.
Sélectionnez OK pour enregistrer vos paramètres.
Taille maximale
tempdb
La taille est la taille de somme de tous tempdb
les fichiers. La taille de fichier tempdb
est un espace alloué (zéro) pour ce fichier tempdb
. La taille de fichier initiale de tous les fichiers tempdb
est de 16 Mo, soit la taille de tous les fichiers tempdb
lorsque l’instance redémarre ou bascule. Une fois que l’espace utilisé d’un fichier de données tempdb
atteint la taille du fichier, tous les fichiers de données tempdb
augmentent automatiquement par incréments de croissance configurés.
L’espace utilisé tempdb
est la somme de l’espace utilisé de tous les fichiers tempdb
. L’espace utilisé du fichier tempdb
est égal à la partie de cette taille de fichier tempdb
qui est occupée par des informations différentes de zéro. La somme de tempdb
l’espace utilisé et tempdb
de l’espace libre est égale à la tempdb
taille.
Vous pouvez utiliser T-SQL pour déterminer l’espace actuel utilisé et l’espace libre pour vos fichiers tempdb
.
Pour obtenir l’espace utilisé, l’espace libre et la taille de vos fichiers de données tempdb
, exécutez la commande suivante :
USE tempdb
SELECT SUM((allocated_extent_page_count)*1.0/128) AS TempDB_used_data_space_inMB,
SUM((unallocated_extent_page_count)*1.0/128) AS TempDB_free_data_space_inMB,
SUM(total_page_count*1.0/128) AS TempDB_data_size_inMB
FROM sys.dm_db_file_space_usage
La capture d’écran suivante présente un exemple de cette opération :
Pour obtenir l’espace utilisé, l’espace libre et la taille de vos fichiers journaux tempdb
, exécutez la commande suivante :
USE tempdb
SELECT used_log_space_in_bytes*1.0/1024/1024 AS TempDB_used_log_space_inMB,
(total_log_size_in_bytes- used_log_space_in_bytes)*1.0/1024/1024 AS TempDB_free_log_space_inMB,
total_log_size_in_bytes*1.0/1024/1024 AS TempDB_log_size_inMB
FROM sys.dm_db_log_space_usage
La capture d’écran suivante présente un exemple de cette opération :
La taille maximale tempdb
est la limite au-delà de laquelle votre tempdb
ne peut plus croître.
La taille maximale tempdb
dans SQL Managed Instance présente les limitations suivantes :
- Dans le niveau de service usage général, la taille maximale pour
tempdb
est limitée à 24 Go/vCore (96 à 1920 Go) et le fichier journal est de 120 Go. - Dans le niveau de service critique pour l'entreprise,
tempdb
est en concurrence avec d’autres bases de données pour les ressources, de sorte que le stockage réservé est partagé entretempdb
et d’autres bases de données. La taille maximale du fichier journaltempdb
est de 2 To.
Les fichiers tempdb
augmentent jusqu’à ce qu’ils atteignent la limite maximale autorisée par le niveau de service ou par la taille maximale de fichier tempdb
configurée manuellement.
Vous pouvez utiliser SQL Server Management Studio (SSMS) et Transact-SQL (T-SQL) pour modifier la taille maximale de vos fichiers tempdb
.
Pour déterminer votre taille maximale tempdb
actuelle dans SSMS, procédez comme suit :
- Connectez-vous à votre instance gérée dans SSMS.
- Dans Explorateur d'objets, développez Bases de données, puis Bases de données système.
- Cliquez avec le bouton droit sur
tempdb
et choisissez Propriétés. - Pour déterminer la taille maximale de tempdb, dans la page Général, sous Base de données, vérifiez la valeur Taille. La valeur de
-1
indique que la taille maximale de tempdb est illimitée.
Pour modifier votre taille maximale actuelle de tempdb
dans SSMS, procédez comme suit :
- Connectez-vous à votre instance gérée dans SSMS.
- Dans Explorateur d'objets, développez Bases de données, puis Bases de données système.
- Cliquez avec le bouton droit sur
tempdb
et choisissez Propriétés. - Pour afficher le nombre existant de fichiers
tempdb
, sous Sélectionner une page, sélectionnez Fichiers. - Choisissez les points de suspension (...) en regard d’un fichier de données pour ouvrir la boîte de dialogue Modifier les propriétés de croissance automatique.
- Modifiez vos paramètres de taille maximale de
tempdb
en modifiant les valeurs sous Taille de fichier maximale. - Sélectionnez OK pour enregistrer vos paramètres.
Limites de tempdb
Le tableau suivant définit des limites pour différents paramètres de configuration de tempdb
:
Paramètre de configuration | Valeurs |
---|---|
Noms logiques des fichiers tempdb |
16 caractères maximum |
Nombre de fichiers tempdb |
128 fichiers maximum |
Nombre de fichiers tempdb par défaut |
13 (1 fichier journal + 12 fichiers de données) |
Taille initiale des fichiers de données tempdb |
16 Mo |
Incrément de croissance par défaut des fichiers de données tempdb |
256 octets |
Taille initiale des fichiers journaux tempdb |
16 Mo |
Incrément de croissance par défaut des fichiers journaux tempdb |
64 Mo |
Taille maximale initiale de tempdb |
-1 (illimité) |
Taille maximale de tempdb |
Jusqu’à la taille de stockage |
Étapes suivantes
- Pour savoir comment créer votre première instance managée, consultez le Guide de démarrage rapide.
- Pour consulter la liste des fonctionnalités et les comparer, consultez Fonctionnalités SQL communes.
- Pour plus d’informations sur la configuration du réseau virtuel, consultez Configuration de réseau virtuel SQL Managed Instance.
- Pour obtenir un guide de démarrage rapide qui crée une instance managée et restaure une base de données à partir d’un fichier de sauvegarde, consultez Créer une instance managée.
- Pour accéder à un tutoriel expliquant comment utiliser Azure Database Migration Service pour la migration, consultez Migration SQL Managed Instance à l’aide d’Azure Database Migration Service.
- Pour une supervision avancée de SQL Managed Instance, consultez Observateur de base de données.
- Pour plus d’informations sur la tarification, voir Tarification SQL Database.