J'ai une base de données SQL de 2,8 To (principalement des fichiers de données, quelque 400 Go de fichiers journaux) qui prend actuellement environ 9 heures à restaurer. Cette base de données est utilisée à des fins de test et doit être supprimée et restaurée à partir d'une sauvegarde entre chaque exécution, pour nous assurer que nous partons toujours du même point.
Ma question est, le serveur a actuellement 12 cœurs et 92 Go de RAM, avec un sous-système de disque RAID 5 sur lequel se trouve la base de données. Quels domaines provoquent généralement des goulots d'étranglement pour les processus de restauration SQL? S'agit-il du disque, de la mémoire ou du processeur?
sql-server
performance
Sean Long
la source
la source
Réponses:
Votre principal goulot d'étranglement lors d'une restauration sera l'ES du disque. Pour résoudre ce problème, vous avez essentiellement besoin de disques plus rapides ou d'une configuration différente. Je ne connais pas assez le RAID ou les SAN pour suggérer quoi que ce soit. Vous pourriez même envisager des SSD. Ils sont incroyablement rapides. Je ne voudrais pas les utiliser sur quelque chose qui n'est pas recréé régulièrement (tempdb est toujours un bon candidat pour cela) mais puisque vous le restaurez fréquemment, cela pourrait être ok. D'un autre côté, vous souhaiterez probablement vous assurer que votre serveur de test est aussi proche que possible de votre serveur de production si vous effectuez des tests de performances.
Il y a quelques autres choses que vous pouvez faire pour vous aider. Compressez d'abord vos sauvegardes si vous ne l'êtes pas déjà. Cela suppose bien sûr SQL 2008 ou supérieur. Cela réduira non seulement l'espace disque pour stocker la sauvegarde, mais aussi l'IO pour la lire. Il y a un coût CPU impliqué alors soyez conscient. Ne supprimez pas non plus votre base de données, restaurez simplement dessus. De cette façon, les fichiers sont déjà en place et il n'y a pas de surcharge pour les créer. Vous pouvez activer l'initialisation instantanée des fichiers (il s'agit d'une autorisation au niveau du serveur) pour accélérer considérablement la création / croissance de fichiers pour votre fichier de données, mais cela ne fonctionnera pas pour votre fichier journal.
la source
Ne faites pas de sauvegarde et de restauration; utiliser des instantanés SQL Server. Il faut beaucoup d'espace disque pour stocker un fichier clairsemé de la même taille que les fichiers que vous avez instantanés, mais la restauration est des centaines de fois plus rapide.
Ils sont disponibles dans les éditions SQL Server Enterprise et SQL Server Developer.
la source