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

(3)
zzxtblzzxtbl
上一篇 2015-10-27
下一篇 2015-10-31

相关推荐

  • Linux 用户, 组和权限

    用户, 组和权限 Linux登陆需要用户名、密码。/etc/passwd 文件保存用户名。登录linux时,Linux 先查找 /etc/passwd 文件中是否有这个用户名,没有则跳出,有则读取用户名的user ID 、 group ID 、用户名对应的根目录路径以及所使用的 shell ,最后在 /etc/shadow 中核对该 UI…

    2017-07-22
  • 关于大型网站技术演进的思考(三):存储的瓶颈(3)

    原文出处: 夏天的森林    存储的瓶颈写到现在就要进入到深水区了,如果我们所做的网站已经到了做数据库垂直拆分和水平拆分的阶段,那么此时我们所面临的技术难度的挑战也会大大增强。 这里我们先回顾下数据库的垂直拆分和水平拆分的定义: 垂直拆分:把一个数据库中不同业务单元的数据分到不同的数据库里。 水平拆分:是根据一定的规则把同一业务…

    Linux干货 2015-03-03
  • 马哥linux运维26期开班感悟

         今天的收获,有以下几点      1.自己的公众演说能力很弱,要多多练习,给自己更多的机会。     2.自己想提升自己的心很强,但是自己却不知道该怎么做?     3.即便学完了也只是一个开始,希望自己有一颗归零的心态。

    Linux干货 2017-07-10
  • tomcat

    tomcat 简述 tomcat的结构 tomcat配置 总结与问题 简述 什么是tomcat? tomcat是一个java2ee的web容器的残缺实现,提供了serverlet,asp转换等组件。 tomcat的功能? tomcat能够将asp文件通过转换,转换为serverlet格式,这样子就可以被java识别运行并将结果转为asp响应,并且tomcat…

    2016-06-24
  • 马哥linux2014|2015全套教程

    1、本课程全程将基于集成了Openstack云环境、支持高精度时间(PTP)及虚拟化性能大大提升的RHEL 6.5或CentOS 6.6,间或介绍CentOS 7系统的使用; 2、此文章给出的只是个课程知识点框架,实际讲解过程相当精细;另外,知识点讲授的次序未必同此文章所标示的顺序相同; 3、第15期面授班定于2015年3月24号开课;本期将会是马哥教育数年…

    Linux干货 2015-07-14
  • 8.10 shell scripts 作业

    1、编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小。 [root@CentOs6 bin]# systeminfo.sh        Hostname:&n…

    Linux干货 2016-08-12

评论列表(1条)

  • stanley
    stanley 2015-10-31 22:22

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