7 MSSQL数据库备份与恢复
NetBackup for SQL Server 扩展了 NetBackup for Windows 的功能,以包括备份和还原 SQL Server 数据库的功能。这些功能是使用 UNIX 或 Windows NetBackup 主
服务器为 Windows 客户端提供的。NetBackup for SQL Server 提供了一个基于客户端的图形用户界面 (GUI) 程序,以便于在 SQL Server 上执行各种活动。
一、 MSSQL数据库备份
1 SQLAgent配置
2 设置连接属性
3 输入SA账号密码
4 SQL备份脚本配置
5 生成SQL全量备份脚本
6 生成SQL差异备份脚本
7 修改SQL差异备份脚本
8 SQL全量备份策略
9 SQL差异备份策略
10 SQL全量备份
11 SQL差异备份
二、 MSSQL数据库原机恢复
1 生成恢复脚本
2 备份脚本修改
3 执行恢复操作
三、MSSQL数据库异机恢复
-----------------------------------------------------------------------------------------------------------------------------------------
第一章 MSSQL备份
1、确定MSSQL数据库能正常使用
2、在windows上安装nbu客户端软件,安装客户端软件同时会自动把MSSQL agent安装了,安装完毕并重启。
3、在客户端的netbackup MSSQL client工具的set server connections properties属性里设置MSSQL的用户名和密码,输入用户名和密码后,按apply,然后关闭。
4、生成备份MSSQL各类型备份脚本(完全备份/差异备份/日志备份等)
在客户端打开netbackup MSSQL client工具,选择backup SQL server objects
选择要备份的数据库/备份类型,选择保存save,然后单击backup,保存备份脚本。
5、设置备份MSSQL的备份策略
选择策略类型为MS-SQL-Server
添加一个备份计划,备份类型选为automatic backup。不能把Default-Application-Backup删除,它实际是备份MSSQL的计划,并把它的保留数据时间retention改成与automatic backup的retention一样。
添加客户端
添加客户端创建的备份脚本,只能添加一种脚本。
6、进行手动备份测试
第二章 SQL Server恢复
恢复数据库时,不用把MSSQL实例服务停止,并且不用把其他普通数据库删除掉。
1、在服务器端的backup/archive and restore工具里specify netbackup machines and policy type设置好源和目的机器、恢复策略类型为MS-SQL-Server
2、在服务器端用netbackup MSSQL client进行恢复MSSQL
选择restore SQL Server objects
选择数据库
选择要恢复的数据库,一次只能选择一个数据库。选上use replace option(能够代替已有数据库文件)和recovered(自动对数据库进行恢复,这样不会在恢复完成后发现数据库是灰色的,数据库变成不可用),数据库检查选为none,选上launch immediately后按restore进行恢复。在activity monitor里可以看到恢复作业进度。
这里是本机恢复还原,如果需要使用脚本还原的话,要先制作脚本,然后修改脚本;制作脚本时,上图的launch immediately 改成 save; 然后修改脚本(因为这个文档是另外工程师写的,我在我的测试环境补充完整,所以看到的恢复数据库名会不一样)
注意:
Nbu恢复master datbase时,不需要把MSSQL实例停止并启动到单用户模式下,但要选上use replace option(能够代替已有数据库文件)和recovered(自动对数据库进行恢复,这样不会在恢复完成后发现数据库是灰色的,数据库变成不可用)。在恢复过程中,MSSQL实例会被nbu关闭再启动。
如果整个MSSQL数据库出现崩溃的话,先恢复master database再恢复其他普通数据库。
恢复普通数据库时,如果恢复完成后发现数据库是灰色的,并且显示“正在加载”,则需要用户进入到SQL分析器里输入如下命令:restore database database-name with recovery
第三章 SQL Server异机恢复
恢复前提:(这三点非常重要,切记,否则,恢复会出现各种各样的问题)
1. 确认源主机和目的主机,安装相同的操作系统,版本和补丁都要相同;
2. 确认源主机和目的主机的SQL数据库的版本相同包括补丁
3. 确认Server服务器、源主机和目的主机的NBU的版本以及补丁相同
日志分析:一般client备份方式,日志都会保存在dbclient下面,以及bphdb是运行脚本后生成的日志;
一般vmware的备份日志存放在,bpVMutil,bpVMreq和bpfis下面,其中bpfis是做快照的日志;bpvmutil 是关于策略配置和还原的日志;bpvmreq 是恢复时的日志
异机恢复的步骤跟上面的差不多,但是需要特别说明两点:
1) 允许异机恢复(nbu软件服务器上操作master server)
将该主机配置为允许重定向恢复(即允许异机恢复)(linux环境)
#su – root
#mkdir –p /usr/openv/netbackup/db/altnames/
#cd /usr/openv/netbackup/db/altnames/
#touch No.Restrictions
将该主机配置为允许重定向恢复(即允许异机恢复)(windows环境)
cd c:\program files\openv\netbackup\db\altnames\
2)允许客户端恢复,设置如下(nbu软件服务器上操作master server):
On a Windows master server, run the command:
<install_path>\VERITAS\NetBackup\bin\admincmd\bpgetconfig
DISALLOW_CLIENT_LIST_RESTORE = YES
DISALLOW_CLIENT_RESTORE = YES
一定要改为DISALLOW_CLIENT_LIST_RESTORE和DISALLOW_CLIENT_RESTORE为NO
DISALLOW_CLIENT_LIST_RESTORE = NO
DISALLOW_CLIENT_RESTORE = NO
否则会报ORA-19507 ORA-27029 ORA-19511错误
3)对nbu library做链节放在$ORACLE_HOME/lib目录(恢复机器上操作)
cd $ORACLE_HOME/lib
ln -s /usr/openv/netbackup/bin/libobk.so .
否则会报ORA-19554 ORA-27211错误