Bonjour,
Nous avons des difficultés avec une application roulant sur SQL Server 2008, en fait ce sont des 'deadlocks' qui arrivent fréquemment, et qui font en sorte que le client met plus de 15 minutes avant d'accéder aux données lorsque ça arrive, et il faut redémarrer le serveur ou à tout le moins les services de MS SQL Server.
Les ingénieurs de la compagnie nous ont suggéré de fermer toutes les connexions et de faire ceci:
ALTER DATABASE xxxxx SET READ_COMMITTED_SNAPSHOT ON;
J'ai fait une recherche sur Google pour connaître l'impact sur la base 'tempdb', et j'ai l'information qu'il me faut, et nous avons ensuite fait des tests sur un serveur parallèle. Jusqu'à maintenant la base de données tempdb a bien réagi et le volume de données n'est pas trop considérable pour que cette base temporaire grossisse trop, donc nous devons incessamment faire la même commande sur notre serveur de production.
Cependant, je n'ai pas trouvé réponse à ces questions:
1) Si à la suite d'une erreur en faisant cette commande la base de données doit être restaurée à partir d'une sauvegarde créée à cette fin, est-ce que la commande SET READ_COMMITTED_SNAPSHOT ON tient toujours et s'appliquera immédiatement à la base restaurée, ou si la base restaurée sera à l'option initiale quant aux verrous?
2) Si la base 'tempdb' grossit trop en production, faire ALTER DATABASE xxxx SET READ_COMMITTED_SNAPSHOT OFF va-t-il complètement annuler la modification et remettre l'option de verrouillage ordinaire? Y aura-t-il un impact 'positif' sur la base tempdb? Ou sinon devrons-nous la compacter à la main?
Merci à l'avance.
Partager