• sql server数据同步方案-日志传送


    功能描述

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

    系统环境

    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:PrimaryBackupXXX-001.bak’

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

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

    restore log XXX from disk = ‘Z:SecondaryBackupXXX-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输入框填写刚才创建的本机共享目录,这里是\XXXPrimaryBackup
    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即为同步正常。

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

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

  • 相关阅读:
    Redis学习小结
    抽屉模型
    用户提交数据的验证
    jsonp原理与实验
    文件上传
    项目
    CBV
    C++算法 线段树
    写一些奇怪的东西找到的奇怪的错误
    php安装过程出现的一些错误问题:
  • 原文地址:https://www.cnblogs.com/hankuikui/p/3863749.html
Copyright © 2020-2023  润新知