Actuellement, je n'ai qu'un seul fichier de sauvegarde, IMTDB.bak, et il se trouve sur le même disque dur que la base de données elle-même. Je souhaite augmenter la redondance de cette sauvegarde de base de données en la "copiant" essentiellement sur un autre disque, mais j'obtiens le message d'erreur "La sauvegarde a échoué pour le serveur, le support est formaté pour prendre en charge 2 familles de supports". Je pense que cela signifie que lorsque j'ai créé la sauvegarde, elle est uniquement destinée à mettre la sauvegarde sur un lecteur, et je ne peux pas en ajouter plus rétroactivement. Je veux migrer la sauvegarde vers cet autre lecteur (vraiment juste la copier), mais je ne veux pas avoir à supprimer la sauvegarde actuelle pour le faire.
Que fais-je? Suis-je en sécurité en copiant simplement IMTDB.bak dans un dossier sur l'autre lecteur?
la source
BACKUP DATABASE
commande T-SQL pour sauvegarder simultanément sur deux emplacements.Réponses:
Puisque vous n'êtes pas familier avec la
BACKUP DATABASE
commande T-SQL , j'ai pensé ajouter quelques détails à ce sujet.Vous souhaitez probablement exécuter quelque chose dans le sens de l'instruction suivante via le service Planificateur de tâches de Windows, car vous n'avez pas accès à l'Agent SQL Server (je vois dans vos autres questions que vous utilisez SQL Server Express).
Vous voudrez peut-être sérieusement envisager de faire
MIRROR TO
pointer la clause vers un emplacement qui ne se trouve pas sur votre ordinateur local, car si vous perdez complètement votre ordinateur local, vous ne pourrez peut-être pas accéder à l'un ou l'autre des fichiers de sauvegarde. La spécification d'uneMIRROR TO
clause vous oblige à spécifier leFORMAT
mot - clé dans laWITH
clause la première fois que vous exécutez cette instruction de sauvegarde.Vous pouvez utiliser le nom d'un partage Windows, par exemple
\\SomeServer\SQLBackups\MyBackupFile.bak
tant que les autorisations de sécurité sur le partage autorisent l'accès au service Planificateur Windows.La
WITH FORMAT, INIT
partie indique à SQL Server d'écraser toutes les sauvegardes existantes qui peuvent être dans les fichiers de sauvegarde. Vous pouvez changer cela enWITH NOINIT
une fois que vous avez terminé la première sauvegarde en miroir si vous souhaitez que plusieurs sauvegardes (c'est-à-dire des sauvegardes à différents moments) soient enregistrées dans ces fichiers.NOSKIP
indique à SQL Server de ne pas vérifier l'expiration de la sauvegarde, entre autres.STATS = 1
affichera la sortie par1
incréments de pourcentage. Vous pouvez changer ce nombre en ce que vous voulez. J'utilise1
pour des bases de données très volumineuses car cela donne des indications de progrès.Pour que cela s'exécute via le service Planificateur de tâches de Windows, vous devrez enregistrer cette commande (une fois que vous l'avez testée dans SQL Server Management Studio) dans un fichier sur votre disque; appelons cela
C:\somefolder\BackupMyDB.sql
. Vous souhaiterez ensuite ajouter la commande suivante au planificateur Windows:Vous voudrez que cette tâche "s'exécute en tant que" vous.
Une fois que vous avez fait tout cela, vous voulez sérieusement envisager de tenter de restaurer la sauvegarde sur une autre machine afin de comprendre comment le faire. Les sauvegardes ne sont qu'une partie d'un plan de reprise après sinistre; la partie sans doute la plus importante est de tester ce plan.
Le processus de restauration utiliserait une commande comme:
Soyez averti, l'exécution
RESTORE DATABASE
sur la machine où réside votre base de données actuelle peut remplacer la base de données actuelle sans confirmation ni avertissement, alors assurez-vous d'évaluer soigneusement le nom de la base de données,[xyz]
dans mon exemple, et les autres options que vous utilisez. (Cela n'écrasera pas la base de données existante à moins que vous n'ajoutiez leREPLACE
mot - clé à laWITH
clause - je veux juste souligner la prudence.)la source
MIRROR
vous devez formater le fichier de sauvegarde la première fois que vous l'utilisez, ce qui supprimera toutes les sauvegardes contenues dans ce fichier.Vous pouvez utiliser
backup database .... MIRROR TO DISK =
pour sauvegarder la base de données vers un emplacement supplémentaire.Oui, vous pouvez le faire une fois la sauvegarde terminée.
Remarque: assurez-vous que vous utilisez T-SQL par opposition à GUI qui a limité les options de sauvegarde exposées.
la source
read_only
mode et de prendre juste une dernière sauvegarde avecCOMPRESSION
. Conservez-le dans un endroit sûr.