DB Backup bei SQL Express (SQL Dump)
Wie ein zeitgesteuerter Dump Export bei SQL Express (ohne Agent) eingerichtet wird kann der nachfolgende Anleitung entnommen werden:
Schritt 1: Anlegen eines SQL Scripts
- Öffnen des SQL Managment Studio
- rechte Maustaste auf eine Datenbank (für die Erstellung des Scripts spielt die DB keine Rolle) und auf neues Script erstellen
- auf der rechten Seite dann das Script schreiben oder einfügen in diesen Fall soll ein Dump an den Wochentagen Mo bis Fr erstellt werden
- Vorab müssen die Verzeichnisse angelegt werden zb: LW:\Backup\Mo bis …\Backup\Fr jeweils ein Ordner
- Beispielscript
PRINT SYSDATETIME()
DECLARE @pfad VARCHAR(256) -- path for backup files
DECLARE @wochentag VARCHAR(2)
DECLARE @fileName VARCHAR(64)
DECLARE @wsdata VARCHAR(16)
DECLARE @db_name VARCHAR(50)
PRINT SYSDATETIME()
DECLARE @pfad VARCHAR(256) -- path for backup files
DECLARE @wochentag VARCHAR(2)
DECLARE @fileName VARCHAR(64)
DECLARE @db_name VARCHAR(50)
SELECT @wochentag = SUBSTRING(DATENAME(weekday,GETDATE()),1,2)
-- Pfade anpassen
SET @pfad = 'Pfad angeben'
-- DB Backup
DECLARE db_cursor CURSOR FOR
SELECT name FROM master.dbo.sysdatabases WHERE name NOT IN ('tempdb') AND name LIKE 'Datenbankname angeben'
OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @db_name
WHILE @@FETCH_STATUS = 0
BEGIN
SET @fileName = @pfad + '\' + @wochentag + '\' + @db_name + '.bak'
BACKUP DATABASE @db_name TO DISK = @fileName WITH INIT, NOUNLOAD,
Name='Name vergeben', NOSKIP, NOFORMAT
FETCH NEXT FROM db_cursor INTO @db_name
END
CLOSE db_cursor
DEALLOCATE db_cursor
- dieses Script dann speichern auf einen Laufwerk
- Anschließen kann das Studio geschlossen werden
Schritt 2: Erstellen einer Aufgabe in Windows
- Jetzt wird noch zur Automatisierung im Aufgabenplaner ein neuer Task mit den gewünschten Vorgaben erstellt.
![](https://info.eisenach.schule/wp-content/uploads/2024/05/image.png)
![](https://info.eisenach.schule/wp-content/uploads/2024/05/image-1-1024x493.png)
Befehl für die Aufgabe zum Ausführen
sqlcmd -i „Pfad zum SQL Script“
Schritt 3: Anpassen der Firewall-Regeln
- für den SQLCMD-Befehl muss auch noch die Firewall angepasst werden
- Anleitung:
https://learn.microsoft.com/de-de/sql/sql-server/install/configure-the-windows-firewall-to-allow-sql-server-access?view=sql-server-ver16 - In der Regel wird der Port 1433 genutzt (andernfalls wird der MSSQL.exe der zu sichernden Datenbankinstanz in der Firewall benutzt)
- Nach der Freigabe in der Firewall werden die Ports noch im SQL Server Configurations Manager angepasst
-> SQL Server-Netzwerkkonfiguration aufklappen
-> Protokoll für „DB-Name“
-> doppelklick auf TCP/IP im rechten Fenster
-> im neuen Fenster auf den TAB „IP-Adressen„
-> im unteren Bereich bis zum Menüpunkt „IPAll“
-> TCP-Port eintragen mit 1433 oder den Port, welcher für die Firewall definiert wurde
-> alle Fenster schließen und die SQL Dienste neu starten