Sqlserver2012(主从复制)共享同步日志备份恢复

SQL Server 2012相对于SQL Server 2008来说,无论是性能还是功能都有一个相当大的提高,甚至可以用“革命”来形容这一次升级。SQL Server 2012使 SQL Server 跻身于企业级数据库行列。在数据高可用性方面,SQL Server 2012为用户提供了数据镜像、复制、故障转移群集、日志传送功能。简单介绍SQL Server 2012日志传送功能。 

  一、 日志传送简介 

   日志传送一般有主服务器、辅助服务器、监视服务器组成。主服务器一般是存储生产数据库的服务器,辅助服务器用来存储主服务器上生产数据库的副 本,监视服务器用来记录日志传送的所有细节服务器,监视服务器是可选的。日志传送是将主服务器的生产数据库的事务日志复制到辅助服务器并在辅助服务器还 原,从而实现主服务器生产数据库和辅助服务器数据库副本数据的一致。

blob.png

     图1

 日志传送要求主服务器生产数据库的日志恢复模式是完全或者大容量日志模式,将数据库切换为简单恢复模式会导致日志传送停止工作。辅助服务器是用来保存主 数据库的最新备份的服务器。一台辅助服务器可以包含多台不同主服务器中数据库的备份副本。例如,某个部门可能有五台服务器,每台服务器都运行关键数据库系 统。在这种情况下,可以只使用一台辅助服务器,而不必使用五台单独的辅助服务器。五个主系统上的备份都可以加载到这个备份系统中,从而减少所需的资源数量 并节省开支。监视服务器应独立于主服务器和辅助服务器,以避免由于主服务器或辅助服务器的丢失而丢失关键信息和中断监视。一台监视服务器可以监视多个日志 传送配置。在这种情况下,使用该监视服务器的所有日志传送配置将共享一个警报作业。 

  日志传送操作由四个操作组成:备份作业、复制作业、还原作业和警报作业。 

  •备份作业,日志传送在主服务器实例上为每个主数据库创建一个备份作业。它执行备份操作,将历史记录信息记录到本地服务器和监视服务器上,并删除旧备份文件和历史记录信息。 

  •复制作业,日志传送在辅助服务器实例上为每个日志传送配置创建一个复制作业。此作业将备份文件从主服务器复制到辅助服务器,并在辅助服务器和监视服务器上记录历史记录信息。 

  •还原作业,日志传送在辅助服务器实例上为每个日志传送配置创建一个还原作业。此作业将复制的备份文件还原到辅助数据库。它将历史记录信息记录在本地服务器和监视服务器上,并删除旧文件和旧历史记录信息。 

  •警报作业,如果使用了监视服务器,将在警报监视器服务器实例上创建一个警报作业。此警报作业由使用监视器服务器实例的所有日志传送配置中的主数据库和 辅助数据库所共享。对警报作业进行的任何更改(例如,重新计划作业、禁用作业或启用作业)会影响所有使用监视服务器的数据库。

   二、配置实例  

 1、准备工作 

  首先确保生产数据库日志恢复模式为大容量日志模式或者是完整模式。若恢复模式为简单,则在设置“将此数据启用为日志传送中配置中的主数据库”时出错。 

   其次规划事务日志存放目录,存放事务日志目录要求有两个,一个用来存放主服务器备份,一个用来存放辅助服务器还原的备份文件。这两个目录可以分别建在主 服务器和辅助服务器上,但是更好的做法是把主服务器的备份目录放在某文件服务器上,这样可以减少主服务器的I/O读写次数。 

  修改主服务 器和辅助服务器上的 Sqladmin启动账号。在主服务器上,定时备份事务日志是通过SQL作业来完成,确保启动Sqladmin账号能够访问用来存放由备份作业产生的事务日志目录。辅助服务器上复制作业和备份作业同样是由Sqladmin 作业完成,确保的启动Sqladmin账号要求能够访问主服务器存放事务日志的目录,同时也要求能够访问由复制作业复制过来用来存放辅助服务器还原的事务日志的目录。  

 2、配置步骤 

  为了说明配置步骤,笔者在同一台机器上装了二个实例:SERVER01,SRVER02,笔者的机器名称为DB_Backup,规划了2个文件夹, D:\DB_Backup用为存放主数据库的完整备份,用于初始化辅助服务器,这个文件夹要求辅助服务器的启动Sqladmin账号能访问; D:\DB_Backup用来存放由备份作业备份出来的主服务器的事务日志,设置成共享文件夹,这个文件夹要求辅助服务器的启动 Sqladmin账号能访问; D:\DB_Backup用来存放由辅助服务器上复制作业从主服务器的复制过来的主服务器的事务日志,也设置成共享的,这个 文件夹要求辅助服务器的启动Sqladmin账号能访问(如图2所示)。

blob.png

SERVER01设置成为主服务器,主数据库为datbaseR。将SERVER02设置成为辅助服务器。 

  第一步:备份主数据库到 D:\DB_Backup database.BAK(主数据库的完整备份)。 

  第二步:在 SERVER01database数据库上单击右键,选择”任务”中的“传送事务日志”,打开事务日志传送配置窗口,单击“将此数据库启用为日志传送配置中的主数据库 ”(如图3所示)

blob.png


实验一


1.案例架构图

blob.png 

机器

目录

备注

Master-192.168.250.168

\\:    D:\DB_Backup

Sqladmin用户密码一致

Slave-192.168.250.169

\\:    D:\DB_Backup

Sqladmin用户密码一致

2.    部署调试

(1)   配置(分别在168169服务器上创建sqladmin用户)

blob.png

(2)调整权限

blob.png

(3)创建共享目录(分别在168169服务器上创建)并给予添加sqladmin权限

blob.png

(4)修改(两台)mmsql的管理器配置sqladmin

blob.png

(5)修改(两台)sqlserver\Administrator 账户的身份验证模式服务器代理模式

登陆sqlserver

blob.png

blob.png

(6)实施制定作业的配置

blob.png

设置开始(包括日志创建的时间)

blob.png

添加辅助服务器配置slave-169

blob.png

填写本地的slave日志存放目录

blob.png

设置日志恢复数据库的时间

blob.png

保存配置脚本

blob.png

没事可以研究下

点击确定(最后显示日志备份的结果)

查看从服务数据库的结果

blob.png


3.数据库测试

(1)测试日志数据同步效果

blob.png

blob.png

Master-192.168.250.168主服务上创建测试表ttt_student

blob.png


查看结果:slave-192.168.250.179

blob.png


4.细节

根据调度备份时间来恢复slave的数据

blob.png

以上就是sqlserver2012通过日志同步还原备份


5.几个建议

1.sqlserver日志实时同步时会在造成数据当前连接数终端!

2.以上环境建议在域环境中部署!!!

3.在内网中部署,避免额外的流量开销。

4.请大家多多指点了。




原创文章,作者:zzxtbl,如若转载,请注明出处:http://www.178linux.com/9079

评论列表(1条)

  • stanley
    stanley 2015-10-31 22:22

    置顶了,写的可是详细,只是少了些格式,但详尽的内容弥补了这块不足,如有更好