-- ===========================================   
-- 无论是主体服务器、镜像服务器, 还是见证服务器   
-- 除特别说明外,均需要保证下面的操作在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. Excl 的一些用法--如何给很多列赋同一个值

    1.用鼠标选定要负责的列(多列) 2.在处填写值 3.Ctrl+Enter

  2. iOS初级数据持久化 沙盒机制 归档与反归档

    数据持久化就是数据保存成文件,存储到程序中的沙盒中. 沙盒构成 Document 存储用户数据,需要备份的信息 Caches 缓存文件, 程序专用的支持文件 Temp 临时文件 通过代码查找程序沙盒的 ...

  3. imx6 framebuffer 分析

    分析imx6 framebuffer设备和驱动的注册过程. Tony Liu, 2016-8-31, Shenzhen 相关文件: arch/arm/mach-mx6/board-mx6q_sabre ...

  4. [收藏夹整理]OpenCV部分

    OpenCV中文论坛 OpenCV论坛 opencv视频教程目录(初级) OpenCV 教程 Opencv感想和一些分享 tornadomeet 超牛的大神 [数字图像处理]C++读取.旋转和保存bm ...

  5. 解决IntelliJ Idea中文乱码问题

    乱码的根源是字符编码与解码不一致 解决之道:统一编码

  6. 搭建和使用Docker私有仓库

    需要注意的是,从Docker Pool下载的镜像文件,与官方镜像文件是完全一致的. 安装Docker之后,可以是使用官方提供的registry镜像来搭建一套本地私有仓库环境:  docker run  ...

  7. 有用C函数集锦

    1. offsetof #include <stddef.h> size_t offsetof(type, member); The macro offsetof() returns th ...

  8. [3D]绘制线

    数据实体: using System; using System.Collections.Generic; using System.Linq; using System.Text; using Sy ...

  9. Vue.2.0.5-混合

    基础 混合是一种灵活的分布式复用 Vue 组件的方式.混合对象可以包含任意组件选项.以组件使用混合对象时,所有混合对象的选项将被混入该组件本身的选项. 例子: // 定义一个混合对象 var myMi ...

  10. 用仿ActionScript的语法来编写html5——第九篇,仿URLLoader读取文件

    第九篇,仿URLLoader读取文件 先看看最后的代码 function readFile(){ urlloader = new LURLLoader(); urlloader.addEventLis ...