Für Backups der SQL-Datenbanken können die SQL-Server Bordmittel verwendet werden.
Die hier gezeigte Methode sichert die SQL-Datenbanken täglich auf eine Netzwerkfreigabe.
Für das Wiederherstellen der Datenbanken eignet sich die Methode hier.
Lösung
Das SQL Management Studio öffnen und mit dem SQL-Server verbinden.
Hinweis: Der für das weitere Vorgehen verwendete Benutzer muss Schreibrechte auf der Netzwerkfreigabe besitzen, sowie Leserechte auf den Datenbanken.
Anschließend, wenn nicht schon passiert, den SQL Server-Agent starten und mit einem Rechtsklick auf Aufträge den Punkt Neuer Auftrag wählen.
Im Reiter Allgemein einen Namen vergeben und in den Reiter Schritte wechseln.
Dort auf Neu klicken und im neuen Fenster einen Schrittnamen vergeben. Anschließend den Code aus SQL Backup Skript – Netzwerkfreigabe einfügen (den Backup-Pfad natürlich ändern) und mit OK bestätigen.
DECLARE @name NVARCHAR(256) -- database name DECLARE @path NVARCHAR(512) -- path for backup files DECLARE @fileName NVARCHAR(512) -- filename for backup DECLARE @fileDate NVARCHAR(40) -- used for file name -- specify database backup directory SET @path = '\\smbshare\sicherung\sql\' -- specify filename format SELECT @fileDate = CONVERT(NVARCHAR(20),GETDATE(),112) + '_' + REPLACE(CONVERT(NVARCHAR(20),GETDATE(),108),':','') DECLARE db_cursor CURSOR READ_ONLY FOR SELECT name FROM master.sys.databases WHERE name NOT IN ('master','model','msdb','tempdb') -- exclude these databases AND state = 0 -- database is online AND is_in_standby = 0 -- database is not read only for log shipping OPEN db_cursor FETCH NEXT FROM db_cursor INTO @name WHILE @@FETCH_STATUS = 0 BEGIN SET @fileName = @path + @name + '_' + @fileDate + '.BAK' BACKUP DATABASE @name TO DISK = @fileName FETCH NEXT FROM db_cursor INTO @name END CLOSE db_cursor DEALLOCATE db_cursor
Im Reiter Zeitpläne auf Neu klicken und einen Auftragszeitplan erstellen. In diesem Fall täglich um 18Uhr.
Optionales
Es besteht die Möglichkeit die Sicherung nicht nur auf eine Netzwerkfreigabe durchzuführen, sondern auch lokal. Dafür muss ein zweiter Auftragsschritt erstellt werden und der Backup-Pfad im SQL-Script geändert werden.
-- specify database backup directory<br>SET @path = 'B:\Backup'
Außerdem kann in den Auftragseigenschaften eine E-Mail Benachrichtigung über den Auftragsstatus eingerichtet werden.
Dazu in die Auftragseigenschaften gehen und im Reiter Warnungen den Punkt Hinzufügen wählen. Dort einen Namen vergeben.
In den Reiter Antwort wechseln und dort unter Operatoren benachrichtigen den Punkt E-Mail für den entsprechenden Operator aktivieren.
Zuletzt in Optionen den Punkt E-Mail aktivieren und alle Fenster mit OK schließen.