1. 配制环境

OS:Win7    DB:SQL Server R2

2. 基本配制

1.      开启sqlServer服务如下图-1

图-1

2.      开启sqlServer的tcp/ip协议,在Start -> program -> sqlServerR2 -> ConfigTool -> ConfigManagement,如下图-2

 
 

图-2

注:开启此服务后,需要重启sqlServer服务才能生效。

3.      在需要做备份的机器(主、从和可选的见证)上建立相同的登录用户名密码。

4.      打开镜像用到的5022端口。在win窗口中输入控制面板\系统和安全\Windows 防火墙,在弹出的窗口中点击[高级设置],在入站和出站规则中加入5022端口。

5.      开启数据库RemoteDacEnabled属性。右键点击[数据库实例] - > 选择方面,在弹出的窗口中选择[外围应用配制器] 把RemoteDacEnabled属性设置为true。如图-3

图-3

6.      在三台机器上建立同一个登录名和密码

点击数据库实例的下面的安全性,右键点击新建登录名,在三台机器上建相同的登录名和密码,主要是为了应用程序在连接数据中使用。

3.备份还原数据库

将主服务器中的数据库完全备份与日志备份到同一目录同一文件中。右键[数据库名称] -> 点击[任务],选择备份,先做完全备份,再做日志备份。在备库中还原主库的备份内容。右键[数据库名称] ->点击[任务],选择还原。如图-4

图-4

4. 开始热备

实现互通可以使用域或证书来实现,考虑实现的简单,以下选取证书的方式实现。注意:实现“主备数据库实例互通”的操作只需要做一次,例如为了将两个 SQL Server 2008的实例中的3个数据库建成镜像关系,则只需要做一次以下操作就可以了;或者这样理解:每一对主备实例(不是数据库)做一次互通。

1、创建证书(主备可并行执行)

--主机执行:

USE master;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'masterWord';
CREATE CERTIFICATE HOST_pri_cert WITH SUBJECT = 'HOST_primary certificate' , 
START_DATE = '01/11/2011', EXPIRY_DATE = '01/11/2013';

--备机执行:

USE master;
CREATE MASTER KEY ENCRYPTION BY PASSWORD ='masterWord';
CREATE CERTIFICATE HOST_min_cert WITH SUBJECT ='HOST_minor certificate' , 
START_DATE = '01/11/2011', EXPIRY_DATE = '01/11/2013';
 
--见证服务器执行
 
USE master;
CREATE MASTER KEY ENCRYPTION BY PASSWORD ='masterWord';
CREATE CERTIFICATE HOST_pro_cert WITH SUBJECT = 'HOST_Witness certificate' , 
START_DATE = '01/11/2011', EXPIRY_DATE = '01/11/2013';
 
 
 

2、创建连接的端点(主备可并行执行)

--主机执行:

CREATE ENDPOINT Endpoint_Mirroring 
STATE = STARTED 
AS 
TCP ( LISTENER_PORT=5022 , LISTENER_IP = ALL ) 
FOR 
DATABASE_MIRRORING 
( AUTHENTICATION = CERTIFICATE HOST_pri_cert , ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = ALL );

--备机执行:

CREATE ENDPOINT Endpoint_Mirroring 
STATE = STARTED 
AS 
TCP ( LISTENER_PORT=5022 , LISTENER_IP = ALL ) 
FOR 
DATABASE_MIRRORING 
 ( AUTHENTICATION = CERTIFICATE HOST_min_cert , ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = ALL )

--见证服务器上执行

CREATE ENDPOINT Endpoint_Mirroring 
STATE = STARTED 
AS 
TCP ( LISTENER_PORT=5022 , LISTENER_IP = ALL ) 
FOR 
DATABASE_MIRRORING 
 ( AUTHENTICATION = CERTIFICATE HOST_pro_cert , ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = ALL )

3、备份证书以备建立互联(主备可并行执行)

--主机执行:

BACKUP CERTIFICATE HOST_pri_cert TO FILE = 'D:\HOST_pri_cert.cer';

--备机执行:

BACKUP CERTIFICATE HOST_min_cert TO FILE = 'D:\HOST_min_cert.cer';

--见证服务器上执行

BACKUP CERTIFICATE HOST_pro_cert TO FILE = 'D:\HOST_pro_cert.cer';

4、互换证书

将备份到D:\的证书进行互换,即把HOST_pri_cert.cer,HOST_pro_cer.cert复制到备机的D:\,把HOST_min_cert.cer, HOST_pro_cer.cert复制到主机的D:\,把HOST_pri_cert.cer,HOST_min_cert.cer复制到见证机的D:\

5、添加登陆名、用户(主备可并行执行)

--主机执行:

CREATE LOGIN HOST_min_login WITH PASSWORD ='masterWord';
CREATE USER HOST_min_user FOR LOGIN HOST_min_login;
CREATE CERTIFICATE HOST_min_cert AUTHORIZATION HOST_min_user FROM FILE ='D:\HOST_min_cert.cer';
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_min_login];

CREATE LOGIN HOST_pro_login WITH PASSWORD ='masterWord';
CREATE USER HOST_pro_user FOR LOGIN HOST_pro_login;
CREATE CERTIFICATE HOST_pro_cert AUTHORIZATION HOST_pro_user FROM FILE ='D:\HOST_pro_cert.cer';
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_pro_login];

--备机执行:

CREATE LOGIN HOST_pri_login WITH PASSWORD ='masterWord';
CREATE USER HOST_pri_user FOR LOGIN HOST_pri_login;
CREATE CERTIFICATE HOST_pri_cert AUTHORIZATION HOST_pri_user FROM FILE ='D:\HOST_pri_cert.cer';
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_pri_login];

CREATE LOGIN HOST_pro_login WITH PASSWORD ='masterWord';
CREATE USER HOST_pro_user FOR LOGIN HOST_pro_login;
CREATE CERTIFICATE HOST_pro_cert AUTHORIZATION HOST_pro_user FROM FILE ='D:\HOST_pro_cert.cer';
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_pro_login];

--见证服务器上执行

CREATE LOGIN HOST_min_login WITH PASSWORD ='masterWord';
CREATE USER HOST_min_user FOR LOGIN HOST_min_login;
CREATE CERTIFICATE HOST_min_cert AUTHORIZATION HOST_min_user FROM FILE ='D:\HOST_min_cert.cer';
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_min_login];

CREATE LOGIN HOST_pri_login WITH PASSWORD ='masterWord';
CREATE USER HOST_pri_user FOR LOGIN HOST_pri_login;
CREATE CERTIFICATE HOST_pri_cert AUTHORIZATION HOST_pri_user FROM FILE ='D:\HOST_pri_cert.cer';
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_pri_login];

6、 配制镜像

右键点击需要镜像的数据库,点击[任务] ->选择[镜像],点击【配置安全性】,如下图:

会出现一个配置数据库安全性的向导

然后依次点击下一步,由于是在三台机器上做镜像,因此镜像端口都按默认的5022,如果在一台机器上做,需要使用不同的端口号

由于使用的是证书的方式,不是使用域名的方式,因此下图中的服务账户名都为空

继续下一步

点击完成,然后点击开始镜像就完成了数据库镜像的设置

5. 测试

6. 参考

http://www.cnblogs.com/killkill/archive/2008/05/23/1205792.html

http://msdn.microsoft.com/zh-cn/library/ms187798.aspx

http://liulike.blog.51cto.com/1355103/339183/

Sqlserver双机热备文档(无域)的更多相关文章

  1. SqlServer双机热备技术实践笔记

    SqlServer双机热备,大体上可以通过发布订阅,日志传送,数据库镜像来实现. 1,发布--订阅 是最早最简单的方案,但需要注意发布的时候,发布进程必须对快照目录有访问权限,这个问题可以从“查看快照 ...

  2. ArcSDE Redhat Linux下双机热备部署文档

    http://www.gisall.com/html/47/122747-3867.html ArcSDE系统环境: 操作系统:Red Hat Enterprise Linux AS/ES 5.5 ( ...

  3. SQLServer 2005 数据库定阅复制实现双机热备(主要是sharepoint 内容数据库)

    原文:SQLServer 2005 数据库定阅复制实现双机热备(主要是sharepoint 内容数据库) 场景 公司最近的sharepoint的数据库服务器老是出问题,并且在一旦出现问题,就导致无法正 ...

  4. 使用sqlserver搭建高可用双机热备的Quartz集群部署【附源码】

    一般拿Timer和Quartz相比较的,简直就是对Quartz的侮辱,两者的功能根本就不在一个层级上,如本篇介绍的Quartz强大的序列化机制,可以序列到 sqlserver,mysql,当然还可以在 ...

  5. 第十节: 利用SQLServer实现Quartz的持久化和双机热备的集群模式 :

    背景: 默认情况下,Quartz.Net作业是持久化在内存中的,即 quartz.jobStore.type = "Quartz.Simpl.RAMJobStore, Quartz" ...

  6. Nginx 反向代理、负载均衡、页面缓存、URL重写、读写分离及简单双机热备详解

    大纲 一.前言 二.环境准备 三.安装与配置Nginx  (windows下nginx安装.配置与使用) 四.Nginx之反向代理 五.Nginx之负载均衡  (负载均衡算法:nginx负载算法 up ...

  7. HA(High available)--Heartbeat高可用性集群(双机热备)菜鸟入门级

    HA(High available)--Heartbeat高可用性集群(双机热备)   1.理解:两台服务器A和B ,当A提供服务,B闲置待命,当A服务宕机,会自动切换至B机器继续提供服务.当主机恢复 ...

  8. oracle 双机热备,oracle dataguard 和oracle rac的区别和联系(转)

    Data Guard 是Oracle的远程复制技术,它有物理和逻辑之分,但是总的来说,它需要在异地有一套独立的系统,这是两套硬件配置可以不同的系统,但是这两套系统的软件结构保持一致,包括软件的版本,目 ...

  9. tomcate+keepalived配置双机热备

    环境清单: 应用1:192.168.51.101 应用2:192.168.51.75 虚拟IP:192.168.51.179 一.安装Tomcat(参照其他文档): 二.部署应用,并修改响应的端口(9 ...

随机推荐

  1. Python实现类似JavaScript 的Json对象

    Python实现类似JavaScript 的Json对象 用过js的都知道 js中json也是一个对象,所以可以直接通过class.attr 取值,当attr不存在时也不会报错,那么Python可不可 ...

  2. JavaScript匿名函数知多少

    在一些Javascript库中可以看见这种写法: function(){ //所有库代码代码 }(); 这样写的一个目的是——封装. JavaScript并不是面向对象的,所以它不支持封装.但是在不支 ...

  3. SpringBoot实战:我们的第一款开源软件

    原文出处: 纯洁的微笑 在信息爆炸时代,如何避免持续性信息过剩,使自己变得专注而不是被纷繁的信息所累?每天会看到各种各样的新闻,各种新潮的技术层出不穷,如何筛选出自己所关心的? 各位看官会想,我们是来 ...

  4. linux服务器上修改oracle数据库的字符集

    linux服务器上以dba身份进入:sqlplus / as sysdba; 依次执行以下命令:shutdown immediate; startup mount; alter system enab ...

  5. Python之路,Day2 - Python基础,列表,循环

    1.列表练习name0 = 'wuchao'name1 = 'jinxin'name2 = 'xiaohu'name3 = 'sanpang'name4 = 'ligang' names = &quo ...

  6. python 三种遍历列表里面序号和值的方法

    list = ['html', 'js', 'css', 'python'] # 方法1 # 遍历列表方法1:' for i in list: print("序号:%s 值:%s" ...

  7. 悲催的IE6 七宗罪大吐槽(带解决方法)第一部分

    一.奇数宽高 悲剧的IE6啊,为何有如此多bug,但用户市场又那么大,真让我们搞网站的纠结.今天就遇到了一个非常奇怪但又很细节的一个bug,一个外部的相对定位div,内部一个绝对定位的div(righ ...

  8. Linuc学习3-输入和输出重定向

    已打开的文件描述符在fork和exec调用后保留下来,我们可以利用对进程这方面知识点的理解来改变程序的行为. 这个例子涉及一个过滤程序:它从标准输入读取数据,然后向标准输出写数据,同时在输入和输出之间 ...

  9. 【BZOJ】2208 [Jsoi2010]连通数

    [题意]给定n个点的有向图,求可达点对数(互相可达算两对,含自身).n<=2000. [算法]强连通分量(tarjan)+拓扑排序+状态压缩(bitset) [题解]这题可以说非常经典了. 1. ...

  10. POJ 3164 Command Network ( 最小树形图 朱刘算法)

    题目链接 Description After a long lasting war on words, a war on arms finally breaks out between littlek ...