• 异地(公网)数据库容灾,SQL SERVER互联网自动备份,SQL SERVER数据库镜像


    前些日子写过一篇使用事务性复制来实现在异地机房的数据库备份,这种小成本的双机容灾备份非常受中小用户的欢迎,数据库容灾和自动故障转移不再是需要多大投资才能实现的事情,为中小企业节省了成本,接下来我将再介绍一种比较常见的双机容灾方法:SQL SERVER镜像(自动故障转移或非自动故障转移)。

    先列出该方式的图示:

    untitled            

    (手动故障转移) 

    untitled

    (自动故障转移)

    在介绍自动故障转移前先来介绍手动故障转移的方法,因为自动故障转移是基于手动故障转移的升级。

    数据库镜像手动故障转移介绍及实现方法:

    在数据库镜像技术中需要有两个核心的角色:即主体服务器和镜象服务器,微软称他们为“伙伴”,在主数据库中涉及到增删改操作都会在镜象服务器中重新执行。重做的方式是将活动事务日志记录的流发送到镜象服务器中,镜象服务器会按照日志的顺序记录下操作,该技术与之前介绍的事务性复制实现同步不同,它是在物理日志记录级别执行,SQL SERVER 2008对事务日志记录的流在发送前会先进行压缩,然后在镜象会话中把日志解压。

    由于主数据库是使用事务日志记录的方式通知的镜像服务器,所以可以选择两种运行模式:

    一种是高安全性模式,不会导致数据丢失,它是在主、从数据库中高步操作的,一旦发生了操作,会同步提交到两个数据库中,这种方式的负作用是性能差,把原来执行一次的时间翻倍了。

    另一种模式是高性能的异步模式,充会解决了上一种方式的不足,可以通过异步传送日志,但是缺点就是并不是高安全的,但是经过我的实践,是不会丢失数据的,所以弟兄们可以方心使用。

    数据库镜像方法:

    由于我们是在公网上做的并非集群故障转移,也不在同一个域中,所以我们需要通过证书进行认证。现在就为大家一步步的演示如果做高性能数据库镜象。

    在主服务器上的操作分为三步:备份数据库和日志,开启数据库的出站连接,开启数据库的入站连接。

    在镜像服务器上的操作分为三步:以不回滚提交事务方式恢复数据库,开启数据库出站连接,开启数据库入站连接。

    1. 首先要将主数据库恢复模式设置为完整:alter database Nothwind set recovery full with no_wait

    image

    备份主数据库和日志:

    BACKUP DATABASE [Northwind] TO  DISK = N'D:\SqlDb\MSSQL10_50.MSSQLSERVER\MSSQL\Backup\Northwind.bak' WITH NOFORMAT, NOINIT,  NAME = N'Northwind-完整 数据库 备份', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
    GO
    BACKUP LOG [Northwind] TO  DISK = N'D:\SqlDb\MSSQL10_50.MSSQLSERVER\MSSQL\Backup\Northwind.bak' WITH NOFORMAT, NOINIT,  NAME = N'Northwind-事务日志  备份', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
    GO

    image

    image

    2. 在镜像服务器上以不回滚提交事务方式恢复数据库:

    RESTORE DATABASE [Northwind] FROM  DISK = N'D:\SqlDb\MSSQL10_50.MSSQLSERVER\MSSQL\Backup\Northwind.bak' WITH  FILE = 1,  NORECOVERY,  NOUNLOAD,  REPLACE,  STATS = 10
    GO
    RESTORE LOG [Northwind] FROM  DISK = N'D:\SqlDb\MSSQL10_50.MSSQLSERVER\MSSQL\Backup\Northwind.bak' WITH  FILE = 2,  NORECOVERY,  NOUNLOAD,  STATS = 10
    GO

    image

    image

    今天先写到这里,下一篇将会详细介绍如何设置主、镜像服务器上的出入站,生成证书等。

  • 相关阅读:
    redis的两种安装方法
    http头部信息
    软件测试技术知识
    github使用
    3 python之基础概要
    2 Python之编程语言介绍及变量
    1 Python入门及计算机硬件知识
    Linux常用命令
    CMDB小练习
    CMDB和运维自动化
  • 原文地址:https://www.cnblogs.com/biyusoft/p/3432039.html
Copyright © 2020-2023  润新知