it-twak
Goto Top

Scripting DB Backup on Remote

Hey,

hoffe hier sind ein paar fitte Scripting-Guys unterwegs. :P

Folgendes:

Ich möchte auf einem Hyper-V Host 2-3 Server virtualisieren. Einer davon ein SQL Server auf welchem ich Prüfpunkte erstellen möchte.

Wenn ich einen Prüfpunkt via Powershell einspiele möchte ich außerdem auswählen welches DB Backup er in den SQL Server einspielen soll.

Nun habe ich mit <Invoke> gearbeitet und folgendes Script erstellt:

#Variablendefinition

$SQLServer = "172.16.0.103"
$DC02Domäne = "testinstall.local"
$Benutzername = "administrator"

#automatisierte Übergabe der Credentials
$passwort = get-content D:\TEST-FS\Scripts\Automatisiert\securestring.txt | ConvertTo-SecureString
$cred = New-Object -TypeName System.Management.Automation.PSCredential `
-argumentlist $Benutzername, $passwort


$RemoteName = Get-PSSession | ft ComputerName -HideTableHeaders


#Remote-Shell zum SQL Server herstellen
$s = New-PSSession 172.16.0.103 -Credential $cred
#Enter-PSSession -ComputerName "172.16.0.103" -Credential $cred

Invoke-Command -FilePath D:\TEST-FS\Scripts\Automatisiert\test.ps1 -Session $s


der Inhalt von test.ps1 ist folgender:

$dt = Get-Date -Format yyyyMMddHHmmss
$dbname = "testdb"

Import-Module sqlps -DisableNameChecking
set-location SQLServer:\SQL\Install-FS-SQL\Default\Databases


Backup-SqlDataBase -Database $dbname -BackupFile "C:\backuptemp\$($dbname)_db_$($dt).bak"


Beim Ausführen sagt er: Login failed for user 'Install-FS-SQL\Administrator'

Wo ist mein Denkfehler?^^

Danke im Voraus.

Content-ID: 311737

Url: https://administrator.de/contentid/311737

Ausgedruckt am: 24.11.2024 um 08:11 Uhr

atze187
atze187 04.08.2016 aktualisiert um 13:12:17 Uhr
Goto Top
Hi,

Du meldest dich zwar am Windows-Server, nicht jedoch am SQL-Server an. Du musst in der test.ps1 noch die Credentials an den SQL-Server übergeben, die die Berechtigung zum durchführen des Backups haben.

Backup-SqlDatabase

Gruß,
André
IT-twak
IT-twak 04.08.2016 um 13:32:40 Uhr
Goto Top
Ahhh genau danke.
Habe vermutet so einen Fehler eingebaut zu haben.
Manuel es auszuführen hat eben funktioniert nur ins Script muss ich es jetzt noch bekommen. :D

Danke