Bonjour,
Pour résumer la sauvegarde, nous pouvons dire :Copie des données stockées sur disque ou sur bande. En cas d'erreurs ou de sinistres inattendus, cette copie peut être définie comme Restauration des données et prévention de la perte de données.
Dans les grandes entreprises ou dans les projets importants, la perte de données provoque des événements matériels et de réputation, de sorte que les entreprises doivent toujours conserver plus d'une copie des bases de données ou des fichiers pour un ou plusieurs.
Les causes de perte de données pouvant survenir dans les entreprises et les systèmes sont les suivantes.
- Échec du support
- Erreurs basées sur l'utilisateur. Table de suppression
- Erreurs de disque. Disque corrompu
- Catastrophes naturelles. Inondations sismiques.
La sauvegarde doit être vérifiée tous les jours par SQL Server DBA avec le script suivant.
SELECT DB.name AS Database_Name ,MAX(DB.recovery_model_desc) AS Recovery_Model ,MAX(BS.backup_start_date) AS Last_Backup ,MAX(CASE WHEN BS.type = 'D' THEN BS.backup_start_date END) AS Last_Full_backup ,SUM(CASE WHEN BS.type = 'D' THEN 1 END) AS Count_Full_backup ,MAX(CASE WHEN BS.type = 'L' THEN BS.backup_start_date END) AS Last_Log_backup ,SUM(CASE WHEN BS.type = 'L' THEN 1 END) AS Count_Log_backup ,MAX(CASE WHEN BS.type = 'I' THEN BS.backup_start_date END) AS Last_Differential_backup ,SUM(CASE WHEN BS.type = 'I' THEN 1 END) AS Count_Differential_backup ,MAX(CASE WHEN BS.type = 'F' THEN BS.backup_start_date END) AS LastFile ,SUM(CASE WHEN BS.type = 'F' THEN 1 END) AS CountFile ,MAX(CASE WHEN BS.type = 'G' THEN BS.backup_start_date END) AS LastFileDiff ,SUM(CASE WHEN BS.type = 'G' THEN 1 END) AS CountFileDiff ,MAX(CASE WHEN BS.type = 'P' THEN BS.backup_start_date END) AS LastPart ,SUM(CASE WHEN BS.type = 'P' THEN 1 END) AS CountPart ,MAX(CASE WHEN BS.type = 'Q' THEN BS.backup_start_date END) AS LastPartDiff ,SUM(CASE WHEN BS.type = 'Q' THEN 1 END) AS CountPartDiff FROM sys.databases AS DB LEFT JOIN msdb.dbo.backupset AS BS ON BS.database_name = DB.name WHERE ISNULL(BS.is_damaged, 0) = 0-- exclude damaged backups GROUP BY DB.name ORDER BY Last_Backup desc;