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

相关推荐

  • 聊聊CentOS6的启动过程

    前言:     作为一个合格的运维人员,系统的启动过程我们需要牢记在心,此文不深入探讨,只求大致理解CentOS6的启动过程。 一张图带你了解CentOS6的启动过程 注意:图片放大查看效果更佳 上图各阶段详解 POST:计算机开机时BIOS对其各硬件的简单测试,测试各硬件的完整性 BootSqunce:加电自检后根据…

    Linux干货 2016-03-14
  • 第十周:Linux系统启动流程及shell脚本练习

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) 一张图足以说明一切: 2、为运行于虚拟机上的CentOS 6添加一块新硬件,提供两个主分区;   (1) 为硬盘新建两个主分区;并为其安装grub;   (2) 为硬盘的第一个主分区提供内核和ramdisk文件;为第二个分区提供rootfs;   (3)…

    Linux干货 2016-11-30
  • iptables基础概念

    iptables基本概念梳理 前言 netfilter/Iptables (其中包括netfilter和Iptables两个组件)组 成了Linux平台下的包过滤防火墙,它与大多数的Linux自带软 件一样,这个防火墙是免费提供的,它可以代替昂贵的企业级 防火墙来解决实际问题与实际方案,完成封包过滤,封包重定 向和网络地址转换等功能。 一、工作原理 数据包从…

    Linux干货 2016-12-19
  • 常见RAID介绍

    RAID简介 独立硬盘冗余阵列(RAID, Redundant Array of Independent Disks),旧称廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks),简称磁盘阵列。主要目的是把多块硬盘组合起来提高数据处理能力、容错功能等 根据实现方式分为硬件和软件两种  硬件RAID:通过RAID…

    2016-04-12
  • bash脚本编程之算术运算和文件查找

    算数运算在每个编程语言里面是最基本的功能,在bash里面也是.相对于其他编程语言来说在bash里面不能直接以变量加上变量的形式来表现;比如我们先声明两个变量num1和num2然后再做运算。 num1=2 num2=3 echo "$num1+$num2" 2+3 这里我们显示的结果直接为2+3只是做了变量的替换,而不是做两个变量…

    Linux干货 2016-12-23
  • 马哥网络班21期,第三周作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。     who | cut -d " " -f1 | sort -u     who:查看当前系统所有用户的会话     cut:剪切命令       cut…

    Linux干货 2016-07-26

评论列表(1条)

  • stanley
    stanley 2015-10-31 22:22

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