Microsoft SQL Server Backup: Unterschied zwischen den Versionen

Aus HB9FDZ
Zur Navigation springen Zur Suche springen
Die Seite wurde neu angelegt: „=== 1. Backup-Skript erstellen === Erstelle z. B. eine Datei namens <code>sqlbackup.ps1</code> mit folgendem Inhalt: <syntaxhighlight lang="powershell"> $timestamp = Get-Date -Format "yyyyMMdd_HHmmss" $backupPath = "C:\SQLBackups\MyDatabase_$timestamp.bak" $sql = "BACKUP DATABASE [MyDatabase] TO DISK = N'$backupPath' WITH INIT" Invoke-Sqlcmd -Query $sql -ServerInstance "localhost\SQLEXPRESS" </syntaxhighlight> Ersetze <code>MyDatabase</code> mit dem…“
 
Keine Bearbeitungszusammenfassung
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 24: Zeile 24:


=== Hinweis ===
=== Hinweis ===
Du kannst auch mehrere Datenbanken sichern, indem du das Skript entsprechend erweiterst
Für E-Mail-Benachrichtigungen bei Erfolg/Fehler kannst du PowerShell mit SMTP ergänzen
[[Kategorie:MS SQL]]

Aktuelle Version vom 19. August 2025, 09:59 Uhr

=== 1. Backup-Skript erstellen === Erstelle z. B. eine Datei namens sqlbackup.ps1 mit folgendem Inhalt:

 $timestamp = Get-Date -Format "yyyyMMdd_HHmmss" $backupPath = "C:\SQLBackups\MyDatabase_$timestamp.bak" $sql = "BACKUP DATABASE [MyDatabase] TO DISK = N'$backupPath' WITH INIT"

Invoke-Sqlcmd -Query $sql -ServerInstance "localhost\SQLEXPRESS"

Ersetze MyDatabase mit dem Namen deiner Datenbank

Stelle sicher, dass der Ordner C:\SQLBackups existiert

Invoke-Sqlcmd ist Teil der SQL Server PowerShell Tools (ggf. über SqlServer-Modul installieren)

2. Aufgabenplanung einrichten

[Bearbeiten | Quelltext bearbeiten]

Öffne die Windows Aufgabenplanung

Neue Aufgabe erstellen: ** Trigger: Täglich oder nach Wunsch ** Aktion: powershell.exe mit Argument:

 -File "C:\Pfad\zu\sqlbackup.ps1"

** Option: Mit höchsten Privilegien ausführen

3. Backup prüfen

[Bearbeiten | Quelltext bearbeiten]

Nach Ausführung sollte im Ordner C:\SQLBackups eine .bak-Datei mit Zeitstempel liegen

Diese kann später für Wiederherstellung verwendet werden:

 RESTORE DATABASE [MyDatabase] FROM DISK = N'C:\SQLBackups\MyDatabase_20250819_1154.bak'

Du kannst auch mehrere Datenbanken sichern, indem du das Skript entsprechend erweiterst

Für E-Mail-Benachrichtigungen bei Erfolg/Fehler kannst du PowerShell mit SMTP ergänzen