出于安全考虑,SQL数据库备份文件,很多时候需要本地备份完后,传输至远程服务器保留,下面脚本利用SQL代理作业,对多个数据库进行备份后传输至远程服务器

--Backup(循环备份多个数据库)

Declare @str varchar(max)=''

select

@str=@str+'Backup Database '

+name+' to disk = ''E:\test\sqlbak\'

+name+'_'+replace(replace(replace(convert(nvarchar(16),getdate(),120),'-','_'),':','') , ' ','_')

+'.bak'' with compression,init;'

from sys.databases where name in ('dev','weekseo')

select @str ;

exec (@str);

EXEC xp_cmdshell 'ftp -s:E:\test\ftpconfig.txt 127.0.0.1'

--Del backupfile(删除过期的备份文件)

Declare @Date datetime

select @Date=GETDATE()-10

print @Date

EXECUTE master.dbo.xp_delete_file 0,N'E:\test\sqlbak',N'bak',@Date

注意:上面脚本,其中E:\test\ftpconfig.txt 是FTP的配置文件,包括用户名密码等信息,这里不做介绍,E:\test\sqlbak为数据库本地备份目录。另外127.0.0.1要调整成自己的远程服务器

点赞(1) 打赏

评论列表 共有 0 条评论

暂无评论

企业微信号

微信扫一扫咨询

微信公众号

关注我们,定期优惠

立即
投稿
发表
评论
返回
顶部
展开