--======================================================
----镜像计划建立 2016-05-10 17:05:16.463 hubiyun
----====================================================== --配置
--1.主体服务器一台(包含主体数据库)、镜像服务器一台(包含镜像数据库)、见证服务器一台(可选,监控,故障自动转移)
--2.主体数据库:提供客户端应用程序的连接,查询,更新,执行相关事务等,主体数据库要求使用完全恢复模式。
--3.镜像数据库:持续同步来自主体数据库的事务,镜像数据库不允许任何的连接存在,但可以对其创建数据库快照来作为只读数据库,实现用户的相关查询操作。
--4.见证服务器:可选的配置,用于高可用性操作模式,通过见证服务器自动侦测故障,实现角色切换和故障转移。一个见证服务器可以为多组镜像提供服务。
--5.角色的转换:主体数据库与镜像数据库互为伙伴,当见证服务器侦测到主体服务器故障时,在高可用性模式下,实现故障自动转移后,会自动将主体服务器切换为镜像服务器角色,即角色发生了互换。
--6.确保主体服务器和镜像服务器使用相同的版本,见证服务器可以使用相对应的任意版本的SQL server。
--7.主体服务器的主体数据库设置为 FULL恢复模式。 --步骤以及常见问题
--1.主机192.168.2.152 镜像192.168.2.153
--2.用于实现镜像的数据库为Performance
--3.服务器d:mirror为共享文件夹,其中涉及的文件都放在该文件夹中
--常见1418ERROR—》 开启RemoteDacEnabled、修改hosts文件、修改计算机DNS、telnet测试、修改xpstar.dll、xplog70.dll权限
--使用管理-SQL SERVER日志来诊断具体问题
--https://msdn.microsoft.com/en-us/library/ms191140.aspx
--http://blog.csdn.net/whatday/article/details/8350709
--http://www.cnblogs.com/mrhgw/p/3514855.html exec sp_configure 'show advanced options', 1
reconfigure
exec sp_configure 'xp_cmdshell', 1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
--exec sp_addlinkedserver 'srv_lnk', '', 'SQLOLEDB','192.168.2.153'
--exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'sa','sa'
--go
--exec sp_dropserver 'srv_lnk','droplogins'
--go
--=================
----1.数据同步
----=============== --数据库备份
use master
go
backup database Performance to disk = N'D:\mirror\Performance.bak'
with format, init, name = N'Performance-Full Database Backup', skip, norewind, nounload, stats = 10
go
backup log Performance to disk = N'D:\mirror\Performance.bak'
with noformat, noinit, name = N'Performance-Transaction Log Backup', skip, norewind, nounload, stats = 10
go
exec master..xp_cmdshell 'net use \\192.168.2.153\mirror Aa123456 /user:domain\Administrator'
exec Master..xp_cmdshell 'copy D:\mirror\Performance.bak \\192.168.2.153\mirror\Performance.bak'
go --数据库恢复
use master
go
restore database Performance from disk = N'D:\mirror\Performance.bak'
with file = 1,
norecovery, nounload, replace, stats = 10
go
restore log Performance from disk = N'D:\mirror\Performance.bak'
with file = 2, norecovery, nounload, stats = 10
go --=================
----2.证书交换
----=============== --A服务器执行SQL
use master
go
if exists (select 1 from sys.endpoints where name ='Endpoint_Mirroring')
drop endpoint Endpoint_Mirroring
if exists (select 1 from sys.certificates where name ='HOST_A_cert')
drop certificate HOST_A_cert
if exists (select 1 from sys.certificates where name ='HOST_B_cert')
drop certificate HOST_B_cert
if exists (select 1 from sys.databases where name ='master' and is_master_key_encrypted_by_server>0)
drop master key
if exists (select 1 from sysusers where name ='HOST_B_user')
drop user HOST_B_user
if exists (select 1 from syslogins where name ='HOST_B_login')
drop login HOST_B_login
create master key encryption by password = 'OmBzkbeUGmXgJoZqg0vsqp4'
go
create certificate HOST_A_cert
with subject = 'HOST_A certificate',start_date='',expiry_date=''
go
create endpoint Endpoint_Mirroring
state = started
as tcp (
listener_port=7024
, listener_ip = ALL
)
for database_mirroring (
authentication = certificate HOST_A_cert
, encryption = required algorithm AES
, role = ALL
)
go
exec master.dbo.xp_cmdshell 'del D:\mirror\HOST_A_cert.cer'
backup certificate host_a_cert to file = 'D:\mirror\HOST_A_cert.cer'
go
exec master..xp_cmdshell 'net use \\192.168.2.153\mirror Aa123456 /user:domain\Administrator'
exec Master..xp_cmdshell 'copy D:\mirror\HOST_A_cert.cer \\192.168.2.153\mirror\HOST_A_cert.cer'
go
create login HOST_B_login with password = 'BBluOHCsEqd4'
go
create user HOST_B_user for login HOST_B_login
go --B服务器执行SQL
use master
go
if exists (select 1 from sys.endpoints where name ='Endpoint_Mirroring')
drop endpoint Endpoint_Mirroring
if exists (select 1 from sys.certificates where name ='HOST_B_cert')
drop certificate HOST_B_cert
if exists (select 1 from sys.certificates where name ='HOST_A_cert')
drop certificate HOST_A_cert
if exists (select 1 from sysusers where name ='HOST_A_user')
drop user HOST_A_user
if exists (select 1 from syslogins where name ='HOST_A_login')
drop login HOST_A_login
if exists (select 1 from sys.databases where name ='master' and is_master_key_encrypted_by_server>0)
drop master key
create master key encryption by password = 'Ny0d7X1X46QAqxfheSkdE9PQYFu9B'
go
create certificate HOST_B_cert
with subject = 'HOST_B certificate for database mirroring',start_date='',expiry_date=''
go
create endpoint Endpoint_Mirroring
state = started
as tcp (
listener_port=7024
, listener_ip = ALL
)
for database_mirroring (
authentication = certificate HOST_B_cert
, encryption = required algorithm AES
, role = ALL
)
go
exec master.dbo.xp_cmdshell 'del D:\mirror\HOST_B_cert.cer'
backup certificate HOST_B_cert to file = 'D:\mirror\HOST_B_cert.cer'
go
exec master..xp_cmdshell 'net use \\192.168.2.152\mirror Aa123456 /user:domain\Administrator'
exec Master..xp_cmdshell 'copy D:\mirror\HOST_B_cert.cer \\192.168.2.152\mirror\HOST_B_cert.cer'
go
create login HOST_A_login with password = 'OTYNeiFau7DY'
go
create user HOST_A_user for login HOST_A_login
go --A服务器执行SQL
create certificate HOST_B_cert
authorization HOST_B_user
from file = 'D:\mirror\HOST_B_cert.cer'
go
grant connect on endpoint::Endpoint_Mirroring TO HOST_B_login
go --B服务器执行SQL
create certificate HOST_A_cert
authorization HOST_A_user
from file = 'D:\mirror\HOST_A_cert.cer'
go
grant connect on endpoinT::Endpoint_Mirroring TO HOST_A_login
go --=================
----3.镜像操作
----=============== --B服务器
use master;
go
alter database Performance
set partner = 'TCP://2008zjk152.bird.cn:7024'
--set partner off
go
alter database Performance set partner resume
alter database Performance set partner failover
alter database Performance set partner force_service_allow_data_loss
go --A服务器
use master;
go
alter database Performance
set partner = 'TCP://2008zjk153.bird.cn:7024'
--set partner off
go
alter database Performance set partner resume
alter database Performance set partner failover
go

T-SQL 镜像测试的更多相关文章

  1. java web sql注入测试(3)---现象分析

    那为什么出现以上问题呢?这是程序代码层控制不当导致的.如果web前端对输入数据控制严格,会对数据库进行操作的字符串,在客户端做敏感字符转义处理,或者在操作数据库的dao层,使用动态参数的sql,不使用 ...

  2. java web sql注入测试(1)---概念概述

    在进行java web 测试时,经常会忽略的测试种类就是sql注入测试,这类缺陷造成的原因是开发技术在这方面欠缺的表现,虽然不常见,但一旦有这类缺陷,就很因此对运营的数据造成很多不必要的损失,所以,还 ...

  3. SQL注入测试平台 SQLol -1. 简介与安装

    最近下载了SQLol测试了一下,感觉挺好玩的,做一下记录. SQLol是一个可配置得SQL注入测试平台,它包含了一系列的挑战任务,让你在挑战中测试和学习SQL注入语句,SQLol还是比较有创意的项目. ...

  4. SAP 查询分析器,查询报表自动生成,SQL查询测试实现说明(转)

    在日常的SAP开发和应用中,经常需要通过查询SAP数据表来处理日常业务,比如:数据对账.报表SQL测试.SAP查询功能开发等.通过开发SAP查询分析器,SAP实施和开发人员,可以在较短的时间内查询到需 ...

  5. 《软件测试自动化之道》读书笔记 之 SQL 存储过程测试

    <软件测试自动化之道>读书笔记 之 SQL 存储过程测试 2014-09-28 待测程序测试程序   创建测试用例以及测试结果存储  执行T-SQL脚本  使用BCP工具导入测试用例数据  ...

  6. FileMaker Server连接SQL Server测试

    用FM测试了一把扫二维码.效果还不错,简单的设置几下就可以上线,使用Iphone扫二维码进行盘点以及更新照片功能.接下来测试下下ODBC连接. FMS连接SQL Server测试 1. 在FMS服务器 ...

  7. sql注入测试(3)---现象分析

    那为什么出现以上问题呢?这是程序代码层控制不当导致的.如果web前端对输入数据控制严格,会对数据库进行操作的字符串,在客户端做敏感字符转义处理,或者在操作数据库的dao层,使用动态参数的sql,不使用 ...

  8. sql注入测试(1)---概念概述

    在进行java web 测试时,经常会忽略的测试种类就是sql注入测试,这类缺陷造成的原因是开发技术在这方面欠缺的表现,虽然不常见,但一旦有这类缺陷,就很因此对运营的数据造成很多不必要的损失,所以,还 ...

  9. java web sql注入测试(2)---实例测试

    以下篇幅,用一个简单的实例说明如何进行测试. 功能:根据用户NAME删除用户,采用的是SQL拼接的方式,核心代码部分如下: public static void deleteByName(String ...

随机推荐

  1. 接口测试中读取excel中的请求数据含有中文问题,UnicodeEncodeError: 'latin-1' codec can't encode character '\u5c0f' in position

    错误信息:UnicodeEncodeError: 'latin-1' codec can't encode character '\u5c0f' in position 31: Body ('小') ...

  2. 【java爬虫】网络爬虫思路

    主要是针对某个单独的网站进行页面的爬取,方式有好多种,记录一下大体的思路. 方法1: a.通过http请求获取返回的静态页面. b.将返回的字符串页面进行split,切割成字符串数组. c.遍历字符串 ...

  3. java - Builder模式实例化对象

    Builder 优雅的链式调用来实现实例化对象 1.  首先在实体类中,构造一个Builder内部类,由Builder来完成Person的属性赋值,并最终执行build来完成Person的实例化 pa ...

  4. Java学习笔记——设计模式之六.原型模式(浅克隆和深克隆)

    That there's some good in this world, Mr. Frodo. And it's worth fighting for. 原型模式(prototype),用原型实例指 ...

  5. Node.js Windows Example

    Firstly, download the msi file from https://nodejs.org/en/ Second, click the msi file to install nod ...

  6. C#中的委托和事件(上篇)

    每一个初学C#的程序猿,在刚刚碰到委托和事件的概念时,估计都是望而却步,茫然摸不到头脑的.百度一搜,关于概念介绍的文章大把大把的,当然也不乏深入浅出的好文章.可看完这些文章,大多数新手,估计也只是信心 ...

  7. TCP UDP (转)

    互连网早期的时候,主机间的互连使用的是NCP协议.这种协议本身有很多缺陷,如:不能互连不同的主机,不能互连不同的操作系统,没有纠错功能.为了改善这种缺点,大牛弄出了TCP/IP协议.现在几乎所有的操作 ...

  8. c++学习书籍推荐《C和C++安全编码》下载

    <华章程序员书库:C和C++安全编码(原书第2版)>致力于解决C和C++中已经导致危险的.破坏性的常见软件漏洞的基本编程错误,这些漏洞自CERT 1988年创立以来就记录在案.针对导致这些 ...

  9. 20190716 NOIP模拟测试4 考试反思

    总分 127分 满分300 第一题 礼物 10分 一道期望题,看起来挺简单,但对于概率与期望这一块我还不怎么会,花了一个小时调他,最后只QJ了一下10%的测试点 第二题 通讯 90分 显然的缩点求解, ...

  10. [NOIP2003] 传染病控制题解

    问题 F: [NOIP2003] 传染病控制 时间限制: 1 Sec  内存限制: 128 MB 题目描述 [问题背景] 近来,一种新的传染病肆虐全球.蓬莱国也发现了零星感染者,为防止该病在蓬莱国大范 ...