我的问题很简单,我如何通过连接到远程服务器来编程SQL SMO以进行本地备份。我想将bak文件保存到连接到远程服务器的本地计算机上。另外,我希望只有特定权限的用户才能在本地保存备份。SQL Server SMO从远程服务器本地备份
5
A
回答
6
你不能 - 期。 SQL Server的备份可以将只有保存到本地磁盘 - 本地到SQL Server本身。
你不能用用任何技巧或工具将远程SQL Server备份到本地硬盘。只是不能这样做。
4
编辑:重新阅读你的问题和marc_s答案我的答案只有在远程服务器你正在谈论网络上的服务器的地方。如果你正在讨论另一个域上托管的SQL Server marc_s是对的,我的答案是没用的。无论如何,如果您正在讨论域中的服务器,我会将其留在这里。 编辑终止
在我的本地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风格的选择。
相关问题
- 1. SQL Server备份到远程服务器
- 2. 从远程服务器Vim备份
- 3. 远程MS Sql服务器备份和恢复从C#
- 4. SMO“恢复服务器失败”从文件恢复备份
- 5. 从本地回购备份到远程服务(如Bitbucket)
- 6. 如何备份我的SQL从远程服务器
- 7. SQL Server本地和远程服务器的同义词
- 8. 在VB.NET中将数据库从远程服务器备份到本地
- 9. 在Azure备份服务器上备份SQL Server
- 10. 远程SQL Server Express备份数据库
- 11. SQL Server 2008 - 如何压缩备份文件并移动到远程服务器
- 12. 如何使用SMO备份SQL本地数据库
- 13. SQL Server不允许远程服务器
- 14. 在本地备份远程数据库
- 15. 本地文件或远程服务器
- 16. 从远程服务器到本地服务器的Sftp文件
- 17. git:从备份恢复服务器/远程存储库
- 18. 使用C#&SMO,如何将备份设备添加到SQL Server?
- 19. 从服务器到本地机器的增量备份
- 20. SMO数据库备份
- 21. 如何表数据从远程服务器上的SQL Server复制到本地服务器2008
- 22. 备份服务器数据库的本地机器
- 23. 使用visual studio在备份数据库服务器上使用的备份本地sql server数据库表
- 24. 从微软SQL服务器备份SQL数据库
- 25. Mysqldump使用ftp命令备份o远程服务器
- 26. 从本地测试环境的远程服务器创建本地数据库(SQL Server)
- 27. 本地服务或远程服务?
- 28. 一个程序,从本地服务器更新记录到远程服务器
- 29. android设备备份本地服务器上的数据
- 30. SQL Server 2008备份教程