对开发人员来说数据库备份是非常重要的,无论是正常开发的版本保留还是运维数据的备份,昨天备份数据库时发现点问题整理下供大家参考:
本文是拿sql server 2008 r2为例的
1.数据库本身就有自带的数据库备份,在数据库-管理-维护计划右键新建维护计划(维护计划向导效果一样),在弹出窗口中输入计划名称(MMDBBackUp),
确认后,在整个窗口左下角将”备份数据“任务拖到设计界面,然后右键进行编辑,编辑内容包括数据库选择、备份到磁盘、存放路径、验证数据库完整性、
设置备份压缩(使用服务器默认设置), 确定完成设置(图片过大,没有给敬请谅解)。这样备份设置就完成了,下面设置什么时间执行,在子计划中点击日
历图标,执行相关的时间设置,设置完后确定就完成了数据库任务计划备份。
2.远程数据库备份:通过作业的方式实现远程数据库备份,把192.168.35.96的数据库备份到192.168.35.104,具体设置如下:
在sql server代理右键启动--作业右键新建作业--常规选项中填写作业名称、类别(数据库维护)--》步骤--新建步骤--配置相关信息(包括SQL脚本)--确定
--》计划--新建计划--配置相关信息。
SQL 脚本:
exec master..xp_cmdshell ‘net use \\192.168.35.104\测试96备份 password123 /user: 192.168.35.104\administrator‘
declare @ss varchar(50)
set @ss = convert(varchar(100),GetDate(),112)
set @ss =‘\\192.168.35.104\\测试96备份\‘+@ss+‘.bak‘
backup database MRDB to disk=@ss WITH FORMAT
exec master..xp_cmdshell‘net use \\192.168.35.104\\测试96备份 /delete‘
原理:利用xp_cmdshell创建一个网络映射,把备份好的数据库,存放到映射盘符中,测试96备份是192.168.35.104服务器的一个允许读写的共享文件夹,
执行完成后,把映射删除掉,释放资源。
SQL 脚本解析: \\192.168.35.104\测试96备份是一个网络允许读写的共享路径
password123是104服务器的登录密码
192.168.35.104\administrator是104服务器的登录用户名
@ss是确定备份后的路径以及备份文件名(\\192.168.35.104\\测试96备份\20140625.bak)
WITH FORMAT可以做到覆盖任何现有备份和创建新媒体集
xp_cmdshell一般的数据库会放到安全设置里面,需要把它开启:
执行: 启用sql备份命令
EXEC sp_configure ‘show advanced options‘, 1;-- 允许配置高级选项
RECONFIGURE;-- 重新配置
EXEC sp_configure ‘xp_cmdshell‘, 1;-- 开启xp_cmdshell
RECONFIGURE;-- 重新配置
步骤部分参考图: