实战SQL Server 2005镜像配置全过程

SQL Server 2005镜像配置基本概念

我理解的SQL Server 2005镜像配置实际上就是由三个服务器(也可以是同一服务器的三个 SQL 实例)组成的一个保证数据的环境,分别是:主服务器、从服务器、见证服务器。

主服务器:数据存放的地方

从服务器:数据备份的地方(即:主服务器的镜像)

见证服务器:动态调配主/从服务器的第三方服务器

环境介绍

首先介绍一下配置的环境:

本次配置使用的是三个独立的服务器(A、B、C三台电脑)。

A:主服务器,IP:192.168.0.2

B:从服务器,IP:192.168.0.3

C:见证服务器,IP:192.168.0.4

三台电脑系同一局域网内,系统均是Windows Server 2003,数据库是SQL Server 2005

开始SQL Server 2005镜像配置

一、在A、B、C中新配置一个用户(DBUser),该用户要具有 SQL Server 的所有使用权限,我这里是将该用户添加到Administrators组。

二、在A、B、C中执行以下SQL语句:

在A、B、C中创建对象

1USE master
2GO
3
4CREATE ENDPOINT Endpoint_Mirroring
5   STATE = STARTED
6   AS TCP (
7      LISTENER_PORT = 5022   -- 监听端口,任意指定(三个服务器的端口最好是一致)
8      , LISTENER_IP = ALL   -- 监听IP地址,网内所有地址
9   )
10   FOR DATABASE_MIRRORING (
11      AUTHENTICATION = WINDOWS   -- 认证方式,Windows
12      , ROLE = ALL   -- 所有角色
13   );
14GO

 

三、再在A、B、C中执行以下SQL语句:

 

1GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [TestDB\Administrators];

 

四、在A中新建数据库(TestDB),然后先备份该数据库得到BAK文件(TestDB.bak),再备份该数据库的事务日志得到TRN文件(TestDB.trn),将此BAK和TRN文件发送到B中去,由B还原,在使用企业管理器还原的时候,在“选项”里面的“恢复状态”中选择第二项,即:不对数据库执行任何操作,不会滚未提交的事务,可以还原其它事务日志(A)。(RESTORE WITH NORECOVERY)。

五、在A、B中执行以下SQL语句:

添加各个服务器到环境中来

1-- A服务器(主服务器)中执行:
2ALTER DATABASE TestDB SET PARTNER = N'TCP://192.168.0.3:5022';   -- 将从服务器添加到环境中来
3ALTER DATABASE TestDB SET WITNESS = N'TCP://192.168.0.4:5022';   -- 将见证服务器添加到环境中来
4
5-- B服务器(从服务器)中执行:
6ALTER DATABASE TestDB SET PARTNER = 'TCP://192.168.0.2:5022';   -- 将从服务器连接到主服务器

 

【编辑推荐】

  1. SQL Server使用索引实现数据访问优化
  2. 浅谈如何在SQL Server中生成脚本
  3. SQL Server 05数据库被置为“可疑”的解决方法
  4. 详解SQL Server的版本区别及选择
  5. 符合数据库需求的最佳SQL Server版本选择

转载于:https://www.cnblogs.com/whtydn/p/4950576.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/419328.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java反转单链表(code)

转载自:http://poly.iteye.com/blog/1748272 主要是面试中可能会经常碰上该类似操作,尤其是稍大点公司,面试官可能并不在乎你能不能搞定该题,但是这类型题目最是能体现程序员的思维状态 ---一个迷糊头脑的程序员 怎能立志改变这个…

Spring中拦截/和拦截/*的区别 - 不能访问到返回的JSP - 访问静态资源(jpg,js等)

最近碰到了一个spring的web.xml无法跳转到index.html页面的小问题,查了之后从下面这篇文章中受益,特此转发,谢谢!!! 一、我们都知道在基于Spring的Application中,需要在web.xml中增加下面类似的…

net重载

先了解重载 重写 和多态性吧 ,这三个基本不同概念。但是基本面试都会同一时间问,让你以为他们有联系呢。真坑。对新手来说 先说重载吧:用同样的名称。用不同的等数列表来创建多个方法和属性,在调用的时候可以适应不同参数的要求&a…

JavaScript 回调函数中的 return false 问题

今天一个同事问了我一个问题,就是在 Ajax 方法中,请求成功后(success)的回调函数中根据响应的值来判断程序是否继续执行,他不解的是在回调函数中已经 return false 了,但是 Ajax 方法外部的后续语句却仍然继…

AngularJs ngIf、ngSwitch、ngHide/ngShow

在组合这些ng指令写到一篇文章里的时候,基本是有规则的,本兽会将功能相似相近的一类整合到一篇文章,方便理解和记忆。 这篇的三个指令也都是对DOM元素的操作,页面上显示/隐藏的判断,添加/移除的判断。 ngIf ngIf指令会…

MySQL与MongoDB的区别

什么是MongoDB ?MongoDB 是由C语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB 将数据存储为一个文档&…

webService上传图片

1 webService 2 3 /// <summary>4 /// 上传图片webServer 的摘要说明5 /// </summary>6 [WebService(Namespace "http://tempuri.org/")]7 [WebServiceBinding(ConformsTo WsiProfiles.BasicProfile1_1)]8 [ToolboxItem(fal…

在陌生Linux环境查看Tomcat服务的方法

1.查看Tomcat进程 执行命令$ps -ef|grep tomcat 你就能找出tomcat占据的进程号&#xff0c;当然这要求tomcat启动了。 # ps -ef | grep tomcat 2.查看Tomcat占据的端口 执行命令$netstat -nat能列出tomcat占据的端口&#xff0c;8080及其它类似的端口是需要注意的。这命令也需要…

查看WEB服务器的连接数

查看WEB服务器的连接数 https://technet.microsoft.com/en-us/sysinternals/bb897437 tcpView转载于:https://www.cnblogs.com/daishuguang/p/4973342.html

JVM系列三:JVM参数设置、分析

转载自&#xff1a; http://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html 不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM、GC的参数&#xff0c;可以极大的减少由于GC工作&#xff0c;而导致的程序运行中断方面的问题…

堆溢出,栈溢出

堆溢出:不断的new 一个对象&#xff0c;一直创建新的对象&#xff0c; 栈溢出&#xff1a;死循环或者是递归太深&#xff0c;递归的原因&#xff0c;可能太大&#xff0c;也可能没有终止。 在一次函数调用中&#xff0c;栈中将被依次压入&#xff1a;参数&#xff0c;返回地址&…

Information_Schema系统表

information_schema数据库是MySQL自带的&#xff0c;它提供了访问数据库元数据的方式。 元数据是关于数据的数据&#xff0c;如数据库名或表名&#xff0c;列的数据类型&#xff0c;或访问权限等。有些时候用于表述该信息的其他术语包括“数据词典”和“系统目录”。 在…