2011-11-28 78 views

回答

0

有多种选择。只要启用它,T-SQL就提供xp_cmdshell来执行dos命令。有了这个,只要有一个有效的Windows路径到这两个位置(当然,权限设置恰当)或者调用可编写脚本的FTP客户端,就可以复制文件。当然,我必须指出xp_cmdshell由于很好的原因被默认禁用,并且启用可能会大大降低安全性。我已经多次使用它来完成您所描述的几乎所有内容,但是您必须充分考虑安全后果。

如果你通过网络移动它,你可能也想使用压缩。你当然可以用WinZip或7-Zip之类的东西来做,但许多第三方SQL备份程序如Red Gate's SQL Backup都内置了压缩。

最后,您可能会考虑从SQL以外的地方进行此操作,例如通过更优雅地处理文件操作的Powershell,并且可以通过SMO与SQL Server一起使用。

+0

其实我是新到SQL Server,有移动使用SQL脚本而不是使用DOS程序,所有这些文件的任何直接的方式。 – user922161

+1

不在TSQL中。 TSQL首先是一种查询语言,尽管它有像xp_cmdshell这样的东西来提供灵活性。 SSIS有选择,但即使SSIS也会在幕后调用OS命令。当我开始时(在Powershell出现之前),我经常使用xp_cmdshell来完成您所描述的内容。现在,我建议使用Powershell和Task Scheduler,如果你需要它的话,除非在SQL里面有一些非常有说服力的理由。 – TimothyAWiseman

相关问题