SQLServer数据库远程备份

公司考虑到数据的安全性,除了在数据库服务器本地做备份外,要求弄个异地备份,也就是将服务器上的数据库定时备份到另外指定的服务器上。
我就考虑使用定时任务来完成这个异地备份要求。

一,备份服务器端
1.在备份服务器上空出一个磁盘,用来存放备份数据。例如G盘;
2.在该磁盘里建个文件夹用于存放备份文件,并将文件夹设置为共享
(如将G盘,DB_BC设置为共享)
在这里插入图片描述
设置共享用户,这里指定sqladmin用户(后面会用到这个用户)
在这里插入图片描述
二.数据库服务器端
在数据库服务器上新建一个作业,来执行如下远程备份语句

--打开允许执行xp_cmdshell 
	EXEC sp_configure 'xp_cmdshell',1

	exec master..xp_cmdshell 'net use \\10.11.12.13\DB_BC password /user:10.11.12.13\username'

	backup database xxx to disk='\\10.11.12.13\DB_BC\BC.bak' with init

	exec master..xp_cmdshell 'net use \\10.11.12.13\DB_BC /delete'

	--关闭允许执行xp_cmdshell 
	EXEC sp_configure'xp_cmdshell', 0

	--关闭多用户连接  在cmd执行 net use*/del/y

其中:
10.11.12.13-----是备份服务器的 IP地址;
DB_BC----------是在备份服务器上设置了共享用于存放备份文件的文件夹名称
username,password-----指的是能登陆服务器的用户名和密码(设置共享文件是必须指定这个用户,如sqladmin)
xxx--------------是要备份的数据库名称
BC.bak----------是备份后文件名

正常情况下,如上操作就能完成远程备份功能了。

如果执行远程备份报错 可以尝试排查以下情况:
1.xp_cmdshell是不是没有开启
在这里插入图片描述
2.任务所有者与当前用户不统一,则改为统一
在这里插入图片描述
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值