功能描述

  本方案采用日志传送模式,把核心数据库(主数据库)定期同步到灾备数据库(辅助服务器)及备份库(辅助服务器,便于其他系统使用,减轻主数据压力),期间,如果发生异常导致无法同步,将以电子邮件、短信方式通知管理人员。

系统环境

2.1硬件

主数据库: SQLHA

灾备库服务器:DisaterDBSVRA

备份库服务器:BackupDataSVR

2.2软件

主数据库:

Win2008 x64

SQL2005 SP4 x64

灾备库:

Win2008 x64

SQL2005 SP4 x64

备份库:

   同上

2.3 网络

  主数据库与灾备数据库之间网络带宽为20M.

部署过程

3.1 准备

3.1.1 设置数据库恢复模式(Recovery Model)

把主数据库、所有的备份数据库的恢复模式都设置为:完全恢复模式(FULL),操作方法为:右击数据库名称->属性->Options

3.1.2 备份主数据库

完全备份主数据库。

3.1.3 拷贝备份文件

把主数据库的备份文件拷贝到所有辅助服务器,限于两地之间的带宽,且数据库备份文件比较大,这将是一个很耗时的过程。

3.1.4 恢复辅助数据库

将备份的数据库,分别恢复到灾备数据库和备份数据库中(注意所有数据库要同名)。

恢复备份库时,选择“Leave the database non-operational and do….(RESTORE WITH NORECOVERY)”,完成之后数据库显示Restoring:

3.1.5 设置共享目录

1. 在主数据库服务器上设置共享目录\\PrimaryBackup,用户要有读写权限,用于存放每次产生的日志备份文件

2. 在所有备份服务器上设置共享目录\\SecondaryDBBackup,用户要有读写权限,用于存放从主数据库拷贝过来的备份文件。

3.1.6 准备调度计划 (JOB)

备份作业:每天2:00AM执行一次

拷贝作业:每天2:30AM执行一次

恢复作业:每天3:00AM执行一次

3.2 尾日志处理

1. 备份尾日志

尾日志是指上次对主数据库完全备份之后,在主数据库中新增加的日志。为了保证不再产生尾日志,备份尾日志之前,必须保证所有主数据库连接断开。

在主服务器master中运行备份尾日志命令:

backup log XXX to disk='Z:\PrimaryBackup\XXX-001.bak’

2. 把尾日志恢复到备份数据库

依次在各辅助服务器master中,运行以下命令:

restore log XXX from disk = ‘Z:\SecondaryBackup\XXX-001.bak ' with norecovery;

提示:部署完成之前,必须保证没有任何数据写入主数据库!

3.3 配置日志传送

鼠标右键点击主数据库->属性->Transaction Log Shipping

勾选Enable this as a primary database in a log shipping configuration.

3.3.1 配置事务日志备份计划

点击Backup Setting按钮,进入事务日志备份计划配置窗口.

1. 在Network path to backup folder输入框填写刚才创建的本机共享目录,这里是\\XXX\PrimaryBackup
2. 在If the backup folder is located on the primary server,type a local path to the folder输入框填入共享目录的本地路径,这里是C:\PrimaryBackup
3. 在Alert if no backup occurs within输入框,填入拷贝告警时间间隔(注意:默认小时)
4. 在Delete files older than输入框中,填入删除历史文件的时间长度
5. 点击Schedule按钮,设置事务日志备份调度计划.选择Occurs every,并输入发生时间,如2:00AM,设置完成之后,点击OK按钮,回到数据库属性窗口。

在Backup Setting按钮右边可以看到备份作业的调度计划描述信息。

3.3.2 配置辅助服务器

点击Add按钮,开始部署辅助服务器:

1.连接

点击Connect按钮,连接辅助数据库:

2.初始化

连接数据库成功后:

在Initialize Secondary Database页面中选择:No, the secondary database is initialized.

3.拷贝事务日志

在Copy Files页面中:

1) 输入辅助服务器的共享路径,这是存放从主服务器拷贝过来的日志文件

2) 输入删除历史文件的时间间隔

3) 点击Schedule按钮,进入拷贝事务日志作业调度计划设置窗口

同备份作业调度假话,这里也选择Occurs every,并输入时间2:30AM.

4.恢复事务日志

点击进入Recovery Transaction Log页面:

 1)选择Standby mode

 2) 勾选Disconnect users in the database when restoring backups 

 3)在Alert if no restore occurs within输入框中输入事务日志恢复预警间隔

点即Schedule按钮,设置恢复事务日志作业调度计划:

3.4 配置警告通知 (这部分略)

3.5 检查及验证

3.5.1 监控作业运行情况

Management Studio->SQL Server Agent->Jobs->右击Job History Monitor

3.5.2 作业详细运行信息

右击作业名称LSBackup_XXX->View History

3.5.3 检查是否同步

Management Studio->右击服务器名称->Reports->Transaction Log Shipping Status

Status为Good即为同步正常。

至此,日志传送方案已配置完毕,没有配置截图,请凉解。 如果大家有什么不解的地方,可以留言,我可以把部分截图发给您。

借此机会,谢谢园友们,在我们这个项目初期调研时,提供了很多对我们有价值的资料。一并感谢。我们也算开源啦:).

sql server数据同步方案-日志传送的更多相关文章

  1. SQL Server 复制 - 发布订阅(SQL Server 数据同步)

    原文:SQL Server 复制 - 发布订阅(SQL Server 数据同步) SQL Server的同步是通过SQL Server自带的复制工具来实现的,分发布和订阅2大步. A,复制-发布 发布 ...

  2. Oracle DBLink跨数据库访问SQL server数据同步 踩坑实录

    项目需求:这里暂且叫A公司吧,A公司有一套人事管理软件,需要与我们公司的软件做人员信息同步,A公司用的是SQL server数据库,我们公司用的Oracle,接口都不会开发(一万句"fuck ...

  3. SQL Server数据同步的研究(单向/双向)

    思路: 1.做中间件(简单:定时采集:复杂:分布式,订阅中心的形式,如微信的中间件:https://github.com/tencent-wechat/phxsql) 2.采用触发器的形式,有数据触发 ...

  4. 两台SQL Server数据同步解决方案

    复制的概念 复制是将一组数据从一个数据源拷贝到多个数据源的技术,是将一份数据发布到多个存储站点上的有效方式.使用复制技术,用户可以将一份数据发布到多台服务器上,从而使不同的服务器用户都可以在权限的许可 ...

  5. SQL Server数据同步到Oracle

    一.分别配置SQL Server和oracle数据库的连接信息并测试连接. 二.新增数据同步任务,配置规则,运行任务,查看日志. 支持数据自动定时抽取,转换,汇聚同步.支持一对多,多对一,多对多等数据 ...

  6. SQL Server数据同步交换

    一.为了解决数据同步汇聚,数据分发,数据转换,数据维护等需求,TreeSoft将复杂的网状的同步链路变成了星型数据链路.     TreeSoft作为中间传输载体负责连接各种数据源,为各种异构数据库之 ...

  7. elasticsearch与ms sql server数据同步

    MS SQL Server Download Elasticsearch Install Elasticsearch Follow instructions on https://www.elasti ...

  8. Docker-compose搭建ELK环境并同步MS SQL Server数据

    前言 本文作为学习记录,供大家参考:一次使用阿里云(Aliyun)1核2G centos7.5 云主机搭建Docker下的ELK环境,并导入MS SQL Server的商品数据以供Kibana展示的配 ...

  9. 浅谈SQL Server中的事务日志(二)----事务日志在修改数据时的角色

    简介 每一个SQL Server的数据库都会按照其修改数据(insert,update,delete)的顺序将对应的日志记录到日志文件.SQL Server使用了Write-Ahead logging ...

随机推荐

  1. NOT 运算符

    NOT运算符不是独立的,它是一个可以放在任何逻辑表达式前面的修饰符,能得到与结果相反的结果.所以,如果一个表达式是真,就会得到假:如果是假,就会得到真.有时测试查找条件的反面更容易.不过,NOT运算符 ...

  2. SQL日期形式转换

    在SQL Server中,有时存储在数据库中的日期格式和我们需要显示在页面上的格式不相同,我们需要转化成需要的格式. 特在此总结了一下常用的日期格式. --当前时间 SELECT GETDATE(); ...

  3. POJ 2135 Farm Tour (最小费用最大流模板)

    题目大意: 给你一个n个农场,有m条道路,起点是1号农场,终点是n号农场,现在要求从1走到n,再从n走到1,要求不走重复路径,求最短路径长度. 算法讨论: 最小费用最大流.我们可以这样建模:既然要求不 ...

  4. [转载]OpenSUSE 13.2/13.1 安装搜狗拼音输入法

    1. 添加 M17N 源: 13.2: sudo zypper ar -f http://download.opensuse.org/repositories/M17N/openSUSE_13.2/ ...

  5. 我是菜鸟,我怕谁--hdu2520

    我是菜鸟,我怕谁 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Su ...

  6. ASP.NET MVC 4.0 学习5-ActionResult

    一,Controller簡介 Controller擔任了資料傳遞的角色,負責流程控制,決定存取哪個Model以及決定顯示哪個View頁面,即ASP.NET MVC中有關於『傳遞』的任務皆由Contro ...

  7. android style="@[package:]style/style_name" ----------styles.xml

    android.widget ----XML attribute |____style="@[package:]style/style_name"

  8. 检测页面的localstorage剩余容量

    首先用了JSON.stringify(localStorage).length得出你当前页面的localstorage所使用的字符数量current_num. 然后你再去http://arty.nam ...

  9. C51编译器的扩展关键字

    附表1-1 ANSIC标准关键字 附表1-2 C51编译器的扩展关键字

  10. 微软的OneDrive研究~

    Dropbox 很好,唯一觉得不爽的是只能同步指定的目录.不过被墙之后就不那么方便了,所以改用微软的 Live Mesh,缺点是支持的设备少(仅 PC 和 Mac). https://technet. ...