-- ===========================================   
-- 无论是主体服务器、镜像服务器, 还是见证服务器   
-- 除特别说明外,均需要保证下面的操作在master库中执行   
USE master   
GO   
 
-- ===========================================   
--(1)  建立镜像主体数据库   
-- 此操作主体服务器上执行   
-- a. 建立测试数据库   
CREATE DATABASE DB_Mirror   
ON(   
NAME = DB_Mirror_DATA,   
FILENAME = N'C:\DB_Mirror.mdf'   
)   
LOG ON(   
NAME = DB_Mirror_LOG,   
FILENAME = N'C:\DB_Mirror.ldf'   
)   
ALTER DATABASE DB_Mirror SET   
RECOVERY FULL   
GO   
 
-- b. 完全备份   
BACKUP DATABASE DB_Mirror   
TO DISK = N'C:\DB_Mirror.bak'   
WITH FORMAT   
GO   
 
 
-- ===========================================   
--(2)  初始化镜像主体数据库   
-- 此操作镜像服务器上执行   
-- 假设主体数据库的完全备份已经复制到 c:\DB_Mirror.bak   
RESTORE DATABASE DB_Mirror   
FROM DISK = N'C:\DB_Mirror.bak'   
WITH REPLACE   
, NORECOVERY   
-- 如果镜像数据库文件要放在指定位置, 则启用下面的 Move 选项   
-- , MOVE 'DB_Mirror_DATA' TO N'C:\DB_Mirror.mdf'   
-- , MOVE 'DB_Mirror_LOG' TO N'C:\DB_Mirror.ldf'   
GO   
 
 
-- ===========================================   
--(3)  主体服务器上的数据库镜像端点及身份验证用的证书   
-- 此操作主体服务器上执行   
-- a. 用于数据库镜像端点身份验证的证书   
IF NOT EXISTS(  -- 使用数据库主密钥加密证书   
SELECT * FROM sys.symmetric_keys   
WHERE name = N'##MS_DatabaseMasterKey##')   
CREATE MASTER KEY   
ENCRYPTION BY PASSWORD = N'abc.123'   
 
CREATE CERTIFICATE CT_Mirror_SrvA   
WITH   
SUBJECT = N'certificate for database mirror',   
START_DATE = '19990101',   
EXPIRY_DATE = '99991231'   
GO   
 
-- b. 备份证书, 以便在与此端点通信的另一端建立此证书   
BACKUP CERTIFICATE CT_Mirror_SrvA   
TO FILE = 'C:\CT_Mirror_SrvA.cer'   
GO   
 
-- c. 数据库镜像端点   
CREATE ENDPOINT EDP_Mirror   
STATE = STARTED   
AS TCP(   
LISTENER_PORT = 5022,  -- 镜像端点使用的通信端口   
LISTENER_IP = ALL)    -- 侦听的IP地址   
    FOR DATABASE_MIRRORING(   
AUTHENTICATION = CERTIFICATE CT_Mirror_SrvA, -- 证书身份验证   
ENCRYPTION = DISABLED,                      -- 不对传输的数据加密,如果需要加密,可以配置为 SUPPORTED 或 REQUIRED, 并可选择加密算法   
ROLE = ALL)                                  -- 端点支持所有的数据库镜像角色, 也可以设置为 WITNESS(仅见证服务器),或 PARTNER(仅镜像伙伴)   
GO   
 
 
-- ===========================================   
--(4)  镜像服务器上的数据库镜像端点及身份验证用的证书   
-- 此操作镜像服务器上执行   
-- a. 用于数据库镜像端点身份验证的证书   
IF NOT EXISTS(  -- 使用数据库主密钥加密证书   
SELECT * FROM sys.symmetric_keys   
WHERE name = N'##MS_DatabaseMasterKey##')   
CREATE MASTER KEY   
ENCRYPTION BY PASSWORD = N'abc.123'   
 
CREATE CERTIFICATE CT_Mirror_SrvB   
WITH   
SUBJECT = N'certificate for database mirror',   
START_DATE = '19990101',   
EXPIRY_DATE = '99991231'   
GO   
 
-- b. 备份证书, 以便在与此端点通信的另一端建立此证书   
BACKUP CERTIFICATE CT_Mirror_SrvB   
TO FILE = 'C:\CT_Mirror_SrvB.cer'   
GO   
 
-- c. 数据库镜像端点   
CREATE ENDPOINT EDP_Mirror   
STATE = STARTED   
AS TCP(   
LISTENER_PORT = 5022,  -- 镜像端点使用的通信端口   
LISTENER_IP = ALL)    -- 侦听的IP地址   
    FOR DATABASE_MIRRORING(   
AUTHENTICATION = CERTIFICATE CT_Mirror_SrvB, -- 证书身份验证   
ENCRYPTION = DISABLED,                      -- 不对传输的数据加密,如果需要加密,可以配置为 SUPPORTED 或 REQUIRED, 并可选择加密算法   
ROLE = ALL)                                  -- 端点支持所有的数据库镜像角色, 也可以设置为 WITNESS(仅见证服务器),或 PARTNER(仅镜像伙伴)   
GO   
 
 
-- ===========================================   
--(5)  在镜像服务器上完成主体服务器数据库镜像端点的传输安全模式配置   
-- 此操作镜像服务器上执行   
-- a. 建立主体服务器上的证书(假设主体服务器上备份的证书已经复制到 C:\CT_Mirror_SrvA.cer)   
CREATE CERTIFICATE CT_Mirror_SrvA   
FROM FILE = 'C:\CT_Mirror_SrvA.cer'   
 
-- b. 建立登录   
CREATE LOGIN LOGIN_Mirror_SrvA   
FROM CERTIFICATE CT_Mirror_SrvA   
 
-- c. 授予对数据库镜像端点的 connect 权限   
GRANT CONNECT ON ENDPOINT::EDP_Mirror   
TO LOGIN_Mirror_SrvA   
GO   
 
 
-- ===========================================   
--(6)  在主体服务器上完成镜像服务器数据库镜像端点的传输安全模式配置   
-- 此操作主体服务器上执行   
-- a. 建立主体服务器上的证书(假设镜像服务器上备份的证书已经复制到 C:\CT_Mirror_SrvB.cer)   
CREATE CERTIFICATE CT_Mirror_SrvB   
FROM FILE = 'C:\CT_Mirror_SrvB.cer'   
 
-- b. 建立登录   
CREATE LOGIN LOGIN_Mirror_SrvB   
FROM CERTIFICATE CT_Mirror_SrvB   
 
-- c. 授予对数据库镜像端点的 connect 权限   
GRANT CONNECT ON ENDPOINT::EDP_Mirror   
TO LOGIN_Mirror_SrvB   
GO   
 
 
-- ===========================================   
--(7)  在镜像服务器上启用数据库镜像   
-- 此操作镜像服务器上执行   
ALTER DATABASE DB_Mirror SET   
PARTNER = 'TCP://SrvA:5022'   
GO   
 
 
-- ===========================================   
--(8)  在主体服务器上启用数据库镜像(默认为高安全性模式,所以不用进行模式设置)   
-- 此操作主体服务器上执行   
ALTER DATABASE DB_Mirror SET   
PARTNER = 'TCP://SrvB:5022'   
GO   
 
 
-- ===========================================   
--(9)  配置见证服务器   
-- 此操作在见证服务器上执行   
-- a. 完成见证服务器上数据库镜像端点的传输安全模式配置   
-- (a). 用于数据库镜像端点身份验证的证书   
IF NOT EXISTS(  -- 使用数据库主密钥加密证书   
SELECT * FROM sys.symmetric_keys   
WHERE name = N'##MS_DatabaseMasterKey##')   
CREATE MASTER KEY   
ENCRYPTION BY PASSWORD = N'abc.123'   
 
CREATE CERTIFICATE CT_Mirror_SrvWitness   
WITH   
SUBJECT = N'certificate for database mirror',   
START_DATE = '19990101',   
EXPIRY_DATE = '99991231'   
GO   
 
-- (b). 备份证书, 以便在与此端点通信的另一端建立此证书   
BACKUP CERTIFICATE CT_Mirror_SrvWitness   
TO FILE = 'C:\CT_Mirror_SrvWitness.cer'   
GO   
 
-- (c). 数据库镜像端点   
CREATE ENDPOINT EDP_Mirror   
STATE = STARTED   
AS TCP(   
LISTENER_PORT = 5022,  -- 镜像端点使用的通信端口   
LISTENER_IP = ALL)    -- 侦听的IP地址   
    FOR DATABASE_MIRRORING(   
AUTHENTICATION = CERTIFICATE CT_Mirror_SrvWitness, -- 证书身份验证   
ENCRYPTION = DISABLED,                            -- 不对传输的数据加密,如果需要加密,可以配置为 SUPPORTED 或 REQUIRED, 并可选择加密算法   
ROLE = ALL)                                        -- 端点支持所有的数据库镜像角色, 也可以设置为 WITNESS(仅见证服务器),或 PARTNER(仅镜像伙伴)   
GO   
 
-- b. 完成主体服务器上数据库镜像端点的传输安全模式配置   
-- (a). 建立主体服务器上的证书(假设主体服务器上备份的证书已经复制到 C:\CT_Mirror_SrvA.cer)   
CREATE CERTIFICATE CT_Mirror_SrvA   
FROM FILE = 'C:\CT_Mirror_SrvA.cer'   
 
-- (b). 建立登录   
CREATE LOGIN LOGIN_Mirror_SrvA   
FROM CERTIFICATE CT_Mirror_SrvA   
 
-- (c). 授予对数据库镜像端点的 connect 权限   
GRANT CONNECT ON ENDPOINT::EDP_Mirror   
TO LOGIN_Mirror_SrvA   
GO   
 
-- c. 完成镜像服务器上数据库镜像端点的传输安全模式配置   
-- (a). 建立镜像服务器上的证书(假设镜像服务器上备份的证书已经复制到 C:\CT_Mirror_SrvB.cer)   
CREATE CERTIFICATE CT_Mirror_SrvB   
FROM FILE = 'C:\CT_Mirror_SrvB.cer'   
 
-- (b). 建立登录   
CREATE LOGIN LOGIN_Mirror_SrvB   
FROM CERTIFICATE CT_Mirror_SrvB   
 
-- (c). 授予对数据库镜像端点的 connect 权限   
GRANT CONNECT ON ENDPOINT::EDP_Mirror   
TO LOGIN_Mirror_SrvB   
GO   
 
 
-- ===========================================   
--(10)  在镜像服务器上完成见证服务器数据库镜像端点的传输安全模式配置   
-- 此操作镜像服务器上执行   
-- a. 建立见证服务器上的证书(假设见证服务器上备份的证书已经复制到 C:\CT_Mirror_SrvWitness.cer)   
CREATE CERTIFICATE CT_Mirror_SrvWitness   
FROM FILE = 'C:\CT_Mirror_SrvWitness.cer'   
 
-- b. 建立登录   
CREATE LOGIN LOGIN_Mirror_SrvWitness   
FROM CERTIFICATE CT_Mirror_SrvWitness   
 
-- c. 授予对数据库镜像端点的 connect 权限   
GRANT CONNECT ON ENDPOINT::EDP_Mirror   
TO LOGIN_Mirror_SrvWitness   
GO   
 
 
-- ===========================================   
--(11)  在主体服务器上完成见证服务器数据库镜像端点的传输安全模式配置   
-- 此操作主体服务器上执行   
-- a. 建立见证服务器上的证书(假设见证服务器上备份的证书已经复制到 C:\CT_Mirror_SrvWitness.cer)   
CREATE CERTIFICATE CT_Mirror_SrvWitness   
FROM FILE = 'C:\CT_Mirror_SrvWitness.cer'   
 
-- b. 建立登录   
CREATE LOGIN LOGIN_Mirror_SrvWitness   
FROM CERTIFICATE CT_Mirror_SrvWitness   
 
-- c. 授予对数据库镜像端点的 connect 权限   
GRANT CONNECT ON ENDPOINT::EDP_Mirror   
TO LOGIN_Mirror_SrvWitness   
GO   
 
 
-- ===========================================   
--(12)  在主体服务器上为数据库镜像启用见证服务器   
-- 此操作主体服务器上执行   
ALTER DATABASE DB_Mirror SET   
WITNESS = 'TCP://SrvWitness:5022'   
GO

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/feng2375/archive/2009/02/16/3897056.aspx

sql2005镜像实现的更多相关文章

  1. SQL2005 镜像配置

    新添加了一台服务器,做原来服务器的备份机,用交叉线+双网卡配置了内网. 系统环境:Windows 2008 R2 数据库:SQL2005 SP3   设置镜像可以用证书和域两种情况,不过域设置的权限比 ...

  2. SQL server经典电子书、工具和视频教程汇总

    SQL server经典电子书.工具和视频教程汇总 SQL server经典电子书.工具和视频教程汇总 SQL Server是高校计算机专业的一门必修课程,同时众多企业采用SQL Server作为数据 ...

  3. 基于证书的MS SQL2005数据库镜像搭建

    一.准备工作: 3台服务器同版本,硬盘分区大小相同,安装相同版本数据库软件. host中分别标注3台服务器IP和主机名称. 主体服务器上创建数据库,并进行完整备份数据库和数据库事务. 拷贝备份文件给镜 ...

  4. paip.sql2k,sql2005,sql2008,sql2008 r2,SQL2012以及EXPRESS版本的区别

    paip.sql2k,sql2005,sql2008,sql2008 r2,SQL2012以及EXPRESS版本的区别 作者Attilax ,  EMAIL:1466519819@qq.com  来源 ...

  5. win10家庭版系统安装SQL2005

    安装sql2005花了两天的时间,现在总结下,刚开始不知道win10家庭版系统没有本地用户和组的(详细说明 https://www.kafan.cn/A/5vz17o5jne.html) 一定要升级到 ...

  6. win7(windows 7)系统下安装SQL2005(SQL Server 2005)图文教程( Win7 SQL Server2005 安装教程)

    win7(windows 7)系统下安装SQL2005(SQL Server 2005)图文教程 由于工作需要,今天要在电脑上安装SQL Server 2005.以往的项目都是使用Oracle,MS的 ...

  7. NuGet镜像上线试运行

    为解决国内访问NuGet服务器速度不稳定的问题,我们用阿里云服务器搭建了一个NuGet镜像,目前已上线试运行. 使用NuGet镜像源的方法如下: 1)NuGet镜像源地址:https://nuget. ...

  8. SQL Server镜像自动生成脚本

    SQL Server镜像自动生成脚本 镜像的搭建非常繁琐,花了一点时间写了这个脚本,方便大家搭建镜像 执行完这个镜像脚本之后,最好在每台机器都绑定一下hosts文件,不然的话,镜像可能会不work 1 ...

  9. Android SDK 在线更新镜像服务器资源

    本文转自:http://blog.kuoruan.com/24.html.感谢原作者. 什么是Android SDK SDK:(software development kit)软件开发工具包.被软件 ...

随机推荐

  1. Dancing Stars on Me---hdu5533(判断是否为正多边形)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5533 题意:平面图中 有n个点给你每个点的坐标,判断是否能通过某种连线使得这些点所组成的n边形为 正n ...

  2. AspectJ本质剖析

    AOP一共有两种方式,spring默认使用的是动态代理(JDK自带的动态代理或者使用cglib的动态代理)和静态代理(ASPECTJ) http://blog.csdn.net/zhao9tian/a ...

  3. CSS布局一

    CSS布局一 实例一(居中) div#container{ width:960px; height:650px; margin:0 auto; border:1px solid #ccc; /*就是说 ...

  4. [转载][MFC]MFC的美化

    转载:http://blog.csdn.net/b_silence/article/details/10489085 前些天用MFC开发一个桌面程序,实现功能后客户说界面太难看,自己仔细看看也着实难看 ...

  5. Java Main Differences between Java and C++

    转载自:http://www.cnblogs.com/springfor/p/4036739.html C++ supports pointers whereas Java does not. But ...

  6. 移动端省际联动插件mobiscroll

    <link href="assets/css/mobiscroll.custom-2.17.0.min.css" rel="stylesheet" typ ...

  7. procps包里面的sysctl命令

    procps包里面的sysctl命令 --http://www.cnblogs.com/createyuan/p/3740917.html?utm_source=tuicool&utm_med ...

  8. T4教程1 T4模版引擎之基础入门

    T4模版引擎之基础入门   额,T4好陌生的名字,和NuGet一样很悲催,不为世人所熟知,却又在背后默默无闻的奉献着,直到现在我们项目组的人除了我之外,其它人还是对其豪无兴趣,基本上是连看一眼都懒得看 ...

  9. UIPickerView详解

    一.UIPickerView 1.UIPickerView的常见属性 // 数据源(用来告诉UIPickerView有多少列多少行) @property(nonatomic,assign) id< ...

  10. iOS 瀑布流的Demo

    /** * 瀑布流Demo的主要代码,若想看完整的代码请到下面链接去下载 * * 链接: https://pan.baidu.com/s/1slByAHB 密码: r3q6 */ #import &l ...