7 MSSQL数据库备份与恢复

MSSQL数据库备份

1 SQLAgent配置
2 设置连接属性
3 输入SA账号密码
4 SQL备份脚本配置
5 生成SQL全量备份脚本
6 生成SQL差异备份脚本
7 修改SQL差异备份脚本
8 SQL全量备份策略
9 SQL差异备份策略
10 SQL全量备份
11 SQL差异备份


12 MSSQL数据库恢复
13 生成恢复脚本
14 备份脚本修改
15 执行恢复操作

-----------------------------------------------------------------------------------------------------------------------------------------

第一章 MSSQL备份

1、确定MSSQL数据库能正常使用

2、在windows上安装nbu客户端软件,安装客户端软件同时会自动把MSSQL agent安装了,安装完毕并重启。

3、在客户端的netbackup MSSQL client工具的set server connections properties属性里设置MSSQL的用户名和密码,输入用户名和密码后,按apply,然后关闭。

7 MSSQL数据库备份与恢复

7 MSSQL数据库备份与恢复

4、生成备份MSSQL各类型备份脚本(完全备份/差异备份/日志备份等)

在客户端打开netbackup MSSQL client工具,选择backup SQL server objects

7 MSSQL数据库备份与恢复

选择要备份的数据库/备份类型,选择保存save,然后单击backup,保存备份脚本。

7 MSSQL数据库备份与恢复

7 MSSQL数据库备份与恢复

5、设置备份MSSQL的备份策略

选择策略类型为MS-SQL-Server

7 MSSQL数据库备份与恢复

添加一个备份计划,备份类型选为automatic backup。不能把Default-Application-Backup删除,它实际是备份MSSQL的计划,并把它的保留数据时间retention改成与automatic backup的retention一样。

7 MSSQL数据库备份与恢复

添加客户端

7 MSSQL数据库备份与恢复

添加客户端创建的备份脚本,只能添加一种脚本。

7 MSSQL数据库备份与恢复

6、进行手动备份测试

7 MSSQL数据库备份与恢复

7 MSSQL数据库备份与恢复

第二章 SQL Server恢复

恢复数据库时,不用把MSSQL实例服务停止,并且不用把其他普通数据库删除掉。

1、在服务器端的backup/archive and restore工具里specify netbackup machines and policy type设置好源和目的机器、恢复策略类型为MS-SQL-Server

7 MSSQL数据库备份与恢复

7 MSSQL数据库备份与恢复

7 MSSQL数据库备份与恢复

7 MSSQL数据库备份与恢复

2、在服务器端用netbackup MSSQL client进行恢复MSSQL

选择restore SQL Server objects

7 MSSQL数据库备份与恢复

选择数据库

7 MSSQL数据库备份与恢复

选择要恢复的数据库,一次只能选择一个数据库。选上use replace option(能够代替已有数据库文件)和recovered(自动对数据库进行恢复,这样不会在恢复完成后发现数据库是灰色的,数据库变成不可用),数据库检查选为none,选上launch immediately后按restore进行恢复。在activity monitor里可以看到恢复作业进度。

7 MSSQL数据库备份与恢复

这里是本机恢复还原,如果需要使用脚本还原的话,要先制作脚本,然后修改脚本;制作脚本时,上图的launch immediately 改成 save; 然后修改脚本(因为这个文档是另外工程师写的,我在我的测试环境补充完整,所以看到的恢复数据库名会不一样)

7 MSSQL数据库备份与恢复

注意:

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 filesopenv etbackupdbaltnames

2)允许客户端恢复,设置如下(nbu软件服务器上操作master server): 
On a Windows master server, run the command: 
<install_path>VERITASNetBackupinadmincmdpgetconfig

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错误