sql2005镜像实现
-- ===========================================
-- 无论是主体服务器、镜像服务器, 还是见证服务器
-- 除特别说明外,均需要保证下面的操作在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镜像实现相关推荐
- SQL server经典电子书、工具和视频教程汇总
2019独角兽企业重金招聘Python工程师标准>>> SQL Server是高校计算机专业的一门必修课程,同时众多企业采用SQL Server作为数据库系统,学习这门知识非常重要. ...
- VS2005/SQL2005等原版镜像高速下载
刚刚找到的好东东,想下载的朋友最好用讯雷下载,它可以搜索到其它服务器上的文件.. 即使这个地址不能下载了,也有可能可以下载.. VS2005/SQL2005等原版镜像高速下载 Microsoft Vi ...
- SQL2005 使用证书实现数据库镜像
数据库镜像可以使用两种类型的传输安全性:Windows 身份验证或基于证书的身份验证,就证书验证的镜像实现做个学习笔记. 配置环境: HOST_A : Windows Server 2003 Sta ...
- SQL2005疑难解决方案大全
SQL2005疑难解决方案大全 目录 目录............................................................................... ...
- 本地打包Docker镜像上传至阿里云远程仓库(一站式脚本)
打包镜像上传至远程仓库: 1. 本地项目为 mytest-project 2. 仓库为阿里云镜像仓库 registry.cn-beijing.aliyuncs.com/test/mytest-proj ...
- 在k8s中使用gradle构建java web项目镜像Dockerfile
在k8s中使用gradle构建java web项目镜像Dockerfile FROM gradle:6-jdk8 AS build COPY --chown=gradle:gradle . /home ...
- Docker容器的备份与恢复,Docker镜像的备份与恢复
1. 备份容器 首先,为了备份Docker中的容器,我们会想看看我们想要备份的容器列表.要达成该目的,我们需要在我们运行着Docker引擎,并已创建了容器的Linux机器中运行 docker ps 命 ...
- 将jar包部署在docker上,将jar包打成镜像,使用docker部署jar包
假设你已经准备好以下东西,即可进行服务部署 一台安装好docker的linux服务器(安装docker见安装docker) 准备好的jar包 接下来开始吧! 将jar包上传至服务器(建好文件夹存放以方 ...
- docker镜像的备份和恢复
在使用docker的时候总会出现这种情况:下载东西很慢很慢,下载完配置完以后,突然,一个地方配置出现了问题,无法恢复,需要重新装载,那么,之前的所有配置.安装.下载都没了,又是一个大活~ 该怎么办呢? ...
- docker停止、删除容器、删除镜像 一看就理解
当你的容器中出现问题(比如我改坏了文件)需要重新部署一台的时候,就需要将这个容器实例删除 接着: #查看当前的容器ID $ docker ps 这里你会看到有两列id,一列是镜像id,一列是容器id, ...
最新文章
- ZOJ-1654 Place the Robots---二分图最小点覆盖+构图
- LibreOffice 3.6.6 修复了 50 个 Bug
- 单片机模块学习之LED
- First Missing Positive
- 关于c#静态构造函数
- html window 属性,html中window对象top 、self 、parent 等属性
- pe估值 python_Python编程学习笔记(7)
- getline()函数
- php smarty 语法,php之Smarty根本语法和三大变量
- 5.1特辑 | 为什么显示有票你却抢不到?技术揭秘12306如何保证车票不超卖
- 常用z反变换公式表_高等数学系列R之三:拉氏变换
- 《Java开发实战经典》习题第3章第12题:使用for循环打印下面的图形(用for循环打印金字塔)
- excel部分网格线不见了_EXCEL-绘制箱形图
- JAVA 开发规范
- 天才小毒妃 第945章 龙非夜心情很不好
- 通过优矿API python获取财报
- 第一次发,可能不太好,别喷我
- 氮化镓 服务器电源管理系统报价,基于LMG341x GaN FET的服务器电源单元(PSU)电路设计...
- 解决Keil5软件MDK版本和C51共同使用问题
- 【翻译】Kubernetes的未来--以及为什么开发人员在2022年应该超越Kubernetes的目光...