1. --======================================================
  2. ----镜像计划建立 2016-05-10 17:05:16.463 hubiyun
  3. ----======================================================
  4.  
  5. --配置
  6. --1.主体服务器一台(包含主体数据库)、镜像服务器一台(包含镜像数据库)、见证服务器一台(可选,监控,故障自动转移)
  7. --2.主体数据库:提供客户端应用程序的连接,查询,更新,执行相关事务等,主体数据库要求使用完全恢复模式。
  8. --3.镜像数据库:持续同步来自主体数据库的事务,镜像数据库不允许任何的连接存在,但可以对其创建数据库快照来作为只读数据库,实现用户的相关查询操作。
  9. --4.见证服务器:可选的配置,用于高可用性操作模式,通过见证服务器自动侦测故障,实现角色切换和故障转移。一个见证服务器可以为多组镜像提供服务。
  10. --5.角色的转换:主体数据库与镜像数据库互为伙伴,当见证服务器侦测到主体服务器故障时,在高可用性模式下,实现故障自动转移后,会自动将主体服务器切换为镜像服务器角色,即角色发生了互换。
  11. --6.确保主体服务器和镜像服务器使用相同的版本,见证服务器可以使用相对应的任意版本的SQL server
  12. --7.主体服务器的主体数据库设置为 FULL恢复模式。
  13.  
  14. --步骤以及常见问题
  15. --1.主机192.168.2.152 镜像192.168.2.153
  16. --2.用于实现镜像的数据库为Performance
  17. --3.服务器d:mirror为共享文件夹,其中涉及的文件都放在该文件夹中
  18. --常见1418ERROR—》 开启RemoteDacEnabled、修改hosts文件、修改计算机DNStelnet测试、修改xpstar.dllxplog70.dll权限
  19. --使用管理-SQL SERVER日志来诊断具体问题
  20. --https://msdn.microsoft.com/en-us/library/ms191140.aspx
  21. --http://blog.csdn.net/whatday/article/details/8350709
  22. --http://www.cnblogs.com/mrhgw/p/3514855.html
  23.  
  24. exec sp_configure 'show advanced options', 1
  25. reconfigure
  26. exec sp_configure 'xp_cmdshell', 1
  27. reconfigure
  28. exec sp_configure 'Ad Hoc Distributed Queries',1
  29. reconfigure
  30. --exec sp_addlinkedserver 'srv_lnk', '', 'SQLOLEDB','192.168.2.153'
  31. --exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'sa','sa'
  32. --go
  33. --exec sp_dropserver 'srv_lnk','droplogins'
  34. --go
  35. --=================
  36. ----1.数据同步
  37. ----===============
  38.  
  39. --数据库备份
  40. use master
  41. go
  42. backup database Performance to disk = N'D:\mirror\Performance.bak'
  43. with format, init, name = N'Performance-Full Database Backup', skip, norewind, nounload, stats = 10
  44. go
  45. backup log Performance to disk = N'D:\mirror\Performance.bak'
  46. with noformat, noinit, name = N'Performance-Transaction Log Backup', skip, norewind, nounload, stats = 10
  47. go
  48. exec master..xp_cmdshell 'net use \\192.168.2.153\mirror Aa123456 /user:domain\Administrator'
  49. exec Master..xp_cmdshell 'copy D:\mirror\Performance.bak \\192.168.2.153\mirror\Performance.bak'
  50. go
  51.  
  52. --数据库恢复
  53. use master
  54. go
  55. restore database Performance from disk = N'D:\mirror\Performance.bak'
  56. with file = 1,
  57. norecovery, nounload, replace, stats = 10
  58. go
  59. restore log Performance from disk = N'D:\mirror\Performance.bak'
  60. with file = 2, norecovery, nounload, stats = 10
  61. go
  62.  
  63. --=================
  64. ----2.证书交换
  65. ----===============
  66.  
  67. --A服务器执行SQL
  68. use master
  69. go
  70. if exists (select 1 from sys.endpoints where name ='Endpoint_Mirroring')
  71. drop endpoint Endpoint_Mirroring
  72. if exists (select 1 from sys.certificates where name ='HOST_A_cert')
  73. drop certificate HOST_A_cert
  74. if exists (select 1 from sys.certificates where name ='HOST_B_cert')
  75. drop certificate HOST_B_cert
  76. if exists (select 1 from sys.databases where name ='master' and is_master_key_encrypted_by_server>0)
  77. drop master key
  78. if exists (select 1 from sysusers where name ='HOST_B_user')
  79. drop user HOST_B_user
  80. if exists (select 1 from syslogins where name ='HOST_B_login')
  81. drop login HOST_B_login
  82. create master key encryption by password = 'OmBzkbeUGmXgJoZqg0vsqp4'
  83. go
  84. create certificate HOST_A_cert
  85. with subject = 'HOST_A certificate',start_date='',expiry_date=''
  86. go
  87. create endpoint Endpoint_Mirroring
  88. state = started
  89. as tcp (
  90. listener_port=7024
  91. , listener_ip = ALL
  92. )
  93. for database_mirroring (
  94. authentication = certificate HOST_A_cert
  95. , encryption = required algorithm AES
  96. , role = ALL
  97. )
  98. go
  99. exec master.dbo.xp_cmdshell 'del D:\mirror\HOST_A_cert.cer'
  100. backup certificate host_a_cert to file = 'D:\mirror\HOST_A_cert.cer'
  101. go
  102. exec master..xp_cmdshell 'net use \\192.168.2.153\mirror Aa123456 /user:domain\Administrator'
  103. exec Master..xp_cmdshell 'copy D:\mirror\HOST_A_cert.cer \\192.168.2.153\mirror\HOST_A_cert.cer'
  104. go
  105. create login HOST_B_login with password = 'BBluOHCsEqd4'
  106. go
  107. create user HOST_B_user for login HOST_B_login
  108. go
  109.  
  110. --B服务器执行SQL
  111. use master
  112. go
  113. if exists (select 1 from sys.endpoints where name ='Endpoint_Mirroring')
  114. drop endpoint Endpoint_Mirroring
  115. if exists (select 1 from sys.certificates where name ='HOST_B_cert')
  116. drop certificate HOST_B_cert
  117. if exists (select 1 from sys.certificates where name ='HOST_A_cert')
  118. drop certificate HOST_A_cert
  119. if exists (select 1 from sysusers where name ='HOST_A_user')
  120. drop user HOST_A_user
  121. if exists (select 1 from syslogins where name ='HOST_A_login')
  122. drop login HOST_A_login
  123. if exists (select 1 from sys.databases where name ='master' and is_master_key_encrypted_by_server>0)
  124. drop master key
  125. create master key encryption by password = 'Ny0d7X1X46QAqxfheSkdE9PQYFu9B'
  126. go
  127. create certificate HOST_B_cert
  128. with subject = 'HOST_B certificate for database mirroring',start_date='',expiry_date=''
  129. go
  130. create endpoint Endpoint_Mirroring
  131. state = started
  132. as tcp (
  133. listener_port=7024
  134. , listener_ip = ALL
  135. )
  136. for database_mirroring (
  137. authentication = certificate HOST_B_cert
  138. , encryption = required algorithm AES
  139. , role = ALL
  140. )
  141. go
  142. exec master.dbo.xp_cmdshell 'del D:\mirror\HOST_B_cert.cer'
  143. backup certificate HOST_B_cert to file = 'D:\mirror\HOST_B_cert.cer'
  144. go
  145. exec master..xp_cmdshell 'net use \\192.168.2.152\mirror Aa123456 /user:domain\Administrator'
  146. exec Master..xp_cmdshell 'copy D:\mirror\HOST_B_cert.cer \\192.168.2.152\mirror\HOST_B_cert.cer'
  147. go
  148. create login HOST_A_login with password = 'OTYNeiFau7DY'
  149. go
  150. create user HOST_A_user for login HOST_A_login
  151. go
  152.  
  153. --A服务器执行SQL
  154. create certificate HOST_B_cert
  155. authorization HOST_B_user
  156. from file = 'D:\mirror\HOST_B_cert.cer'
  157. go
  158. grant connect on endpoint::Endpoint_Mirroring TO HOST_B_login
  159. go
  160.  
  161. --B服务器执行SQL
  162. create certificate HOST_A_cert
  163. authorization HOST_A_user
  164. from file = 'D:\mirror\HOST_A_cert.cer'
  165. go
  166. grant connect on endpoinT::Endpoint_Mirroring TO HOST_A_login
  167. go
  168.  
  169. --=================
  170. ----3.镜像操作
  171. ----===============
  172.  
  173. --B服务器
  174. use master;
  175. go
  176. alter database Performance
  177. set partner = 'TCP://2008zjk152.bird.cn:7024'
  178. --set partner off
  179. go
  180. alter database Performance set partner resume
  181. alter database Performance set partner failover
  182. alter database Performance set partner force_service_allow_data_loss
  183. go
  184.  
  185. --A服务器
  186. use master;
  187. go
  188. alter database Performance
  189. set partner = 'TCP://2008zjk153.bird.cn:7024'
  190. --set partner off
  191. go
  192. alter database Performance set partner resume
  193. alter database Performance set partner failover
  194. 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. Markdown教程<2> mermaid图形绘制(1)

    Markdown教程<2> mermaid图形绘制(1) 博客园中的markdown编辑器同时支持mermaid图表引擎与tex公式引擎,可以使用mermaid直接画出流程图,时序图,甘特 ...

  2. 跟我学SpringCloud | 第一篇:介绍

    首先讲一下我为什么要写这一系列的文章,现在网上大量的springcloud相关的文章,使用的springboot和springcloud的版本都相对比较老,很多还是在使用springboot1.x的版 ...

  3. php对象在内存中创建于释放

    <?php /** * 1.对象的创建占用内存, * 对象内存释放,析构方法就是在对象释放前运行最后的一步.可以自动释放和手动释放 * 手动释放:通过unset($p);来释放对象,在这个时候会 ...

  4. 安装mysql apache php smb

    1 SMB LinuX下SMB的配置 使用Smb进行连接的命令: smbclient //192.168.128.1/Share 今天要在LINUX之间以及LINUX与WINDOWS之间互相传送文件, ...

  5. 曹工说Tomcat4:利用 Digester 手撸一个轻量的 Spring IOC容器

    一.前言 一共8个类,撸一个IOC容器.当然,我们是很轻量级的,但能够满足基本需求.想想典型的 Spring 项目,是不是就是各种Service/DAO/Controller,大家互相注入,就组装成了 ...

  6. mongoshell 执行JavaScript文件获取数据库实例基本信息

    由于MongoDB没有关系型数据中强大的数据字典.因此,如果需要汇总统计一些内部信息,包括数据量,基本元信息,集群架构,状态信息.则需要自己写脚本统计.为日后工作方便,本人在此将一些统计信息通过Jav ...

  7. scrapy实战9动态设置ip代理从数据库中随机获取一个可用的ip:

    在目录下创建tools(python package) 在tools中创建crawl_xici_ip.py文件写入代码如下: #coding=utf-8 import requests from sc ...

  8. 零基础ASP.NET Core MVC插件式开发

    零基础ASP.NET Core MVC插件式开发 一个项目随着业务模块的不断增加,系统会越来越庞大.如果参与开发的人员越多,管理起来也难度也很大.面对这样的情况,首先想到的是模块化插件式开发,根据业务 ...

  9. C++学习书籍推荐《C++编程思想第二版第一卷》下载

    百度云及其他网盘下载地址:点我 编辑推荐 “经典原版书库”是响应教育部提出的使用原版国外教材的号召,为国内高校的计算机教学度身订造的.<C++编程思想>(英文版第2版)是书库中的一本,在广 ...

  10. TigerGraph入门

    测试机器配置 1G内存,1个核,CentOS Linux release 7.4.1708 (Core)的云主机,一块50G HDD的云主机. 1. 安装 下载了目前最新的开发者版本,下载链接:htt ...