/minip.jpg

技术博客分享

SQL-Server-2008-R2-通过证书配置数据库镜像

/weixin_miniapp.png

SQL Server 2008 R2 通过证书配置数据库镜像

SQL Server 2008 R2数据库镜像功能可以使数据库进行实时备份,当主体数据库出现问题后,可以迅速切换到备用数据库,提高了数据库的可用性。 一、工作原理 数据库镜像维护一个数据库的两个副本, 这两个副本必须驻留在不同的 SQL Server 数据库引擎 服务器实例上 。 通常,这些服务器实例驻留在不同位置的计算机上。 启动数据库上的数据库镜像操作时,在这些服务器实例之间形成一种关系,称为“数据库镜像会话”。 其中一个服务器实例使数据库服务于客户端( “ 主体服务器 ” ), 另一个服务器实例则根据镜像会话的配置和状态,充当热备用或温备用服务器( “ 镜像服务器 ” )。 同步数据库镜像会话时,数据库镜像提供热备用服务器,可支持在已提交事务不丢失数据的情况下进行快速故障转移。 未同步会话时,镜像服务器通常用作热备用服务器(可能造成数据丢失)。 在“数据库镜像会话”中,主体服务器和镜像服务器作为“伙伴”进行通信和协作。 两个伙伴在会话中扮演互补的角色:“主体角色”和“镜像角色”。 在任何给定的时间,都是一个伙伴扮演主体角色,另一个伙伴扮演镜像角色。 每个伙伴拥有其当前角色。 拥有主体角色的伙伴称为“主体服务器”,其数据库副本为当前的主体数据库。 拥有镜像角色的伙伴称为“镜像服务器”,其数据库副本为当前的镜像数据库。 如果数据库镜像部署在生产环境中,则主体数据库即为“生产数据库”。 数据库镜像涉及尽快将对主体数据库执行的每项插入、更新和删除操作“重做”到镜像数据库中 。 重做通过将活动事务日志记录的流发送到镜像服务器来完成,这会尽快将日志记录按顺序应用到镜像数据库中。 与逻辑级别执行的复制不同,数据库镜像在物理日志记录级别执行。 从 SQL Server 2008 开始,在事务日志记录的流发送到镜像服务器之前,主体服务器会先将其压缩。 在所有镜像会话中都会进行这种日志压缩。 更多参考:https://docs.microsoft.com/zh-cn/previous-versions/sql/sql-server-2012/ms189852(v=sql.110) 二、实战配置 1.环境准备 (1)两台装有数据库实例的服务器。如: 主体服务器:192.168.102.5 (主体) 镜像服务器:192.168.102.20 (镜像) (2)两台机器创建相同的 登录账号和密码,并将其加入到管理员权限  (解决 错误1418),如:dbmirror https://i-blog.csdnimg.cn/blog_migrate/96a94340b563c0aa2f4f64104b7a13b0.jpeg https://i-blog.csdnimg.cn/blog_migrate/ff07d48df51497567e51e6f030a00b87.jpeg (3)修改SQL Server (MSSQLSERVER)服务,将上一步添加的用户dbmirror作为登录帐户。(解决 错误1418) https://i-blog.csdnimg.cn/blog_migrate/8a6a731f0fff0d24a8451fbdd416f398.jpeg (4)防火墙开放对应端口,如:数据库使用的1433,镜像使用的5022,确保两台机器能够ping通。 将上述(2)-(4)步骤,在主体服务器和镜像服务器上做相同配置。 2.数据库操作 (1)将要做镜像的数据库,恢复模式设置为"完整"。 USE [master] GO ALTER DATABASE [Tsys] SET RECOVERY FULL WITH NO_WAIT GO –请将语句中绿色部分替换为您想做镜像的数据库名称。 (2)主体服务器:备份数据库,在主体服务器上操作数据库备份, 需要做“完整”、“事务日志”两种备份 。 https://i-blog.csdnimg.cn/blog_migrate/378894978b889dca69e9d5d3df715527.jpeg https://i-blog.csdnimg.cn/blog_migrate/09afb40890a88de6d70d1dff6c1eb9a7.jpeg 备份文件选同一个,分别做“完整”、“事务日志”备份。 (3)镜像服务器:还原数据库 还原时,选择“不对数据库执行任何操作,不回滚未提交的事务。”,包括"完整"和"事务日志"。 https://i-blog.csdnimg.cn/blog_migrate/a42e49d0fe0fded72cdcda103ba29096.png (4)配置证书和端点 1.主服务器