РЕДАКТИРОВАТЬ: перечитать ваш вопрос и marc_s ответ мой ответ будет работать только в том случае, если на удаленном сервере вы говорите о сервере в вашей сети где-то. Если вы говорите о размещенном SQL Server в другом домене где-то, то marc_s прав, и мой ответ бесполезен . В любом случае, я оставлю это здесь, если вы говорите о сервере в вашем домене.
Edit Ends
После установки общего ресурса в моем локальном каталоге C: \ tmp этот бит Powershell выполняет резервное копирование.
[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMO') | out-null
# may need this instead [System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SmoExtended') | out-null
$datePart = Get-Date -Format "yyyyMMdd_hhmm"
$targetDir = '\\LocalMachineName\tmp\' # change to fit your specs
$dbname = "DatabaseNameToBackUp"
$s = new-object ('Microsoft.SqlServer.Management.Smo.Server') 'remoteSqlServer'
$bckfile = $targetDir + $dbname + "_" + $datePart + ".bak"
$dbbk = new-object ('Microsoft.SqlServer.Management.Smo.Backup')
$bdi = new-object ('Microsoft.SqlServer.Management.Smo.BackupDeviceItem') ($bckfile, 'File')
$dbbk.Action = 'Database'
$dbbk.BackupSetDescription = "Full backup of " + $dbname
$dbbk.BackupSetName = $dbname + " Backup"
$dbbk.Database = $dbname
$dbbk.MediaDescription = "Disk"
$dbbk.Devices.Add($bdi)
$dbbk.SqlBackup($s)
$dbbk.Devices.Remove($bdi) |out-null
$bckfile = $null
Я знаю, что вы не упомянули Powershell, но, увидев тег .net, я подумал, что это может помочь. Не должно быть слишком много усилий, чтобы переписать на ваш вкус .net по выбору.