--======================================================
----镜像计划建立 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. netcore mvc快速开发系统(菜单,角色,权限[精确到按钮])开源

    AntMgr https://github.com/yuzd/AntMgr 基于netcore2.0 mvc 开发的 快速搭建具有如下特色的后台管理系统 特色: 用户管理 菜单管理 角色管理 权限管理 ...

  2. C# Winfrom 简单的运用Timer控件

    注意,在使用DateAndTime时,需要添加引用 using Microsoft.VisualBasic;否则不可以计算时间之间的差值. using System; using System.Col ...

  3. 一篇文章概括 Java Date Time 的使用

    本文目的:掌握 Java 中日期和时间常用 API 的使用. 参考:Jakob Jenkov的英文教程Java Date Time Tutorial 和 JavaDoc 概览 Java 8 新增 AP ...

  4. TCP/IP 第一章

    1,tcp/ip协议族作用:连接互联网中的计算机,并使其通信.可以想象互联网的计算机有不同的操作系统,如linux.unix.bsd.srv.windows.mac等.这么多操作系统对tcp/ip的实 ...

  5. 基于STM32之UART串口通信协议(二)发送

    一.前言 1.简介 在上一篇UART详解中,已经有了关于UART的详细介绍了,也有关于如何使用STM32CubeMX来配置UART的操作了,而在该篇博客,主要会讲解一下如何实现UART串口的发送功能. ...

  6. redis整合springboot的helloworld

    引入依赖 compile 'org.springframework.boot:spring-boot-starter-data-redis' 使用redis有两种方法 1.Jedis Jedis je ...

  7. 小程序组件-swipe多页切换,并支持下拉刷新,上拉加载,menu动态联动切换

    前言 最近一个小程序项目中遇到一个需求,就是实现类似资讯类app的多页面切换的那种效果, 如下图: 最终效果: 1.功能分析 首先实现这个功能分为三步: 实现顶部menu菜单 实现多页面滑动切换 支持 ...

  8. SQL Server 函数的定义及使用

    一.定义函数 1. 标量值函数: 返回一个确定类型的标量值,例如:int,char,bit等 --创建标量值函数 create function func_1(@func_parameter_1 in ...

  9. WebRTC:数据传输相关协议简介

    对网络协议来说,需要做的通常就两件事情:1.建立连接,2.传输数据,WebRTC也不例外. 假设WebRTC应用的两端已经建立了连接,那么,剩下就是如何传输数据的问题了. WebRTC同时支持传输音视 ...

  10. kubernetes安装部署-day01

    一.基础环境的准备: 1.1.安装docker: docker的官网是:https://www.docker.com/ 1.1.1.rpm包安装: 官方下载地址:https://download.do ...