如何配置数据库镜像<一>
一、简介
“数据库镜像”是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/
如何配置数据库镜像<一>的更多相关文章
- 在SQL2008配置数据库镜像1418错误的处理
在SQL2008配置数据库镜像错误一般都由以下原因造成 1.主体.镜像服务器SQL SERVER选择本账号切保持一致 2.在数据库镜像配置向导中的“服务账号”选项中请选择需要同步数据库的登陆名,例如数 ...
- Sqlserver2008R2配置数据库镜像之我的经验总结
一. 相关环境介结. 数据库:Sqlserver2008R2 网络环境:主机.镜像机(阿里云,青岛节点同域),见证机(本公司自己托管在上海) 二. 服务器相关配置. 1. 分别开启三台服务器50 ...
- SQL Server 2008 数据库镜像部署实例之三 配置见证服务器
SQL Server 2008 数据库镜像部署实例之三 配置见证服务器 前面已经完成了镜像数据库的配置,并进行那个了故障转移测试.接下来将部署见证服务器,实现自动故障转移. 一.关于见证服务器 1.若 ...
- SQLServer 复制和数据库镜像 具体配置部署
SQLserver 能够把镜像和复制同一时候部署,结合了两方的高可用性.能够使数据库得到更好的高可用性和容灾的保证. 关于镜像:f=255&MSPPError=-2147217396" ...
- SQLServer数据库镜像配置
目录 一.目标...2 二.前提条件.限制和建议...2 三.设置概述...2 四.安装Sql Server 2008 enterprise X64.3 4.1.安装.NET3.5.3 4.2.安装时 ...
- SQL Server 数据库镜像
标签:SQL SERVER/MSSQL SERVER/数据库/DBA/镜像 概述 本章内容主要讲述数据库镜像的安装,安装环境是在域环境下进行安装. 环境:SQL Server 2008 r2 企业版 ...
- SQL Server 2008 数据库镜像部署实例之一 数据库准备
SQL Server 2008 数据库镜像部署实例之一 数据库准备 一.目标 利用Sql Server 2008 enterprise X64,建立异步(高性能)镜像数据库,同时建立见证服务器实现自动 ...
- SQL SERVER 基于数据库镜像的主从同步(数据库镜像实践汇总)
SQL SERVER 基于数据库镜像的主从同步 Author:chaoqun.guo createtime:2019-03-26 目录 SQL SERVER 基于数据库镜像的主从同步... 1 ...
- 003.SQLServer数据库镜像高可用部署
一 数据库镜像部署准备 1.1 数据库镜像支持 有关对 SQL Server 2012 中的数据库镜像的支持的信息,请参考:https://docs.microsoft.com/zh-cn/previ ...
随机推荐
- ARP输入 之 arp_process
概述 arp_process为ARP输入包的核心处理流程: 若输入为ARP请求且查路由成功,则进行如下判断:输入到本地,则进行应答:否则,允许转发,则转发,本文代码不包含转发流程: 若输入为ARP应答 ...
- vue如何动态绑定v-model
如图所示有三个字段要从弹出的输入框取值点击字段会弹出上面的弹窗,输入input会响应变化,比如点击身高,弹出输入框,输入值后身高后面会跟着一个同样的值点击体重,弹出输入框,输入值后体重后面会跟着一个同 ...
- P4127 [AHOI2009]同类分布
P4127 [AHOI2009]同类分布 题解 好的,敲上数位DP DFS板子 记录一下填的各位数字之和 sum ,然后记录一下原数 yuan 最后判断一下 yuan%sum==0 不就好啦??? ...
- Docker的镜像制作与整套项目一键打包部署
Dockerfile常用指令介绍 指令 描述 FROM 构建的新镜像是基于哪个镜像.例如:FROM centos:6 MAINTAINER 镜像维护者姓名或邮箱地址.例如:MAINTAINER Mr. ...
- LC 738. Monotone Increasing Digits
Given a non-negative integer N, find the largest number that is less than or equal to N with monoton ...
- Mybatis中表名当做变量
做业务时,有时候会遇到不同SQL语句之中,只有使用的表名不用而已,其他参数和取得值都是一样的情况.这种时候必然想到把表名当做一个变量传到共通的SQL语句中. 当然正常的传入参数的方式#{param}肯 ...
- Scala面向对象03
- JAVA 基础编程练习题12 【程序 12 计算奖金】
12 [程序 12 计算奖金] 题目:企业发放的奖金根据利润提成.利润(I)低于或等于 10 万元时,奖金可提 10%:利润高于 10 万元, 低于 20 万元时,低于 10 万元的部分按 10%提成 ...
- 手写web框架之实现Bean容器
实现Bean容器 使用ClassHelper可以获取所加载的类,但无法通过类来实例化对象,因此我们需要提供一个反射工具类,让它封装java反射相关的API,对外提供更好用的工具方法.将该类命名为 ...
- 如何创建一个img文件并且mount 它
https://ubuntuhak.blogspot.com/2012/10/how-to-create-format-and-mount-img-files.html