280 likes | 610 Views
Sauvegarde et restauration. Lionel Pénuchot Esc. Engineer, lionelp@microsoft.com Microsoft France. Sauvegarde et restauration. Ce que l’on doit connaître des procédures de Backup/Restore Les nouveautés dans SQL Server 2005 Les procédures de BACKUP Les procédures de RESTORE
E N D
Sauvegarde et restauration Lionel Pénuchot Esc. Engineer, lionelp@microsoft.com Microsoft France
Sauvegarde et restauration • Ce que l’on doit connaître des procédures de Backup/Restore • Les nouveautés dans SQL Server 2005 • Les procédures de BACKUP • Les procédures de RESTORE • Le diagnostique de BACKUP/RESTORE
Les objetsmanipulés • Les différents types de BACKUP (diff, base, log) • Les modèles de recovery (full, bulk, simple) • Les objets relatifs à une base de données • Database • Le journal de transaction • Fichiers et groupes de fichiers • Partitions • Les objets physiques • Pages et extents • Pages d’allocation (GAM, SGAM, IAM, PFS)
Demo #1 – metadata (1) • Les tables dans MSDB • La commande RESTORE pour voir les métadonnées d’une sauvegarde
Virtual Log File - Log Sequence Number mydb_log.ldf VLF<Seq> VLF0 Entête VLF Log blocks Log record LOP_BEGIN_XACT LSN <Seq>:<log block>:<slotid>
Demo #2 – metadata (2) • La commande DBCC • Les fonctions système pour voir les métadonnées du journal de transaction
Nouveautés de SQL Server 2005 • Miroir de media de sauvegarde • Sauvegarde partielle • Sauvegarde “Copy-only” • Les sauvegardes (diff, file, filegroup) incluent le log • Intégration des sauvegardes full-text • Restauration en ligne • Vérification de sauvegarde améliorée • Restauration avec erreurs
La commande BACKUP • L’architecture • Microsoft Tape Format (MTF) • Les types de sauvegarde • La vérification d’une sauvegarde • Les sauvegardes en miroir
Database files Database files Database files Backup Target Backup Target Backup Target Backup Target Backup Device tlog files tlog files tlog files L’architecture de la sauvegarde Initialization Backup buffers Read from files Write to target Post Processing
BACKUP et LSNs DATABASE BACKUP – Pas de transaction active LOP_BEGIN_CKPT LSN1 LSN2 LSN3 LSNn Premier LSN Dernier LSN Checkpoint LSN DATABASE BACKUP – Une transaction active LOP_BEGIN_XACT LSN1 LSN2 LOP_BEGIN_CKPT LSNn Premier LSN Checkpoint LSN Dernier LSN
Post Processing • Sauvegarde du log pour les sauvegardes de données (database, diff, file, filegroup) • Troncature du log pour les sauvegardes de log • Ecriture de la fin de marqueur MTF • Gestion de l’historique de sauvegarde • ERRORLOG – Trace flag 3226 le supprime • MSDB Tables – Trace flag 3001 le supprime
Demo #3 – détaild’unesauvegarde • Les threads de sauvegarde • Les LSNs • Les trace flags pour voir les sauvegardes en détail
Microsoft Tape Format (MTF) • MTF : format utilisé pour type de media • Compatible avec Windows NTBackup MTF • MTF : protocole qui définit comment les données sont organisées dans une sauvegarde
CHECKSUMS de sauvegarde • Nécessite l’option WITH CHECKSUM • Deux avantages • Vérifie la validité des données et du log avant sauvegarde • Vérifie l’étendue des dommages causés à la sauvegarde. • Checksum de page (torn page) vérifié par… • Lecture de chaque extent à partir du fichier • Vérifier le checksum de toute page qui a un checksum dans son entête • Arrêt de la sauvegarde si la vérification échoue (Msg 3043) • Backup checksum calculé pour toutes les données avant écriture • Uniquement données et log. Pas sur les infos MTF • Valeur écrite sur le media à la fin de la sauvegarde • Valeur cumulative des checksums de toutes les pages et du log • WITH CONTINUE_AFTER_ERROR passe les erreurs mais écrit les pages • Backup checksum calculé sur les pages endommagées • L’entête de la sauvegarde affiche checksum ou continue avec des erreurs
Backmir1.bak Backmir2.bak Backmir3.bak db1 db1 db1 db2 db2 db2 Mirrored Backups Media Set 1 Backfile1.bak Backfile2.bak Backfile3.bak db1 db1 db1 Backup Set 1 db2 db2 db2 Backup Set 2 Backup Set 1 Backup Set 2 Media Family 1 Media Family 2 Media Family 3
La commande RESTORE • Les « recoverypaths » • Le checksum de sauvegarde • Scenarios de restauration • Restauration en ligne (file restore) • Restauration partielle (piecemeal restore) • Restauration de page (page restore)
Recovery Paths (Forks) • Le même LSN représentant différents log records peut exister dans différentes sauvegardes de log Log backup 1 Log backup 2 Full database LSN1 LSN2 LSN3 LSN4 LSN5 Log backup 3 last_recovery_fork_guid = first_recovery_fork_guid LSN3 LSN4 LSN5 Recovery Point
Vérification du checksum (restore) • C’est une vérification du média de sauvegarde • Toute page ayant un checksum dans son entête est vérifiée • Le checksum de backup est vérifié à la fin si aucune erreur n’a été rencontrée • On ne modifie pas le checksum • CONTINUE_AFTER_ERROR passe toutes les erreurs • La vérification du “page checksum” (Msg 3183) permet d’évaluer les dommages • Une erreur lors de la vérification du checksum de sauvegarde (Msg 3186/3189) indique • Une page sans checksum est endommagée • Un “log block” est endommagé
Restauration en ligne Primary FG FG2 mydb1.ndf myfg1.ndf myfg1 Full Backup Log Backup 1 Log Backup 2 Log Tail Time
Restaurationpartielle Time Primary FG FG2 mydb1.ndf myfg1.ndf Full Backup Log Backup 1 Log Backup 2 Tail Log Full Backup Log Backup 1 Log Backup 2 Tail Log WITH PARTIAL FILEGROUP = ‘FG2’
Restauration de page • Similaire au “file restore” • Opération en ligne nécessitant EE ou DE • Solution pour • Erreur de checksum sur une ou quelques pages • Erreurs CHECKDB sur quelques pages • “Deferred transaction” ou pages non restaurées lors de la restauration • Limitations • Nécessite des backups de log • Ne fonctionne pas pour les pages d’allocation ainsi que les “boot pages”
Diagnostiques • Les problèmes de performance sont typiquement… • Problèmes d’I/O (backup device) • Problème mémoire (petits buffers requis) • Les erreurs lors de sauvegarde sont dues au media • Problèmes réseaux (OS error 64) • Utiliser CONTINUE_AFTER_ERROR avec précaution • Utiliser les LSNs (cfmetadata) pour les erreurs 4305 • L’erreur 3159 est là pour éviter de perdre la fin du log • RESTORE VERIFYONLY WITH VERBOSE dumps out contents of backup
Références • SQL Server 2005 Virtual Backup Device Interface (VDI) Specification • SQL Writer in SQL Server 2005: A Guide for SQL Server Backup Application Vendors • SQL Server 2005 Practical Troubleshooting Book • PSS SQL Blog • Storage Engine Blog • Product Feedback for SQL Server • SQL Server MSDN Forums
La référence technique pour les développeurs : msdn.microsoft.com La référence technique pour les IT Pros : technet.microsoft.com Abonnement TechNet Plus : Versions d’éval + 2 incidents support Visual Studio 2005 + Abonnement MSDN Premium • S’informer - Un portail d’informations, des événements, une newsletter bimensuelle personnalisée • Se former - Des webcasts, des articles techniques, des téléchargements, des forums pour échanger avec vos pairs • Bénéficier de services - Des cursus de formations et de certifications, des offres de support technique