MSSQL SERVER 2008(R2)数据库镜像高可用集群搭建非域环境

  1. 系统环境
服务器主体服务器镜像服务器见证服务器
主机名dbmadbmbdbmw
IP地址192.168.154.191192.168.154.192192.168.154.193
防火墙端口TCP:1433,5022TCP:1433,5022TCP:1433,5022
操作系统Windows Server 2008 R2企业版Windows Server 2008 R2 企业版Windows Server 2008 R2 企业版
数据库版本MSSQL SERVER 2008 R2 标准版MSSQL SERVER 2008 R2 标准版MSSQL SERVER 2008 R2 标准版
数据库名称db1db1-

乞丐关注:MSSQL SERVER 2008(R2)标准版/企业版支持数据库镜像功能,MSSQL SERVER 2008(R2)简易版仅支持做见证服务。仅MSSQL SERVER 2008(R2)标准版支持在非服务器操作系统Windows 7旗舰版/专业版/企业版上安装。

  1. 系统配置
  • 配置IP地址(略)

  • 配置主机名(略)

  • 配置HOSTS,三台均需配置
    分别在主体服务器、镜像服务器、见证服务器的c:\windows\system32\drivers\etc\hosts文件最后加入以下行:
    192.168.154.191 dbma
    192.168.154.192 dbmb
    192.168.154.193 dbmw
    修改完成后如下:

     # Copyright (c) 1993-2009 Microsoft Corp.
     #
     # This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
     #
     # This file contains the mappings of IP addresses to host names. Each
     # entry should be kept on an individual line. The IP address should
     # be placed in the first column followed by the corresponding host name.
     # The IP address and the host name should be separated by at least one
     # space.
     #
     # Additionally, comments (such as these) may be inserted on individual
     # lines or following the machine name denoted by a '#' symbol.
     #
     # For example:
     #
     #      102.54.94.97     rhino.acme.com          # source server
     #       38.25.63.10     x.acme.com              # x client host
     # localhost name resolution is handled within DNS itself.
     #	127.0.0.1       localhost
     #	::1             localhost
     192.168.154.191 dbma
     192.168.154.192 dbmb
     192.168.154.193 dbmw
    
  • 配置防火墙规则,三台均需配置。
    开始 > 右键网络 > 属性 > Windows防火墙 > 高级设置 > 右键入站规则 > 新建规则
    1)、规则类型
    选择“端口”,单击“下一步” 。
    2)、协议和端口
    选择“TCP” 、选择“特定本地端口”、输入端口号1433,5022,单击“下一步” 。
    3)、操作
    选择“允许连接”,单击"下一步"。
    4)、配置文件
    勾选“域”、“专用”、“公用”,单击“下一步”。
    5)、名称
    输入MSSQL_TCP1433\5022,单击“完成”。

  • 安装 .NET Framework 3.5.1,三台均需安装
    开始 > 管理工具 > 服务器管理器 > 角色 > 添加角色
    1)、开始之前
    单击“下一步”。
    2)、服务器角色
    选择“应用程序服务器”,单击“下一步”。
    2.1)、应用程序服务器
    单击“下一步”。
    2.2)、服务器角色
    选择“.NET Framework 3.5.1”,单击“下一步”。
    3)、确认
    单击“安装”。
    4)、进度
    默认自动跳过。
    5)、结果
    单击“关闭”。

  1. 安装MSSQL SERVER 2008R2 标准版,三台均需安装。
    1)、SQL Server安装中心,单击“安装” > 单击“全新安装或向现有安装添加功能”。在这里插入图片描述
    2)、安装程序支持规则,确保全部通过。单击“确定”。 在这里插入图片描述
    3)、产品密钥,单击“下一步”。 在这里插入图片描述
    4)、许可条款,勾选“我接受许可条款” > 单击“下一步”。 在这里插入图片描述
    5)、安装程序支持文件,单击“安装”。 在这里插入图片描述
    6)、安装程序支持规则,防火墙TCP端口1433/5022已开放警告可以忽略,单击“下一步 ”。在这里插入图片描述
    7)、设置角色,选择“SQL Server功能安装” > 单击“下一步”。 在这里插入图片描述
    8)、功能选择,勾选“数据库引擎服务”、“管理工具 - 基本”、“管理工具 - 完整”、“SQL 客户端连接 SDK”,单击“下一步”。 在这里插入图片描述
    9)、安装规则,单击“下一步”。 在这里插入图片描述
    10)、实例配置,选择“默认实例 ” > 单击“下一步”。 在这里插入图片描述
    11)、磁盘空间要求,单击“下一步”。 在这里插入图片描述
    12)、服务器配置,单击“对所有SQL Server服务使用相同的账户”。 在这里插入图片描述
    12.1)、单击“浏览” > 在“选择用户或组”中输入adminstrator > 单击“检查名称” > 单击“确定”。 在这里插入图片描述
    12.2)、输入administrator账户密码,单击“确定”。 在这里插入图片描述
    12.3)、单击“下一步”。 在这里插入图片描述
    13)、选择“混合模式(SQL Server 身份验证和 Windows 身份验证)。” > 输入sa账户密码 > 单击“添加当前用户” > 单击“下一步”。 在这里插入图片描述
    14)、错误报告,单击“下一步”。 在这里插入图片描述
    15)、安装配置规则,单击“下一步”。 在这里插入图片描述
    16)、准备安装,确认无误后单击“安装”。
    在这里插入图片描述
    17)、完成,成功安装后,单击“关闭”。
    在这里插入图片描述
  2. 配置MSSQL SERVER镜像
/*--------------------------------主体服务器配置---------------------------------*/
USE master
GO
/*创建密钥*/
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'm5p@ss';

/*创建证书*/
CREATE CERTIFICATE dbma_cert
WITH Subject = 'dbma certificate',
Expiry_Date = '2029-1-1';

/*创建端点*/
IF NOT EXISTS (
SELECT 1
FROM sys.database_mirroring_endpoints) BEGIN
CREATE ENDPOINT [DatabaseMirroring] STATE = STARTED AS TCP (LISTENER_PORT = 5022,
 LISTENER_IP = ALL) FOR DATABASE_MIRRORING (AUTHENTICATION =
 CERTIFICATE dbma_cert, ENCRYPTION = REQUIRED ALGORITHM AES, ROLE = ALL); END

/*创建登录、用户及端点登录授权*/
CREATE LOGIN dbmb_login WITH PASSWORD = 'm5p@ss';
CREATE USER dbmb_user For Login dbmb_login;
GRANT CONNECT ON  ENDPOINT::[DatabaseMirroring] TO [dbmb_login];
CREATE LOGIN dbmw_login WITH PASSWORD = 'm5p@ss';
CREATE USER dbmw_user For Login dbmw_login;
GRANT CONNECT ON  ENDPOINT::[DatabaseMirroring] TO [dbmw_login];

/*导出证书*/
BACKUP CERTIFICATE dbma_cert
TO FILE = 'C:\dbma_cert.cer';

/*--------------------------------镜像服务器配置---------------------------------*/
USE master
GO
/*创建密钥*/
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'm5p@ss';

/*创建证书*/
CREATE CERTIFICATE dbmb_cert
WITH Subject = 'dbmb certificate',
Expiry_Date = '2029-1-1';

/*创建端点*/
IF NOT EXISTS (
SELECT 1
FROM sys.database_mirroring_endpoints) BEGIN
CREATE ENDPOINT [DatabaseMirroring] STATE = STARTED AS TCP (LISTENER_PORT = 5022,
 LISTENER_IP = ALL) FOR DATABASE_MIRRORING (AUTHENTICATION =
 CERTIFICATE dbmb_cert, ENCRYPTION = REQUIRED ALGORITHM AES, ROLE = ALL); END

/*创建登录、用户及端点登录授权*/
CREATE LOGIN dbma_login WITH PASSWORD = 'm5p@ss';
CREATE USER dbma_user For Login dbma_login;
GRANT CONNECT ON  ENDPOINT::[DatabaseMirroring] TO [dbma_login];
CREATE LOGIN dbmw_login WITH PASSWORD = 'm5p@ss';
CREATE USER dbmw_user For Login dbmw_login;
GRANT CONNECT ON  ENDPOINT::[DatabaseMirroring] TO [dbmw_login];

/*导出证书*/
BACKUP CERTIFICATE dbmb_cert
TO FILE = 'C:\dbmb_cert.cer';

/*--------------------------------见证服务器配置---------------------------------*/
USE master
GO
/*创建密钥*/
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'm5p@ss';

/*创建证书*/
CREATE CERTIFICATE dbmw_cert
WITH Subject = 'dbmw certificate',
Expiry_Date = '2029-1-1';

/*创建端点*/
IF NOT EXISTS (
SELECT 1
FROM sys.database_mirroring_endpoints) BEGIN
CREATE ENDPOINT [DatabaseMirroring] STATE = STARTED AS TCP (LISTENER_PORT = 5022,
 LISTENER_IP = ALL) FOR DATABASE_MIRRORING (AUTHENTICATION =
 CERTIFICATE dbmw_cert, ENCRYPTION = REQUIRED ALGORITHM AES, ROLE = ALL); END

/*创建登录、用户及端点登录授权*/
CREATE LOGIN dbma_login WITH PASSWORD = 'm5p@ss';
CREATE USER dbma_user For Login dbma_login;
GRANT CONNECT ON  ENDPOINT::[DatabaseMirroring] TO [dbma_login];
CREATE LOGIN dbmb_login WITH PASSWORD = 'm5p@ss';
CREATE USER dbmb_user For Login dbmb_login;
GRANT CONNECT ON  ENDPOINT::[DatabaseMirroring] TO [dbmb_login];

/*导出证书*/
BACKUP CERTIFICATE dbmw_cert
TO FILE = 'C:\dbmw_cert.cer';

将各自导出的证书复制到另外两台服务器的C盘根目录。

/*--------------------------------主体服务器配置---------------------------------*/
/*导入证书对用户进行授权*/
CREATE CERTIFICATE  dbmb_cert
AUTHORIZATION  dbmb_user   
FROM FILE = 'C:\dbmb_cert.cer';
CREATE CERTIFICATE  dbmw_cert
AUTHORIZATION  dbmw_user   
FROM FILE = 'C:\dbmw_cert.cer';

/*--------------------------------镜像服务器配置---------------------------------*/
/*导入证书对用户进行授权*/
CREATE CERTIFICATE  dbma_cert
AUTHORIZATION  dbma_user   
FROM FILE = 'C:\dbma_cert.cer';
CREATE CERTIFICATE  dbmw_cert
AUTHORIZATION  dbmw_user   
FROM FILE = 'C:\dbmw_cert.cer';

/*--------------------------------见证服务器配置---------------------------------*/
/*导入证书对用户进行授权*/
CREATE CERTIFICATE  dbma_cert
AUTHORIZATION  dbma_user   
FROM FILE = 'C:\dbma_cert.cer';
CREATE CERTIFICATE  dbmb_cert
AUTHORIZATION  dbmb_user   
FROM FILE = 'C:\dbmb_cert.cer';
  • 创建数据库
    在主体服务器上创建数据库db1
  • 备份数据库
    1)、完整备份,在主体服务器右键db1 > 任务 > 备份
    在这里插入图片描述2)、事务日志备份,在主体服务器上右键db1 > 任务 > 备份,看到备份到同一个文件不要奇怪,事务日志会追加到备份文件而不是覆盖。
    在这里插入图片描述
  • 将主体服务器上备份的文件复制到镜像服务器
  • 还原数据库
    1)、数据库还原,在镜像服务器上右键db1 > 任务 > 还原 > 数据库
    1.1)、常规,选择“源设备”,选择备份文件,勾选“db1-完整 数据库 备份”
    在这里插入图片描述
    1.2)、选项,勾选“覆盖现有数据库”,勾选“不对数据库执行任何操作,不会滚未提交的事务。可以还原其他日志(A)。(RESTORE WITH NORECOVERY)”
    在这里插入图片描述
    2)、事务日志还原,在镜像服务器上右键db1 > 任务 > 还原 > 事务日志
    2.1)、常规,选择“从文件或磁带”,选择备份文件,勾选“db1-事务日志 备份”。
    在这里插入图片描述
    2.2)、选项,选择“不对数据库执行任何操作,不会滚未提交的事务。可以还原其他事务日志(A)。(RESTORE WITH NORECOVERY)。”
    在这里插入图片描述
  • 创建数据库镜像
/*--------------------------------------镜像服务器配置------------------------------------*/
/*先!重要!!!,添加主体服务器partner*/
ALTER DATABASE DB1 
    SET PARTNER = 'TCP://dbma:5022';  
    
/*--------------------------------------主体服务器配置------------------------------------*/
/*后!添加镜像服务器partner*/
ALTER DATABASE DB1 
    SET PARTNER = 'TCP://dbmb:5022';  

/*添加见证服务器,也是在主体服务器上执行!!!*/
ALTER DATABASE DB1 SET WITNESS = 'TCP://dbmw:5022';

查看数据库镜像结果,主体服务器db1显示为“主体,已同步”,镜像服务器db1显示为“镜像,已同步 / 正在还原…”
在这里插入图片描述

  • 故障转移测试
    1)、主体服务器上右键 db1 > 任务 > 镜像,当前主体服务器为dbma,镜像服务器为dbmb,单击“故障转移”。
    在这里插入图片描述
    2)、故障转移成功后,主体服务器变更为dbmb,镜像服务器变更为dbma。也可以将主体服务器关机做故障转移测试。
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值