Powershell-Befehl zum Sichern einer SQL Server-Datenbank

9

Gibt es einen PowerShell-Befehl, der eine Sicherung aller Datenbanken auf einem Server ausführt?

Kann ich alternativ einen gespeicherten Prozess von PowerShell aus aufrufen (der die Sicherung ausführt)?

Kerl
quelle
1
Es wird schön sein zu wissen, wie die Skripte in diesem Szenario funktionieren. Gibt es einen Grund, warum Sie dies der nativen Art der Sicherung einer SQL Server-Datenbank vorziehen würden?
MarlonRibunal
Was ist die native Methode zum Sichern einer SQL Server-Datenbank? Derzeit öffne ich SSMS und führe einen gespeicherten Prozess aus, der alle DBs in einem Verzeichnis sichert. Dann führe ich ein Powershell-Skript aus, das all dies an einen Sicherungsspeicherort verschiebt. Meine Absicht ist es, dies in einem Schritt von Powershell anstelle von 2 Schritten zu tun.
Guy

Antworten:

9

Wenn Sie SQL Server 2008 ausführen, verfügen Sie über Powershell-Bindungen. Siehe diesen Link

Die PowerShell von SQL Server 2008 verfügt über ein Cmdlet invoke -sqlcmd .

QUentin
quelle
4

Es ist möglich, dass Sie einige Voraussetzungen installiert haben müssen (nämlich die Microsoft SQL Server 2005-Verwaltungsobjektsammlung ), und es ist ziemlich viel Powersehll-Code erforderlich, es gibt jedoch eine Reihe von Artikeln, die vorhanden sind es ist schon für dich erledigt. Ich habe diese Methode in der Vergangenheit erfolgreich angewendet .

Sam Cogan
quelle
+1 für SMO .....
dance2die
2

Sie können ADO.NET von PowerShell verwenden, um einen gespeicherten Prozess auszuführen.

Siehe dieses Beispiel .

Richard
quelle
Gute Alternative.
Dance2die
2

Das CodePlex-Projekt SQL Server PowerShell Extensions (SQLPSX) enthält Funktionen für PowerShell-basierte SQL Server-Datenbanksicherungen . Schauen Sie sich Invoke-SqlBackup an oder schauen Sie sich das SQLMaint-Modul an, wenn Sie eine vollständige Sicherungs- und Wartungsroutine implementieren möchten.

Chad Miller
quelle