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

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

先列出该方式的图示:

异地(公网)数据库容灾,SQL SERVER互联网自动备份,SQL SERVER数据库镜像_第1张图片            

(手动故障转移) 

异地(公网)数据库容灾,SQL SERVER互联网自动备份,SQL SERVER数据库镜像_第2张图片

(自动故障转移)

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

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

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

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

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

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

数据库镜像方法:

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

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

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

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

异地(公网)数据库容灾,SQL SERVER互联网自动备份,SQL SERVER数据库镜像_第3张图片

备份主数据库和日志:

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

异地(公网)数据库容灾,SQL SERVER互联网自动备份,SQL SERVER数据库镜像_第4张图片

异地(公网)数据库容灾,SQL SERVER互联网自动备份,SQL SERVER数据库镜像_第5张图片

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

异地(公网)数据库容灾,SQL SERVER互联网自动备份,SQL SERVER数据库镜像_第6张图片

异地(公网)数据库容灾,SQL SERVER互联网自动备份,SQL SERVER数据库镜像_第7张图片

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

你可能感兴趣的:(sql,server)