Da Sie mit dem T-SQL- BACKUP DATABASE
Befehl nicht vertraut sind , dachte ich, ich würde einige Details dazu hinzufügen.
Sie möchten wahrscheinlich etwas in der Art der folgenden Anweisung über den Windows Task Scheduler-Dienst ausführen, da Sie keinen Zugriff auf den SQL Server-Agenten haben (aus Ihren anderen Fragen geht hervor, dass Sie SQL Server Express verwenden).
BACKUP DATABASE [xyz]
TO DISK = 'C:\somepath\mybackupfile.bak'
MIRROR TO DISK = 'D:\somepath\myotherbackupfile.bak'
WITH FORMAT
, INIT
, SKIP
, STATS = 1;
Möglicherweise möchten Sie unbedingt in Betracht ziehen, dass die MIRROR TO
Klausel auf einen Speicherort verweist, der sich nicht auf Ihrem lokalen Computer befindet. Wenn Sie Ihren lokalen Computer vollständig verlieren, können Sie möglicherweise nicht auf eine der Sicherungsdateien zugreifen. Wenn Sie eine MIRROR TO
Klausel angeben, müssen Sie das FORMAT
Schlüsselwort in der WITH
Klausel angeben, wenn Sie diese Sicherungsanweisung zum ersten Mal ausführen.
Sie können den Namen einer Windows-Freigabe verwenden, z. B. \\SomeServer\SQLBackups\MyBackupFile.bak
solange die Sicherheitsberechtigungen für die Freigabe den Zugriff auf den Windows Scheduler-Dienst zulassen.
Der WITH FORMAT, INIT
Teil weist SQL Server an, alle vorhandenen Sicherungen in den Sicherungsdateien zu überschreiben. Sie können dies ändern, WITH NOINIT
sobald Sie die erste gespiegelte Sicherung abgeschlossen haben, wenn mehrere Sicherungen (dh Sicherungen zu unterschiedlichen Zeitpunkten) in diesen Dateien gespeichert werden sollen. NOSKIP
weist SQL Server unter anderem an, nicht nach dem Ablauf der Sicherung zu suchen. STATS = 1
zeigt die Ausgabe in 1
Prozentschritten an. Sie können diese Nummer beliebig ändern. Ich verwende es 1
für sehr große Datenbanken, da es Hinweise auf Fortschritte gibt.
Damit dies über den Windows Task Scheduler-Dienst ausgeführt wird, müssen Sie diesen Befehl (nachdem Sie ihn in SQL Server Management Studio getestet haben) in einer Datei auf Ihrer Festplatte speichern. Nennen wir es C:\somefolder\BackupMyDB.sql
. Anschließend möchten Sie dem Windows-Planer den folgenden Befehl hinzufügen:
<path to sqlcmd>sqlcmd -S localhost -E -i C:\somefolder\BackupMyDB.sql
Sie möchten, dass diese Aufgabe als Sie ausgeführt wird.
Sobald Sie dies alles getan haben, möchten Sie ernsthaft darüber nachdenken, das Backup auf einem anderen Computer wiederherzustellen , damit Sie verstehen, wie das geht. Backups sind nur ein Teil eines Disaster Recovery-Plans. Der wohl wichtigere Teil ist das Testen dieses Plans.
Der Wiederherstellungsprozess würde einen Befehl wie den folgenden verwenden:
RESTORE DATABASE [xyz]
FROM DISK = 'D:\somepath\myotherbackupfile.bak'
WITH RECOVERY
, STATS = 1;
Seien Sie gewarnt, RESTORE DATABASE
wenn Sie auf dem Computer ausgeführt werden, auf dem sich Ihre aktuelle Datenbank befindet, kann die aktuelle Datenbank ohne Bestätigung oder Warnung überschrieben werden. Überprüfen Sie daher den Namen der Datenbank [xyz]
in meinem Beispiel und die anderen von Ihnen verwendeten Optionen sorgfältig . (Dadurch wird die vorhandene Datenbank nur überschrieben, wenn Sie REPLACE
der WITH
Klausel das Schlüsselwort hinzufügen. Ich möchte nur betonen, dass Sie vorsichtig sind.)