Stratégies de maintenance de la base de données de serveur SQL

Vous pouvez conserver l'intégrité des données et améliorer les performances en prenant en compte les éléments suivants lors de la configuration de la base de données et des fichiers journaux.

  1. La pré-allocation de l'espace nécessaire aux fichiers de la base de données et aux fichiers journaux peut améliorer les performances. Dans SQL Server Enterprise Manager, ces options sont disponibles sur l'onglet Data Files (Fichiers de données) et sur l'onglet Transaction Log (Journal des transactions) de la fenêtre Database Properties (Propriétés de la base de données).
  2. Autoriser les fichiers journaux à augmenter automatiquement (de 10%) est nécessaire pour éviter les erreurs imprévues.
  3. Placer les fichiers de données et les fichiers journaux sur des unités de disque physiques séparées peut améliorer les performances de façon substantielle. Vérifiez que ces unités de disque physiques ont suffisamment d'espace disponible pour permettre à la base de données de se développer.

Sauvegarde et maintenance de la base de données de serveur SQL

Comme toute application d'entreprise, la base de données doit être sauvegardée régulièrement et d'autres tâches de maintenance doivent être exécutées de temps à autre. Microsoft™ SQL Server Management Studio fournit un assistant 'Maintenance Plan' (Plan de maintenance) qui permet d'automatiser ces tâches. Utilisez cet assistant pour créer les tâches programmées nécessaires.

Remarque : La sauvegarde de la base de données diffère de la copie du fichier de base de données et de son enregistrement à un autre emplacement. Utilisez la fonction Backup (Sauvegarde) de Microsoft SQL Server Management Studio pour sauvegarder la base de données de serveur SQL (consultez la documentation de ce produit pour obtenir les instructions correspondantes).

Vérification de la correspondance des critères pour la base de données et le serveur SQL

Lorsque vous procédez à la mise à niveau vers une version plus récente d'AppScan Enterprise ou sauvegardez la base de données pour la déplacer sur un autre serveur SQL, assurez-vous que les critères (tels que le respect de la casse) correspondent. Si tel n'est pas le cas, la base de données AppScan Enterprise ne fonctionnera pas correctement.

Stratégie de sauvegarde

La taille des fichiers journaux de la base de données peut augmenter entre les sauvegardes SQL Server, vous devez donc sauvegarder la base de données chaque jour. En fonction de la fréquence d'exécution des activités (telles que génération de groupes de rapports et de tableaux de bord, travaux d'importation) il est possible de réaliser des sauvegardes incrémentielles fréquemment et des sauvegardes SQL Server intégrales moins fréquemment. Il n'est pas nécessaire d'exécuter des sauvegardes uniquement quand la base de données n'est pas utilisée, mais les opérations de sauvegarde peuvent être programmées à des moments où elle est le moins utilisée. Si votre entreprise utilise une fenêtre de maintenance régulière pour les serveurs, c'est un moment idéal pour exécuter la sauvegarde SQL Server.

Dans les grandes entreprises où la base de données n'est jamais ou très rarement non utilisée, envisagez d'utiliser un logiciel de sauvegarde du commerce configuré pour sauvegarder SQL de façon incrémentielle.

Restauration de la base de données

En cas de panne matérielle catastrophique, la base de données peut être restaurée à partir de la dernière sauvegarde SQL Server en utilisant la commande 'Restore database' (Restaurer la base de données) de Microsoft SQL Server Management Studio.

Réduction de la base de données

La croissance de la base de données peut devenir un problème, en particulier après la suppression de grands travaux d'examen de contenu. La commande 'Shrink Database' peut être utilisée pour supprimer les espaces vides. Il est plus efficace de réduire la base de données au niveau du fichier. Sélectionnez "Files" (Fichiers) dans la fenêtre "Shrink Database" (Réduire la base de données).

Ou bien, utilisez l'assistant Database Maintenance (Maintenance de la base de données) pour réduire périodiquement une base de données.

Maintenance de base de données

Après installation de l'application, un plan de maintenance de base de données doit être établi. Utilisez l'assistant 'Maintenance Plan wizard' (Assistant de plan de maintenance) pour créer le plan et le programmer. Dans l'assistant, sélectionnez ces options :

  • Check database integrity (Vérifier l'intégrité de la base de données)
  • Shrink the database (Réduire la base de données)
  • Reorganize the index (Réorganiser l'index)
  • Update statistics (Mettre à jour les statistiques)
  • Do a full backup of the database (Faire une sauvegarde intégrale de la base de données)

Défragmentation de disque

La fragmentation de disque se produit au cours du temps à mesure que des fichiers sont créés, supprimés et changent de taille. Envisagez d'utiliser les outils Windows™ pour défragmenter périodiquement les disques lorsque la base de données n'est pas utilisée et peut être interrompue pour la maintenance.

Plan de maintenance pour la réorganisation de l'index

La fragmentation de l'index peut être à l'origine de performances de base de données lentes en raison d'un nombre élevé de divisions de pages. Par conséquent, les temps de post-traitement ainsi que la génération des groupes de rapports sont longs et les performances des applications Web sont lentes.

L'opération de régénération ne peut pas s'exécuter lorsque les utilisateurs sont en train d'accéder à la base de données. Par conséquent, vous devez arrêter la tentative d'accès par les utilisateurs à la base de données lors de la régénération.

Solutions possibles :
  • Pour SQL Standard, une régénération des index est nécessaire ; pour cela, les index doivent être hors ligne.
  • Procédez à la mise à niveau vers SQL Enterprise, afin de permettre la régénération de l'index tout en le conservant en ligne.
  • Ajustez le facteur de remplissage du serveur SQL afin de tenter de limiter la fragmentation interne.
La mise à niveau vers SQL Enterprise permet aux administrateurs d'effectuer les régénérations d'index sans qu'il ne soit nécessaire d'arrêter l'accès à la base de données. Créez un plan de maintenance qui :
  1. arrête tous les services,
  2. arrête IIS et les services liés,
  3. arrête tout exécutable d'hôte d'agent en cours d'exécution,
  4. attend que tous les hôtes d'agent aient fini leur traitement,
  5. vérifie le niveau de la fragmentation d'index et le consigne dans un fichier,
  6. régénère les index avec un facteur de remplissage de 80 (20 % d'espace libre par page),
  7. vérifie à nouveau le niveau de la fragmentation d'index et l'ajoute au fichier journal,
  8. démarre IIS et les services liés,
  9. démarre tous les services.