Puisque vous n'êtes pas familier avec la BACKUP DATABASEcommande 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).
BACKUP DATABASE [xyz]
TO DISK = 'C:\somepath\mybackupfile.bak'
MIRROR TO DISK = 'D:\somepath\myotherbackupfile.bak'
WITH FORMAT
, INIT
, SKIP
, STATS = 1;
Vous voudrez peut-être sérieusement envisager de faire MIRROR TOpointer 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'une MIRROR TOclause vous oblige à spécifier le FORMATmot - clé dans la WITHclause 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.baktant que les autorisations de sécurité sur le partage autorisent l'accès au service Planificateur Windows.
La WITH FORMAT, INITpartie indique à SQL Server d'écraser toutes les sauvegardes existantes qui peuvent être dans les fichiers de sauvegarde. Vous pouvez changer cela en WITH NOINITune 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. NOSKIPindique à SQL Server de ne pas vérifier l'expiration de la sauvegarde, entre autres. STATS = 1affichera la sortie par 1incréments de pourcentage. Vous pouvez changer ce nombre en ce que vous voulez. J'utilise 1pour 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:
<path to sqlcmd>sqlcmd -S localhost -E -i C:\somefolder\BackupMyDB.sql
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:
RESTORE DATABASE [xyz]
FROM DISK = 'D:\somepath\myotherbackupfile.bak'
WITH RECOVERY
, STATS = 1;
Soyez averti, l'exécution RESTORE DATABASEsur 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 le REPLACEmot - clé à la WITHclause - je veux juste souligner la prudence.)