Option recovery interval

Utilisez l'option recovery interval pour définir le nombre maximal de minutes par base de données dont MicrosoftSQL Server a besoin pour effectuer la récupération des bases de données. À chaque démarrage d'une instance de SQL Server, celle-ci récupère chaque base de données, restaure les transactions qui n'ont pas été validées et restaure par progression les transactions validées, mais dont les modifications n'ont pas encore été enregistrées sur le disque au moment de l'arrêt de l'instance de SQL Server. Cette option de configuration permet de définir une limite supérieure de durée de récupération de chaque base de données. La valeur par défaut est égale à 0 et indique la configuration automatique par SQL Server. Pour les bases de données actives, cela représente concrètement une durée de récupération inférieure à une minute et un point de contrôle chaque minute environ.

L'option recovery interval contrôle le moment où SQL Server envoie un point de contrôle dans chaque base de données. Les points de contrôle sont effectués individuellement pour chaque base de données. Lors d'un point de contrôle, SQL Server s'assure que toutes les informations des journaux et toutes les pages modifiées sont vidées de la mémoire et placées sur le disque. Cela limite le temps nécessaire à la récupération en diminuant le nombre de transactions restaurées par progression afin de s'assurer qu'elles figurent sur le disque. Les modifications apportées avant le point de contrôle n'ont pas besoin d'être restaurées par progression car elles ont déjà été transférées vers le disque au moment du point de contrôle.

L'option recovery interval n'a pas d'effet sur la durée d'annulation des transactions d'exécution longue. Par exemple, si une transaction d'exécution longue a mis deux heures pour effectuer des mises à jour avant la défaillance du serveur, la récupération elle-même prendra beaucoup plus de temps pour restaurer la transaction longue que la valeur spécifiée pour l'option recovery interval.

SQL Server estime le nombre de modifications apportées aux données qu'il peut restaurer par progression pendant l'intervalle de récupération. SQL Server envoie en général un point de contrôle dans une base de données lorsque le nombre de modifications apportées aux données de la base de données après le dernier point de contrôle atteint la limite de ce que SQL Server estime pouvoir restaurer par progression au cours de l'intervalle de récupération Parfois, SQL Server envoie le point de contrôle lorsque le journal est rempli à 70 %, si cette proportion est inférieure au nombre estimé.

La fréquence des points de contrôle effectués dans chaque base de données dépend du nombre de modifications et non d'une durée quelconque. Une base de données principalement utilisée pour des opérations en lecture seule ne possèdera aucun point de contrôle. Une base de données de transactions possèdera de nombreux points de contrôle.

Conservez la valeur 0 pour l'option recovery interval (configuration automatique) sauf si vous remarquez que les points de contrôle sont préjudiciables aux performances en raison de leur fréquence trop élevée. Si tel est le cas, tentez d’augmenter cette valeur par petits incréments.

L'option recovery interval est une option avancée. Si vous utilisez la procédure stockée système sp_configure pour modifier le paramètre, vous ne pouvez modifier l'option recovery interval que si la valeur 1 a été attribuée à l'option show advanced options. Le paramètre prend effet immédiatement (sans arrêt et redémarrage du serveur).

Pour affecter à l'option recovery interval une valeur supérieure à 60 (minutes), vous devez exécuter l'instruction RECONFIGURE WITH OVERRIDE.