-- ===========================================   
-- 无论是主体服务器、镜像服务器, 还是见证服务器   
-- 除特别说明外,均需要保证下面的操作在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. OO之美2

    面向对象并没有想象中那么神秘,以生活的现实眼光来看更是如此.把面向对象深度浓缩起来,可以概括为: ⑴目标:重用,扩展,兼容 ⑵核心:低耦合,高内聚 ⑶手段:封装变化 ⑷思想:面向接口编程,面向抽象编程 ...

  2. 添加 Gradle 依赖与 build.gradle 配置初识

    添加 Gradle 我们可以到我们添加 Maven 依赖的网站 Maven Repository: Search/Browse/Explore http://mvnrepository.com/ 上查 ...

  3. A股中为什么有涨幅超过10%的

    在A股规定涨跌幅10%的正常交易日中,某些股票的涨跌幅却超出或没达到10%的,原因是因为A股的交易中最小的价格“申报单位为0.01元”,就是说某些股票不管什么价格都不会刚刚好是10%,它只能“取最近于 ...

  4. PetaPoco模糊查询

    like '@0'  是错的,应该换成这样 like @0,原因是petapoco会自动把代码解析成'你好' 标签: Sql command = new Sql();command.Append(&q ...

  5. 第一篇 Replication:复制简介

    本篇文章是SQL Server Replication系列的第一篇,详细内容请参考原文. 复制这个词来自拉丁语中的"replicare",意味着重复.Replication des ...

  6. T4自动生成数据库C#实体类学习(1)

    第一个测试的Demo <#@ template language="C#" debug="True" hostspecific="True&qu ...

  7. oracle启动关闭命令

    关闭:1.shutdown normal 不允许新的连接.等待会话结束.等待事务结束.做一个检查点并关闭数据文件.启动时不需要实例恢复. 2.shutdown transactional不允许新的连接 ...

  8. asmdisk opened & asmdisk cached

    ASMDISK OPENED - Disk is present in the storage system and is being accessed by Automatic Storage Ma ...

  9. 不等高cell的搭建(一)

    一.界面搭建   1.确定开发模式      如果界面是固定的,可以用xib      界面的一些内容不固定,就用纯代码      cell用什么方式去开发(我们采用纯代码和xib结合的方式)   2 ...

  10. 从零开始攻略PHP(6)——代码重用与函数编写的一些注意事项

    一个新的项目是这样创建的:它将已有的可重新利用的组件进行组合,并将新的开发难度降低到最小. 代码重用的好处:降低成本.提升可靠性和一致性. 1.使用require()和include()函数 使用一条 ...