2009-06-06 9 views
2

J'ai quelques bases de données distantes, hébergées chez mes hébergeurs. Pour mysql, j'utilise périodiquement mysqldump et pour MSSQL, j'utilise bcp pour les sauvegarder. Comment puis-je valider ces sauvegardes? Comment puis-je m'assurer que la sauvegarde n'était pas partielle (c'est fait sur le réseau public).Comment valider les sauvegardes de base de données

Répondre

1

Écrivez un petit script PHP (ou similaire) qui imprime le nombre d'enregistrements dans chaque table, et installez-le sur vos sites Web. Lorsque vous téléchargez vos sauvegardes, chargez-les dans une base de données locale et exécutez le même script localement par rapport à cette base de données, en comparant les résultats avec ceux obtenus sur le Web.

+0

En outre, le script peut effectuer des vérifications de cohérence des données et comparer les résultats (à condition que vous n'ayez pas déjà toutes les vérifications possibles dans les contraintes de base de données). – che

2

Dans SQL Server, vous pouvez utiliser la commande RESTORE avec l'option VERIFYONLY afin de valider le contenu d'un fichier de sauvegarde de base de données.

Voir les suivantes Livres de référence en ligne pour plus de détails:

http://msdn.microsoft.com/en-us/library/ms188902.aspx

Autres considérations pour les sauvegardes SQL Server, il est considéré comme une bonne pratique d'effectuer une CHECKDB DBCC de votre base de données avant d'effectuer une sauvegarde de base de données, en afin de garantir/valider l'intégrité des données de la base de données. Cela peut ne pas être pratique cependant, en fonction de la taille de votre base de données.

Livres de référence en ligne: DBCC CHECKDB

Exécution d'une CHECKSUM dans le cadre d'une opération BACKUP DATABASE est également considéré comme une bonne pratique.

Voir la documentation en ligne: BACKUP DATABASE

+0

cela fonctionne-t-il avec des sauvegardes prises avec bcp? J'ai des permissions d'utilisateur sur la base de données, je n'ai pas le "fichier de sauvegarde de base de données". –

+0

BCP (Bulk COPY Utility) est un programme d'importation/exportation de données vers/depuis SQL Server. Il n'est pas approprié pour/capable d'effectuer une vraie sauvegarde de base de données par exemple, mais vous pouvez bien sûr l'utiliser pour prendre une copie complète de vos données de table. –

+0

Pour plus de détails sur l'utilisation de BCP, voir: http://msdn.microsoft.com/en-us/library/ms162802.aspx –

2

En fin de compte, la façon de valider une copie de sauvegarde est de l'utiliser pour une restauration. Le test d'acidité est: pouvez-vous recréer une base de données entièrement fonctionnelle à partir de la sauvegarde. Idéalement, vous pourriez le créer sur une autre machine que celle où la sauvegarde a été faite - pour simuler la récupération après la destruction de la machine sur laquelle la sauvegarde a été faite.

Certains SGBD fournissent des outils qui vous permettent de simuler une telle récupération.

+0

Absolument, la seule façon de valider une sauvegarde est de l'utiliser. Restaurer sur un serveur de test ou similaire. Cela a prouvé la sauvegarde, la bande ou d'autres médias, processus etc. J'ai eu des situations où le SGBDR a rapporté des sauvegardes valides mais je n'ai pas pu restaurer – Karl

+0

Pouvez-vous recommander un SGBD qui peut simuler la récupération? – sam

+0

IBM Informix dispose d'une programmation 'archecker' qui peut vérifier les sauvegardes. –

Questions connexes