Microsoft SQL Datenbank Backup

Posted on: 24. September 2019
Alle Infos die du brauchst um das Video erfolgreich umzusetzen:
Nach diesem Video wirst du in der Lage sein;
– Backups von Datenbanken zu erstellen, welche auf einer lokalen oder einer Remote-Instanz existieren

Wir sind offen und gespannt auf deine Anregungen: Input-Formular
Am einfachsten schaust du das Video und hast dazu diesen Code offen. So kannst du auch den Code in deiner gewünschten Grösse darstellen und kannst dem Video einfacher folgen.
——————————————–
# Parameter definieren            
param(            
    [parameter(mandatory=$true)]            
    [validatecount(1, 10)]            
    [string[]]$instanzen,            
    [parameter(mandatory=$true)]            
    [validatepattern("[A-Z]")]            
    [validatecount(1, 9)]            
    [string]$dbs            
)            
            
# Modul importieren            
import-module sqlserver            
            
            
# Ordner Vorbereitungen            
$holedatum = get-date -Format 'yyyyMMdd'            
$pfadzumbackup = "E:\backup_instance\"            
            
if(!(test-path -Path "$($pfadzumbackup)\$holedatum")){            
try{            
    new-item -path $pfadzumbackup -Name $holedatum -ItemType Directory | Out-Null            
}catch{            
    write-host "Ordner für Backup konnte nicht erstellt werden" -ForegroundColor Yellow            
}            
}            
else{            
    write-host "Backup-Ordner existiert bereits" -ForegroundColor Yellow            
}            
            
# For-Schleife für mehrere Instanzen            
for($i = 0; $instanzen.count -gt $i; $i++){            
write-host "Backup von der Datenbank $dbs auf der Instanz $($instanzen[$i]) wird erstellt" -ForegroundColor Yellow            
            
# Backup für remote Instanzen            
if($instanzen[$i] -ne "DESKTOP-836ONP5\testinstance" -and !$instanzen[$i] -eq $false){            
Invoke-Command -ComputerName $instanzen[$i].Substring(1, 15) -ScriptBlock {            
Backup-SqlDatabase -ServerInstance $args[1].Substring(1, 15) -Database $args[0] -BackupFile "$($args[2])\$($args[1].replace('\test', '_test'))_$($args[0]).bak"            
            
} -ArgumentList $dbs, $instanzen[$i], $pfadzumbackup, $holedatum            
}            
# Backup für eine lokale Instanz            
elseif($instanzen[$i] -eq "DESKTOP-836ONP5\testinstance" -and !$instanzen[$i] -eq $false){            
    Backup-SqlDatabase -ServerInstance $instanzen[$i] -Database $dbs -BackupFile "$pfadzumbackup\$holedatum\$($instanzen[$i].Replace('\test', '_test'))_$($dbs).bak"            
            
}            
else{            
    write-host "$($instanzen[$i]) existiert nicht"            
}            
} # ende von for-schleife            
——————————————–
Hat dir das Video gefallen und etwas gebracht, dann freuen wir uns immer auf dein Feedback. Daumen nach oben, Kommentar und Abo sind geeignete Mittel um das auszudrücken. Falls du kannst, mache doch auch deine Kollegen auf unseren Kanal aufmerksam. Denn so wachsen wir zusammen stetig weiter und das freut uns alle. Win-Win-Win.
Falls du spezielle Anforderungen an Scripts oder Auftragsarbeiten hast, kannst du mich gerne direkt per Email erreichen. Alle Infos dazu sind hier Kontakt
Ich hoffe du verstehst, dass ich nur Videos zu Themen machen kann, die ein grösseres Interesse von verschiedenen Leuten haben. Benutzerspezifische Scripts erstelle ich ausschliesslich als Auftragsarbeiten oder im Mandat.

Da wir sämtliche Videos kostenlos zur Verfügung stellen und auch keine Werbung reinpacken, sind wir immer froh für eine kleine Spende. Vielen Dank bereits dafür.