一、简介

“数据库镜像”是Sql Server 2005推出的一个主要用于提高数据库可用率的软件解决方案。镜像是基于每个数据库执行的,仅适用于使用完整恢复模式的数据库。简单恢复模式和大容量日志恢复模式不支持数据库镜像。

数据库镜像是通过维护一个热备用服务器而发挥作用的。在一般的镜像会话期间,如果生产服务器出现故障,客户端应用程序可以通过重新连接到备用服务器来快速进行恢复。

二、前提条件

1、准备好服务器,保证数据库版本至少是Sql Server 2005 SP1,当然最好是最新版本,老的版本测试不行!

2、保证需要镜像的数据库为完全恢复模式

3、配置域环境,数据库镜像使用域环境会比较方便,感觉比使用证书要省事

4、设置sql server的服务以域账号运行 How?

5、选择镜像方案,镜像服务可以使用三个数据库实例(主、镜像、见证)也可以使用两个数据库实例(主、镜像),实际使用环境中每个实例应该是运行在不同的服务器上。如果使用见证服务器的话好处是可以实现自动的故障转移,但是需要使用3台服务器,而且至少要保证其中2台服务器是可用的,因为如果镜像服务器和见证服务器同时当机,即时主服务器没有任何问题也是无法对外提供服务的。我这里只是为了实现数据库的镜像,做一个实时的数据库备份所以没有使用见证服务器,如果主服务器宕机需要手动切换镜像服务器为主服务器。

三、具体步骤

1、在主服务器完整备份需要镜像的数据库,在镜像服务器以“不对数据库执行任何操作,不会滚未提交的事务。(RESTORE WITH NORECOVERY)”的状态恢复。然后备份事务日志,以相同的恢复状态在镜像服务器恢复事务日志。

2、在主服务器,选择需要镜像数据库的镜像功能,点击“配置安全性”

3、选择否,不包括见证服务器实例

4、选择主体服务器实例

5、选择镜像服务器实例

6、如果主服务器实例和镜像服务器实例是以不同的域账户运行的,需要输入对应的账户,我使用的是相同的账户所以留空,二中有建立帐户的脚步

7、配置完成

8、配置端点

9、点击“开始镜像”,完成

10、如果没有提示任何错误,主服务器的数据库会显示“主体,已同步”,镜像服务器的数据库会显示“镜像,已同步,正在还原…”,数据库镜像服务配置完成

四、故障转移

1、主机备机互换 
在主机按“故障转移”按钮就可以了

2、如果主机宕机,需要启用镜像服务器当主服务器 
在镜像服务器执行 
USE master; 
ALTER DATABASE 数据库名 SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS; 
然后按“故障转移”按钮就可以了

五、遇到的错误

1、“消息 1418,级别 16,状态 1,第 1 行 服务器网络地址 "TCP://机器名或IP地址:端口号" 无法访问或不存在。请检查网络地址名称,并检查本地和远程端点的端口是否正常运行。”

这个很有可能是在镜像服务器恢复数据库时没有选择“不对数据库执行任何操作,不会滚未提交的事务。(RESTORE WITH NORECOVERY)”,应该是由于没有权限导致的,也就是在服务器和镜像服务器中没有设置正确的登录名或设置了但提示了警告!

详细解决方法见<二>

2、镜像数据库 "house" 包含的事务日志数据不足,无法保留主体数据库的日志备份链。如果没有从主体数据库进行日志备份或者没有在镜像数据库上还原日志备份,则可能会出现这种情况。(Microsoft SQL Server, 错误: 1478)

出现这个错误是由于没有备份和恢复事务日志

3、默认情况下,数据库镜像是被禁用的。

这个是由于没有打补丁的原因,以为Sql Server 2005刚推出的时候镜像功能是作为评估使用的所以默认是关闭的,SP1以后就可以正式使用了

4、数据库 "house" 的伙伴服务器实例和见证服务器实例均不可用。请在至少其中一个实例变为可用后重新发出命令。

这个问题就比较诡异了,用虚拟机实验完成后在生产环境部属出现此问题,在网上搜了个遍,也没找到解决办法,最后在一个论坛看到也加了跟踪标志1400竟然通过了,可是我已经打了SP3,实在不太明白。

六、跟踪标志

跟踪标志用于临时设置特定服务器的特征或关闭特定行为。 例如,如果启动 SQL Server 2005 的一个实例时设置了跟踪标志 3205,将禁用磁带机的硬件压缩。 跟踪标志经常用于诊断性能问题,或调试存储过程或复杂的计算机系统。具体参见MSDN 
http://msdn.microsoft.com/zh-cn/library/ms188396.aspx,不过MSDN好像没有1400的说明,可能比较老了已经没有1400这个标志了,网上搜了一下

1400 
启用数据库镜像端点的创建功能,在设置和使用数据库镜像时必须使用该功能。启用数据库镜像端点的创建功能,在设置和使用数据库镜像时必须使用该功 
能。只有在启动服务器实例时使用了 -T trace# 启动选项,才可以设置该跟踪标志。

设置方法:

DBCC TRACEON (1400)或者在数据库服务加启动参数-T1400

转自51:http://dqw3721.blog.51cto.com/112726/390327/

如何配置数据库镜像<一>的更多相关文章

  1. 在SQL2008配置数据库镜像1418错误的处理

    在SQL2008配置数据库镜像错误一般都由以下原因造成 1.主体.镜像服务器SQL SERVER选择本账号切保持一致 2.在数据库镜像配置向导中的“服务账号”选项中请选择需要同步数据库的登陆名,例如数 ...

  2. Sqlserver2008R2配置数据库镜像之我的经验总结

    一. 相关环境介结. 数据库:Sqlserver2008R2    网络环境:主机.镜像机(阿里云,青岛节点同域),见证机(本公司自己托管在上海) 二. 服务器相关配置. 1. 分别开启三台服务器50 ...

  3. SQL Server 2008 数据库镜像部署实例之三 配置见证服务器

    SQL Server 2008 数据库镜像部署实例之三 配置见证服务器 前面已经完成了镜像数据库的配置,并进行那个了故障转移测试.接下来将部署见证服务器,实现自动故障转移. 一.关于见证服务器 1.若 ...

  4. SQLServer 复制和数据库镜像 具体配置部署

    SQLserver 能够把镜像和复制同一时候部署,结合了两方的高可用性.能够使数据库得到更好的高可用性和容灾的保证. 关于镜像:f=255&MSPPError=-2147217396" ...

  5. SQLServer数据库镜像配置

    目录 一.目标...2 二.前提条件.限制和建议...2 三.设置概述...2 四.安装Sql Server 2008 enterprise X64.3 4.1.安装.NET3.5.3 4.2.安装时 ...

  6. SQL Server 数据库镜像

    标签:SQL SERVER/MSSQL SERVER/数据库/DBA/镜像 概述 本章内容主要讲述数据库镜像的安装,安装环境是在域环境下进行安装. 环境:SQL Server 2008 r2 企业版 ...

  7. SQL Server 2008 数据库镜像部署实例之一 数据库准备

    SQL Server 2008 数据库镜像部署实例之一 数据库准备 一.目标 利用Sql Server 2008 enterprise X64,建立异步(高性能)镜像数据库,同时建立见证服务器实现自动 ...

  8. SQL SERVER 基于数据库镜像的主从同步(数据库镜像实践汇总)

    SQL SERVER 基于数据库镜像的主从同步 Author:chaoqun.guo    createtime:2019-03-26 目录 SQL SERVER 基于数据库镜像的主从同步... 1 ...

  9. 003.SQLServer数据库镜像高可用部署

    一 数据库镜像部署准备 1.1 数据库镜像支持 有关对 SQL Server 2012 中的数据库镜像的支持的信息,请参考:https://docs.microsoft.com/zh-cn/previ ...

随机推荐

  1. mui.toast样式风格及位置修改教程

    mui.toast样式风格及位置修改教程 使用了mui.toast来实现可自动消失的信息提示效果. 但默认的显示效果太差了,很不显示,而且是在底部的. 如下图: 想改到屏幕的中间位置,再改大一点. 但 ...

  2. ARP 之 发送请求arp_solicit

    概述 arp_solicit用来发送ARP请求,首先会根据ARP_ANNOUNCE参数来选取源地址,然后判断是否达到内核发送次数上限,未达到则调用内核arp_send_dst函数发送,如果达到上限,则 ...

  3. 取模的n种情况

    一  减法 (a-b)%mod=(a%mod-b%mod+n)%mod; 二 大数 有乘法取模 可推出 如下代码 string s; cin>>s; ,len=s.length(); ;i ...

  4. Qt图形测绘窗口部件介绍

    Qt 图形测绘窗口部件,主要使用第三方窗口部件: 1.Qwt:http://qwt.sourceforge.net 开源免费 2.GraphPak: http://www.ics.com  收费 3. ...

  5. arcgis python RefreshActiveView CLEAR_SELECTION

    import arcpy mxd = arcpy.mapping.MapDocument("CURRENT") df = arcpy.mapping.ListDataFrames( ...

  6. 2.jdk1.8+springboot中http1.1之tcp连接复用实现

    接上篇:https://www.cnblogs.com/Hleaves/p/11284316.html 环境:jdk1.8 + springboot 2.1.1.RELEASE + feign-hys ...

  7. AndroidStudio 3.0中之后无法打开DDMS [Android Device Monitor] 问题

    AndroidStudio 3.0中之后无法打开DDMS [Android Device Monitor] 问题    转 https://blog.csdn.net/black_bird_cn/ar ...

  8. backbone之collection

    最近要用到backbone.js,网上也找了些资料,但是就看到一个开头还可以,往下看基本就看不下去了,幸好有这本书[LeanpubRead] Backbone.Marionette.js A Gent ...

  9. jQuery.extend函数

    http://www.cnblogs.com/luckboy/archive/2009/06/25/1510870.html 1.扩展jQuery静态方法. 1$.extend({ 2test:fun ...

  10. swoole详解

    1.swoole结构图 2.swoole流程图 3.详细流程图 3.1.Master:处理核心事件驱动(主进程)3.2.Reactor: 处理TCP连接,收发数据的线程.Swoole的主线程在Acce ...