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-Key: 311737

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

Printed on: April 25, 2024 at 13:04 o'clock

Member: atze187
atze187 Aug 04, 2016 updated at 11:12:17 (UTC)
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é
Member: IT-twak
IT-twak Aug 04, 2016 at 11:32:40 (UTC)
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