SQL SERVER 2005数据库镜像一

数据库镜像是一种基于软件的高可用性解决方案,是基于数据库级别的快速的故障转移恢复.
    其中的角色有
主体服务器:承载主体数据库、接受用户连接和处理事务请求.
镜像服务器:承载镜像数据库、作为主体数据库的热备份、仅在故障转移后接受用户连接和处理事务请求.
见证服务器:监视服务器状态和连接、实现自动故障转移.
主体服务器和镜像服务器的角色不是固定不变的是互为伙伴的(主体和镜像是可以相互转换的)当故障转移后服务器 角色发生转变.每个伙伴(主体服务器,镜像服务器,见证服务器)都维护数据库镜像的状态信息,他们之间是通过ping交换消息,相互监视.数据库镜像中的 ping不仅验证网络之间的连接,还包括实例运行的操作系统运行情况,数据库实例的当前运行状况以及数据库的运行情况.
  镜像会话的周期
1.创建会话的过程(会话初始化)
当镜像创建后,镜像数据库会向主体数据库请求事务日志记录,与主体数据库同步实现数据的一致性的过程.
2.会话过程
会话初始化完成(主体数据库和镜像数据库一致)会话过程开始,在这个过程中主体服务器为用户提供服务,用户对 数据库的操作发送到主体数据库,如果发生了更新主体服务器会把事务日志传送给镜像数据库,镜像数据库把传送来的日志应用到镜像数据库中,在这个过程中各个 角色相互监视会话状况.
3.会话终止
发生故障转移或 数据库镜像工作原理
当数据库镜像创建完成后,主体数据库为用户提供服务,镜像数据库是不可用的.当用户对主体数据库进行更新时, 把更新事务写到日志中同时把更新操作传给镜像服务器此时主体服务器等待镜像服务器的确认,镜像服务器把操作应用到数据库中并给主体服务器发送确认同时对数 据库实行Redo,主体服务器收到确认向用户发送成功信息.
   快速恢复机制
数据库重启或还原需经过三个阶段. 分析阶段,数据库服务器对当前的状态和日志文件中的信息进行分析,Redo阶段:数据库服务器对日志文件中已经提交的事务应用到数据库文件中去.Undo阶段:对数据库中未提交的事务进行回滚.在 SQl 2000中数据库必须等还原过程全部完成后才能使用,SQL 2005数据库在完成Redo后就可使用.
   数据库镜像有三种操作模式
1. 高可用性事务安全(FULL)传输机制(同步)是否需要仲裁(是)见证服务器(Y)故障转移类型(自动或手动)主要应用于要求高可用性服务,实现自动故障转移,确保数据的完整性.主体和镜像服务器同步传输,主体在发送日志后等待镜像的确认,主体和镜像的日志完全一致.如果主体数据库不可用将发生自动故障转移.
2. 高级别保护事务安全(FULL)传输机制(同步)是否需要仲裁(是)见证服务器(N)故障转移类型(手动)应用于高的数据完整性,不要求自动故障转移.主体和镜像服务器同步传输,主体在发送日志后等待镜像的确认,主体和镜像的日志完全一致.管理员终止数据库镜像.
3. 高性能事务安全(OFF)传输机制(异步)是否需要仲裁(N)见证服务器(N/A)故障转移类型(强制)应用于主体数据库和镜像数据库离的远通信线路有明显的延时,对性能的要求高于数据的完整性.主体在发送日志后不等待镜像确认继续处理后续的操作,主体失败时在镜像上有可能丢失一些数据.
    仲裁只适用于设置了见证服务器的会话(高可用性)必须连接两个或两个以上的服务器实例时数据库才可用.主要目地是确保在任何时间只有一个伙伴为数据库提供 服务,仲裁的改变将会导致故障转移.当所有的服务器都在线仲裁形成,当镜像服务器故障时主体和见证形成仲裁,见证服务器故障时主体和镜像形成仲裁,主体故 障时见证和镜像形成仲裁,有两个故障就失去仲裁数据库不可用.

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16998571/viewspace-619584/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/16998571/viewspace-619584/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQL Server数据库出现挂起(suspended)状态时,可能是由于多种原因导致的,例如系统资源不足、长时间的锁等待、长时间的阻塞等。为了恢复数据库的正常运行,可以采取以下几个步骤: 1. 找出导致数据库挂起的原因:通过查看SQL Server的错误日志、系统日志以及活动监视器等工具,可以获得关于挂起原因的详细信息。这些信息有助于定位问题及制定恢复策略。 2. 解决导致数据库挂起的问题:根据挂起原因采取相应的解决措施。例如,如果是系统资源不足导致的挂起,可以优化数据库的查询语句,调整系统的内存和CPU分配等;如果是长时间的锁等待导致的挂起,可以检查并优化数据库的索引、重构查询语句等;如果是长时间的阻塞导致的挂起,可以找到并解决造成阻塞的会话。 3. 重新启动数据库服务:在解决了导致数据库挂起的问题后,可尝试重新启动SQL Server数据库服务。重启后,数据库将重新加载并尝试自动恢复到正常运行状态。 4. 数据库恢复技术:如果上述步骤无法解决数据库挂起问题,可以采用数据库恢复技术来修复数据库。例如,可以使用SQL Server的日志备份和还原功能来还原数据库到某个时间点的状态,或者使用数据库镜像数据库复制等技术来实现数据库的高可用性和故障转移。 在实际操作中,根据具体的情况选择合适的恢复策略。尽量避免数据库挂起的发生,可以通过定期优化数据库的性能、监控系统资源的使用情况、合理设置数据库参数等方式进行预防。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值