演练不同模式下镜像数据库SQL Server的异常处理

php中文网
发布: 2016-06-07 17:54:39
原创
1520人浏览过

镜像数据库是SQL Server高可用性方案的一种。配置比较简单,但是有多种模式。如果镜像数据库出现异常,在不同模式下的表现形式也是各异的。这里,我们演练在不同模式下,服务器出现异常后,可能的效果,这样能帮助我们选择合适的模式,以及了解在对数据库镜

镜像是sql server高可用性方案的一种。配置比较简单,但是有多种模式。如果镜像出现异常,在不同模式下的表现形式也是各异的。这里,我们演练在不同模式下,出现异常后,可能的效果,这样能帮助我们选择合适的模式,以及了解在对数据库镜像做维护期间,需要注意的地方。

【数据库镜像的模式】

数据库镜像主要有这么几种模式:

· High Performance模式 (也就是异步模式)

数据库在Principle的事务,不需要得到Mirror的确认,可以直接完成。Principle数据库性能会比较好。但是Mirror跟Principle之间事务传递可能延迟。

· High Safety 模式 (也就是同步模式)没有 witness服务器

数据库在Principle的事务,需要马上得到mirror的确认,才能完成。这种情况下,Mirror和Principle的数据是同步的。但是因为所有的事务需要mirror的确认,所以性能可能会有所影响。

· High Satefy模式 (也就是同步模式)有 witness服务器

如果带有witness,那么一旦Principle数据库有异常,无法连通,则在witness服务器的见证下,会做自动切换。镜像数据库会变成主数据库,以继续提供服务。

【High Performance模式下,出现异常】

演练不同模式下镜像数据库SQL Server的异常处理

· MIRROR数据库有问题,这时候PRINCIPLE数据库会处于 (Principle, Disconnected) 状态。在这种情况下,Principle数据库依旧能正常服务。当Mirror数据库恢复正常后,数据会自动进行同步,同步后,PRINCIPLE服务器会恢复到 (Principle, Synchronized) 正常状态。这种情况虽然不会对服务造成问题,但是我们应该尽快恢复Mirror数据库,否则,在Principle端,日志会累积,变得越来越大。会占满磁盘空间。

AISEO ART
AISEO ART

AISEO平台的艺术图片生成器

AISEO ART 35
查看详情 AISEO ART

· Principle数据库有问题,无法连接,这时候应用当然不能使用。Mirror数据库处于 (Mirror, Disconnected/In Recovery) 状态。这时候我们有两种选择,1. 尽快恢复Principle数据库运营。2. 使用Forcing Service方法把Mirror数据库改为主数据库以继续服务。对于Forcing Service方法,我们要注意:

1. 完全停掉旧的PRINCIPLE 数据库,以避免出现两边同时做数据更新。

2. 在mirror服务器上,我们用下面命令把mirror数据库改为主数据库:

ALTER DATABASE SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS

3. 使用Forcing Service会导致数据有丢失的可能。如果在原先的主数据库数据还没来得及传送到镜像数据库, 那么该部分数据会被丢失。所以使用Forcing Service我们需要权衡。

4. 原先的主数据库起来后,Mirror会处于暂停状态,我们可以恢复镜像,把原来的主数据库为新的镜像数据库 (当然,会导致部分数据永久丢失) 。或者把原先的主数据库去除镜像设置,改为普通数据库,查看在原主数据库上写入而在原镜像数据库上没有写入的记录,然后手工倒入到新的主数据库上。用这种办法倒数据,我们需要对应用非常熟悉。

【High Satefy模式没有witness,出现异常】

演练不同模式下镜像数据库SQL Server的异常处理

· MIRROR数据库有问题,无法连接,PRINCIPLE数据库会处于 (Principle, Disconnected) 状态。在这种情况下,PRINCIPLE数据库依旧能正常服务。当MIRROR服务器恢复正常后,数据会自动进行同步,同步后,PRINCIPLE数据库会处于 (Principle, Synchronized) 正常状态。这种情况虽然不会对服务造成问题,但是我们应该尽快恢复MIRROR数据库,否则,在PRINCIPLE数据库上,日志会累积,变得越来越大。最后可能导致磁盘满。

· PRINCIPLE服务器有问题,这时候应用当然不能使用。MIRROR数据库处于 (Mirror, Disconnected/In Recovery) 状态。这时候我们有两种选择,1. 尽快恢复PRINCIPLE数据库。2. 使用Forcing Service方法把Mirror数据库改为Principle以继续服务。

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号