SQL Server远程定时备份数据库脚本分享

经常会有定时备份SQL Server数据库的需要。定时备份到本机的话,还是挺容易的,计划任务就可以完成,但如果是整机挂了,那备份到本机是没意义的,那么就需要来考虑备份到局域网中,其它电脑里。

下面就分享一份在网上找了之后,自己再简单整理过的代码,配合 SQL Server 代理中的作业功能,已经稳定运行一个星期了,每小时就备份一次。

代码如下:

-- 创建网络映射(Y是盘符;IP地址后面要带共享文件夹的名称;password是密码,双引号引起;account是远程电脑的登录名)

exec master..xp_cmdshell 'net use Y: \\192.168.0.69\sqlbackup "password" /user:192.168.0.69\account'


-- 按日期时间做文件名(注意路径中的文件夹,需要先建立好)


declare @filename varchar(200)


select @filename = 'Y:\DB\' + replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ','-'),':','') + '.bak'


-- 执行备份(DB是要备份的数据库名称)


backup database [DB] to disk = @filename


-- 删除网络映射(Y是盘符,同上)


exec master..xp_cmdshell 'net use Y: /delete'

相关推荐