随笔 - 163  文章 - 2  评论 - 370  阅读 - 46万 

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版本选择
posted on   风浪  阅读(1377)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示