Avant de procéder à la mise à niveau de vos systèmes d’exploitation il faudra vérifier la compatibilité des applications serveur avec Windows 2008 R2.
- SQL Server
- SQL Server 2005 Service Pack 3 et plus
- SQL Server 2008 Service Pack 1 et plus
- SQL Server 2005 Express Edition Service Pack 2
- SQL Server 2008 Express RTM
- SQL Server 2008 R2 sera supporté H1 2010
- Exchange
- Exchange 2010 version est supporté depuis Q4 2009
- Office Servers
- Forms Server 2007 Service Pack 2 et plus
- Groove Server 2007 Service Pack 2 et plus
- PerformancePoint Server 2007 Service Pack 2 et plus sera supporté Q1 2010
- Project Server 2007 Service Pack 2 et plus
- SharePoint Server 2007 Service Pack 2 et plus
- Search Server 2008 Service Pack 2 et plus
- Search Server 2008 Express Service Pack 2 et plus
Pour la liste complète des applications voir Microsoft Server Applications Supported on Windows Server 2008 R2
Introduction
Lors de la création d’une base de données SQL Server 2008 on peut choisir le mode de récupération à appliquer pour cette base de données. Ce choix ne doit pas être fait au hasard mais il doit répondre aux besoins de l’entreprise en termes de stratégie de sauvegarde et de récupération.
Types de sauvegardes
SQL Server 2008 offre une multitude de types de sauvegarde pour une base de données sauf que ces types de sauvegarde dépendent du mode de récupération choisi pour celle-ci.
Les types de sauvegarde qu’on peut réaliser sur une base de données sont :
- Sauvegarde de données
- Sauvegarde des journaux de transactions
- Sauvegarde de type copie seule
L’étendu d’une sauvegarde peut être soit une base de données complète, une base de données partielle ou un ensemble de fichiers ou groupes de fichiers. Pour chacun de ces étendues on peut faire soit des sauvegardes complètes soit des sauvegardes différentielles.
Une sauvegarde différentielle dépend de la dernière sauvegarde complète réalisée avant celle-ci, la perte de la sauvegarde complète implique la perte de toutes les sauvegardes différentielles réalisées après.
Chaque sauvegarde de base de données contient la portion du journal de transaction qui permet de remettre la base de données à la fin de l’opération de sauvegarde.
Une sauvegarde de type copie seule (Copy Only) nous permet de réaliser des sauvegardes sans affecter la stratégie de sauvegarde mise en place, ce qui veut dire qu’une sauvegarde en copie seule même si c’est une sauvegarde complète n’affecte pas le chainage entre les sauvegardes différentielles réalisées après celle-ci et la sauvegarde complète normale réalisée avant elle.
Mode de récupération
Si le mode de récupération d’une base de données est Simple, la sauvegarde des journaux de transaction est désactivée pour celle-ci, en effet SQL Server prendra en charge la gestion des fichiers journaux et à chaque point de contrôle les parties inactives du journal seront tronquées.
Le mode de récupération Journalisé en bloc est un mode complémentaire au mode complet qui permet d’optimiser les opérations en bloc mais n’offre pas le même niveau de protection que le mode complet, en effet ce mode ne prend pas en charge la récupération de la base de données à une date et heure précise.
Meilleures pratiques
- Choisir le mode de récupération Simple pour les bases de données de développement et de test
- Si votre base de données est configurée avec un mode de récupération complet ou journalisé en bloc il ne faut pas oublier de réaliser des sauvegardes des journaux de transaction.
- Une sauvegarde différentielle d’une base de données contient toutes les pages de données modifiées depuis la dernière sauvegarde complète, sans la sauvegarde complète de référence une sauvegarde différentielle ne peut pas être restaurée ; dans le cas où on met en place une stratégie de sauvegarde à base de sauvegarde complète et différentielles il faut bien faire attention à ne pas perdre la sauvegarde complète.
- L’application d’une mise à jour ou d’un patch de sécurité qui change le numéro de version de votre serveur SQL doit être suivi immédiatement d’une sauvegarde des bases de données système, en fait les anciennes sauvegardes seront obsolètes dans ce cas.
L’optimisation des performances des serveurs SQL Server passe obligatoirement par la mise en place d’une infrastructure de stockage adéquate. Les consignes suivantes permettent d’améliorer les performances de vos serveurs de bases de données SQL Server.
- Placer les fichiers de données, les fichiers journaux et la base de données TempDB sur des disques dédiés
- Aligner les partitions de vos disques (Windows Server 2003 et antérieurs)
- Aligner le nombre de fichiers de données de vos bases de données et principalement la base de données TempDB au nombre de processeurs du serveur.
- Formater les disques qui hébergent les fichiers de données avec une taille de cluster adéquate (8, 16, 32 ou 64 Ko), le choix de la taille doit se faire suite à une analyse et des tests qui prendront en compte le contexte d’exploitation de votre base de données et les caractéristiques techniques de votre équipement de stockage.
- Favoriser les systèmes RAID 1+0 pour les disques qui hébergeront les journaux de transaction et la base de données TempDB
- Planifier convenablement la taille des fichiers de données, des fichiers journaux ainsi que la taille des fichiers de la base de données TempDB.
Si une base de données est configurée en mode de récupération complet, son journal de transaction ne sera tronqué que suite à la sauvegarde de celui-ci. La réalisation d’un grand nombre de transactions volumineuse peut augmenter indéfiniment la taille du journal des transactions ce qui impliquera un suivi permanent et une charge administratif en plus.
Avec les alertes et les travaux SQL Server on peut automatiser les tâches de sauvegarde du journal de transactions afin d’éviter que le disque hébergeant le journal ne soit rempli.
Pour cela il faudra procéder comme suit :
Créer une unité de sauvegarde
Depuis l’explorateur des objets, développer Server Objects puis cliquer avec le bouton droit de la souris sur Backup Devices et cliquer sur New Backup Device.
Donnez un nom et préciser le chemin du fichier à utiliser pour votre unité de sauvegarde
Cliquer sur Ok
Créer un opérateur pour recevoir les notifications
Créez un opérateur en cliquant sur New Operator
Précisez le nom de l’opérateur, son adresse email si vous voulez utiliser la notification par messagerie électronique et le nom de sa machine en cas de notification par message console.
Cliquer sur Ok
Créer un travail de sauvegarde du journal de transaction
Créer un nouveau Travail en cliquant sur New Job…
Au niveau de l’onglet Général tapez le nom du travail et ensuite passez à l’onglet Etapes.
Créer une étape de Type Script Transact-SQL (T-SQL) avec le script BACKUP LOG NomBase TO BackupDevice avec BackupDevice le nom de l’unité de sauvegarde crée auparavant.
Au niveau de l’onglet Notification choisissez l’opérateur qui doit recevoir une notification et quand.
Créer une alerte relative au compteur de performance (Pourcentage du journal utilisé)
Créez une alerte en cliquant sur New Alerte
Au niveau de l’onglet Général donner un nom à votre alerte de type Alerte de condition de performance SQL Server et configurez la comme illustré au niveau de l’image
Au niveau de l’onglet Réponse choisissez l’exécution du Job de sauvegarde comme réponse et cochez le mode de notification à utiliser.
La configuration de cette alerte qui déclenche le travail de sauvegarde permettra d’éviter que les disques soient remplis et que les journaux de transactions ne grandissent indéfiniment.