一、简介

“数据库镜像”是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. pdnovel 看书 读书 听书

    pdnovel剖度小说是discuz的阅读插件,这里分享一下阅读的一些技巧. 看书 点击或手机输入 http://txt.xlongwei.com 即可进入阅读首页,内容分书book.卷volume. ...

  2. 转载 AMI方案和Insyde方案

    闲来无事回头看看,自毕业以来一直都在BIOS这个行业打转,目前的各种新闻来看全球的IT行业都似乎不太景气,PC出货量一泻千里,想要有所转机看起来不是一天两天的事情,想来无事来看看做过的几个UEFI B ...

  3. Java第00周作业

    ---恢复内容开始--- 1.你对专业的认识和期望是什么? 徐老师说过,C语言是很多语言的基础,学好C语言,将来接触的不论是面向对象还是面向过程的语言都能沉下心,能轻松解决面临的问题,处理棘手的麻烦, ...

  4. 腾讯云安装mysql数据库

    转载自  https://www.cnblogs.com/shalldou/p/10767043.html 首先,我们检测一下系统中是否已安装mysql的相关服务 命令: rpm -qa | grep ...

  5. react 实现数据双向绑定

    好久没有更新了 只是都写在有道笔记中 今天整理下 一些基础的 大神勿喷 一个基础的不能再基础的数据双向绑定 因为react不同于vue 没有v-model指令 所以怎么实现呢? import Reac ...

  6. CSS三角形的实现原理及运用

    原理 css盒模型 一个盒子包括: margin+border+padding+content– 上下左右边框交界处出呈现平滑的斜线. 利用这个特点, 通过设置不同的上下左右边框宽度或者颜色可以得到小 ...

  7. Qt编写自定义控件17-按钮进度条

    前言 按钮进度条,顾名思义,表面上长得像一个按钮,单击以后切换成进度条指示按钮单击动作执行的进度,主要用在一些需要直接在按钮执行动作显示对应进度的场景,在很多网页中经常看到这种效果,这个效果有个优点就 ...

  8. iOS开发UIkit动力学UIDynamicAnimator一系列动画

    UIDynamicAnimator类,通过这个类中的不同行为来实现一些动态特性. UIAttachmentBehavior(吸附),UICollisionBehavior(碰撞),UIGravityB ...

  9. Spring Boot Lombok配置

    Spring Boot Lombok配置 依赖添加 dependencies { annotationProcessor 'org.projectlombok:lombok:1.18.2' compi ...

  10. 基于vue-cli项目打包慢的定位优化过程

    入职一周后,上一个前端就离职了(超级坑爹的),留下了一个比较棘手的问题,就是基于vue-cli的项目打包超级慢,我接手项目的时候,打包需要45min(上个离职者也不知道原因),经过3个月之后,随着项目 ...