2016-10-24 7 views
0

Ich möchte SQL-Datenbanken über viele Instanzen hinweg sichern. Um dies zu tun, möchte ich PowerShell verwenden. Einige sind SQLExpress, also kann ich nur SQL-Agent-Jobs verwenden.Powershell - verbinden mit Central Management Server

Ich habe einen zentralen Verwaltungsserver und möchte PowerShell verwenden, um durch meine Zielserver zu navigieren und die Datenbanken zu sichern, die ich benötige.

Ich habe ein PowerShell-Skript 'Backup.ps1' und ich bin im Moment damit zufrieden.

Was ich brauche, ist eine Verbindung zum CMS in meiner PowerShell-Abfrage, die mein Skript (backup.ps1) aufruft.

Unten ist mein Skript (backup.ps1), Mein CMS ist TestCMS.

Power C: \ Backup \ Tools \ Backup.ps1 -serverName "GET-Server -TestCMS" -backupDirectory "C: \ Backup \ Backups" -daysToStoreBackups 7 >> C: \ Backup \ Logs \% date % .log

Wie lautet die korrekte Syntax zum Verbinden mit dem CMS und zum Durchlaufen meiner Ziele?

Alle Hilfe wird geschätzt.

Cheers,

R

+0

Entschuldigung, die Abfrage in der Frage ist nicht mein backup.ps1 Skript. es ist die PowerShell-Abfrage Aufruf des Skripts. – RDoogan

+0

Welche Rolle spielt der Central Management Server? Sie können das Sicherungsskript von jeder Client- und Sicherungsdatenbank ausführen. Können Sie das Skript von backup.sp1 posten? –

Antwort

0

Sie können in einer Textdatei zB servers.txt Liste der Server speichern, die die Namen aller Datenbankserver/instances wie enthalten:

server1 
server2 
server3\instance 

Führen Sie das Backup-Skript:

Get-Content $server.txt | 
    backup -serverName $_ -backupDirectory "C:\Backup\Backups" -daysToStoreBackups 7 
+0

Vielen Dank M.Hassan, ich bin neu in Powershell, aber mit SQL Erfahrung, ich habe bereits ein CMS, also dachte ich, dass Powershell mit meinem registrierten Server verbinden und gegen meine Ziele laufen könnte. Danke nochmal für deine Hilfe. Es ist viel einfacher, es so zu machen. – RDoogan