Modifier la durée de récupération cible d'une base de données (SQL Server)
Cette rubrique explique comment définir le temps de récupération cible d’une base de données SQL Server dans SQL Server 2014 à l’aide de SQL Server Management Studio ou transact-SQL. Par défaut, le temps de récupération cible est 0, et la base de données utilise des points de contrôle automatiques (qui sont contrôlés par l'option de serveur intervalle de récupération ). La définition du temps de récupération cible avec une valeur supérieure à 0 entraîne l'utilisation par la base de données de points de contrôle indirects et établit une limite supérieure sur le temps de récupération de cette base de données.
Remarque
La limite supérieure spécifiée pour une base de données spécifique par son paramètre de temps de récupération cible peut être dépassée si une transaction longue entraîne des durées UNDO excessives.
Avant de commencer : Limitations et restrictions, Sécurité
Pour modifier le temps de récupération cible, utilisez : SQL Server Management Studio ou Transact-SQL
Avant de commencer
Attention
Une charge de travail transactionnelle en ligne sur une base de données configurée pour les points de contrôle indirects peut subir une dégradation des performances. Les points de contrôle indirects permettent de s’assurer que le nombre de pages de modifications est inférieur à un certain seuil afin que la récupération de la base de données se termine dans le temps de récupération cible. L’option de configuration de l’intervalle de récupération utilise le nombre de transactions pour déterminer le temps de récupération, contrairement aux points de contrôle indirects qui utilisent le nombre de pages de modifications. Quand des points de contrôle indirects sont activés sur une base de données recevant un grand nombre d’opérations DML, l’enregistreur en arrière-plan peut commencer à vider de manière intense les mémoires tampons modifiées sur le disque afin de s’assurer que le délai nécessaire à la récupération se situe dans le temps de récupération cible défini de la base de données. Cela peut entraîner une activité supplémentaire en termes d’E/S sur certains systèmes, ce qui peut contribuer à un goulot d’étranglement des performances si le sous-système du disque fonctionne au-delà du seuil d’E/S ou s’en rapproche.
Sécurité
Autorisations
Nécessite l'autorisation ALTER sur la base de données.
Utilisation de SQL Server Management Studio
Pour modifier le temps de récupération cible
Dans l’Explorateur d’objets, connectez-vous à une instance du moteur de base de données SQL Server et développez-la.
Cliquez avec le bouton droit sur la base de données à modifier, puis sélectionnez la commande Propriétés .
Dans la boîte de dialogue Propriétés de la base de données , cliquez sur la page Options .
Dans le volet Récupération , dans le champ Temps de récupération cible (secondes) , spécifiez le nombre de secondes de votre choix pour définir la limite supérieure du temps de récupération de cette base de données.
Utilisation de Transact-SQL
Pour modifier le temps de récupération cible
Connectez-vous à l’instance de SQL Server où réside la base de données.
Utilisez l'instruction ALTER DATABASEsuivante, comme suit :
TARGET_RECOVERY_TIME =target_recovery_time { SECONDS | MINUTES }
target_recovery_time
Lorsque la valeur est supérieure à 0 (valeur par défaut), spécifie la limite supérieure du temps de récupération de la base de données spécifiée en cas de sinistre.SECONDS
Indique que target_recovery_time correspond au nombre de secondes.MINUTES
Indique que target_recovery_time correspond au nombre de minutes.L’exemple suivant définit le temps de récupération cible de la base de données AdventureWorks2012 sur
60
secondes.ALTER DATABASE AdventureWorks2012 SET TARGET_RECOVERY_TIME = 60 SECONDS;
Voir aussi
Points de contrôle de base de données (SQL Server)
Options SET d’ALTER DATABASE (Transact-SQL)