Inhaltsverzeichnis
< Alle Themen
Drucken

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.

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

Kategorien