我需要每天将生产数据库更新到另一台客户端服务器。
要求:我需要及时将.bak文件从服务器a移动到服务器b。
我们在这些服务器之间没有任何网络驱动器。
有没有办法使用Sql Server移动这些文件..
没有BIDS。
答案 0 :(得分:0)
有很多选择。只要启用它,T-SQL就会提供xp_cmdshell
来执行dos命令。这样,只要两个位置都有一个有效的Windows路径(当然,权限设置得当)或者调用可编写脚本的FTP客户端,就可以复制文件。当然,我必须指出,xp_cmdshell
默认情况下是有效的,并且启用可能会大大降低安全性。我已经多次使用它来做几乎所描述的内容,但你必须充分考虑安全性后果。
如果您通过网络移动它,您可能也想使用压缩。你当然可以使用像WinZip或7-Zip这样的东西,但许多第三方SQL备份程序如Red Gate's SQL Backup已内置压缩。
最后,您可以考虑从SQL之外进行此操作,例如通过Powershell,它可以更优雅地处理文件操作,并且可以通过SMO与SQL Server一起使用。
答案 1 :(得分:0)