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).
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 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'une MIRROR TO
clause vous oblige à spécifier le FORMAT
mot - clé dans la WITH
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 en WITH 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 par 1
incréments de pourcentage. Vous pouvez changer ce nombre en ce que vous voulez. J'utilise 1
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:
<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 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 le REPLACE
mot - clé à la WITH
clause - je veux juste souligner la prudence.)