3
我想將局域網上的遠程數據庫備份到網絡共享驅動器。我使用.NET使用相同的方法進行了測試,但它確實有效,但我打算使用此Jenkins持續集成工具的PowerShell腳本。Powershell SQL Server 2008遠程數據庫備份
$dbserver = "dbserver"
$location = "\\otherserver\Temp\"
$user = "user"
$pwd = "password"
$timestamp=((get-date).toString("yyyy_MM_dd_hh_mm"))
$file = $location + "jira_" + $timestamp + ".bak"
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.Smo") | Out-Null
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.SmoExtended") | Out-Null
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.ConnectionInfo") | Out-Null
$connection = New-Object "Microsoft.SqlServer.Management.Common.ServerConnection"
$connection.ServerInstance =$dbserver
$connection.LoginSecure = $false
$connection.Login = $user
$connection.Password = $pwd
$server = New-Object "Microsoft.SqlServer.Management.Smo.Server" $connection
$backup = New-Object "Microsoft.SqlServer.Management.Smo.backup"
$backup.Action = 'Database'
$device = New-Object ('Microsoft.SqlServer.Management.Smo.BackupDeviceItem') ($file, 'File')
#$device.DeviceType = 'File'
#$device.Name = $file
$backup.MediaDescription = "Disk"
$backup.Database= "jira"
$backup.Devices.Add($device)
$backup.SqlBackup
我沒有得到任何異常,但也沒有得到任何信息可以幫助我排除我的代碼。使用所有可用的投擲,趕上,嘗試我只能得到。
MemberType : Method
OverloadDefinitions : {System.Void SqlBackup(Microsoft.SqlServer.Management.Smo.Server srv)}
TypeNameOfValue : System.Management.Automation.PSMethod
Value : System.Void SqlBackup(Microsoft.SqlServer.Management.Smo.Server srv)
Name : SqlBackup
IsInstance : True
我的主要問題是:執行此腳本的用戶/帳戶是否可以訪問該遠程位置?你可以嘗試將文件複製到該位置,看看是否有效?另外:如果您在SQL Server計算機上定位本地驅動器,此備份腳本是否工作? –