前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >003.SQLServer数据库镜像高可用部署

003.SQLServer数据库镜像高可用部署

作者头像
木二
发布2019-07-10 14:36:43
2.5K0
发布2019-07-10 14:36:43
举报
文章被收录于专栏:木二天空木二天空

一 数据库镜像部署准备

1.1 数据库镜像支持

有关对 SQL Server 2012 中的数据库镜像的支持的信息,请参考:https://docs.microsoft.com/zh-cn/previous-versions/sql/sql-server-2012/cc645993%28v%3dsql.110%29

1.2 其他前置条件

  • 若要建立镜像会话,伙伴双方和见证服务器(如果有)必须在相同版本的 SQL Server 上运行。
  • 确保两个伙伴(即主体服务器和镜像服务器)必须运行相同版本的 SQL Server。 见证服务器(如果有)在任意支持数据库镜像的 SQL Server 版本上运行。
  • 数据库必须使用完整恢复模式。 简单恢复模式和大容量日志恢复模式不支持数据库镜像。 因此,镜像数据库的大容量操作始终被完整地记入日志。
  • 验证镜像服务器是否能为镜像数据库提供足够的磁盘空间。
  • 在镜像服务器上创建镜像数据库时,请确保指定相同数据库名称 WITH NORECOVERY 来还原主体数据库备份。 另外,还必须通过 WITH NORECOVERY 应用在该备份执行后创建的所有日志备份。

注意:如果数据库镜像已经停止,则必须将对主体数据库执行的所有后续日志备份应用到镜像数据库中,然后才可以重新启动镜像。

1.3 其他限制

  • 只能镜像用户数据库。 不能镜像 master、 msdb、tempdb 或 model 数据库。
  • 镜像的数据库在数据库镜像会话过程中不能重命名。
  • 数据库镜像不支持 FILESTREAM。 不能在主体服务器上创建 FILESTREAM 文件组。 不能为包含 FILESTREAM 文件组的数据库配置数据库镜像。
  • 在 32 位系统上,由于受每个数据库镜像会话所占用的工作线程数限制,对于每个服务器实例,数据库镜像最多支持 10 个数据库。
  • 跨数据库事务和分布式事务均不支持数据库镜像。

二 部署规划准备

2.1 服务器规划

按照如下规划配置主机名(domain前缀)及IP。

服务器名称

描述

IP

DNS

操作系统

数据库版本

dsserver.imxhy.com

域服务器+DNS服务器

172.24.8.31

127.0.0.1

Windows Server 2008 R2

master.imxhy.com

主数据库服务器

172.24.8.32

172.24.8.31

Windows Server 2008 R2

SQLServer 2012 Enterprise

slave.imxhy.com

镜像数据库服务器

172.24.8.33

172.24.8.31

Windows Server 2008 R2

SQLServer 2012 Enterprise

arbit.imxhy.com

见证服务器

172.24.8.34

172.24.8.31

Windows Server 2008 R2

SQLServer 2012 Enterprise

提示:为便于测试,本环境将所有节点的专用、公用、域网络的防火墙均关闭。

三 DNS服务器安装

dsserver相关IP设置如下。

031
031

开始菜单 -> 管理工具 -> 服务器管理器 -> 角色 -> 添加角色,选择DNS 服务器,下一步:

32
32

等待安装完成。

32
32

如下相关服务已安装完成。

033
033

四 安装 Active Directory 域服务

开始菜单 -> 管理工具 -> 服务器管理器 -> 角色 -> 添加角色,选择Active Directory 域服务。

034
034

等待安装完成。

035
035

如下相关服务已安装完成。

036
036

开始菜单 -> 运行 -> 输入命令 "dcpromo" ,进入域控制器服务向导。

037
037

提示:dcpromo 命令是一个 "开关" 命令。如果 Windows Server 2008 计算机是成员服务器,则 运行 dcpromo 命令会安装 AD 活动目录,将其升级为域控制器;如果Windows Server 2008 计算机已经是域控制器,则运行 dcpromo 命令会卸载 AD 活动目录,将其降级为成员服务器。

弹出 Active Direcotry 域服务安装向导,点击 "下一步" 按钮:

038
038

进入兼容性提醒页面,忽视即可,点击 "下一步" 按钮:

039
039

选择 "在新林中新建域”并点击",点击 "下一步" 按钮:

注意:如果是第一次搭建也是你整个内网中的第一台域控制器,那么需要选择第二项 "在新林中新建域",第一项是内网中已经存在 AD 环境再想搭建额外域控制器的时候使用的。

040
040

输入域名imxhy.com,这个需慎重,FQDN配置完毕之后修改相对麻烦且有风险,并点击 "下一步" 按钮:

041
041

进入林功能级别设置界面,选择 "Windows Server 2008 R2",然后点击 "下一步":

提示:如果你的 AD 中以后可能会出现 Windows Server 2003 系统的域控制器,请务必选择 Windows Server 2003 的域功能级别,否则之后 Windows Server 2003 的服务器做不了域控制器了,所以安装第一台 DC 的时候,可是选择的低级别的林功能,以后要升到 Windows Server 2008 的域功能级别是没问题的,若是选了 Windows Server 2008 的功能级别,降级比较困难。

042
042

其他域选项,若已安装,则会为灰色。

043
043

弹出 DNS 提示框,可忽视,点击 "是" 按钮,继续安装:

044
044

进入AD 域的数据库文件、日志文件和共享文件位置设置页面,此处保持默认设置,点击 "下一步" 按钮:

045
045

进入 "域还原密码" 设置界面,此密码相当的重要,后续做数据库迁移、备份、整理、恢复的时候都可能用到,需要谨记:

046
046

进入 "摘要" 界面,显示之前设置的摘要信息,点击 "下一步" 按钮:

提示:此处可以点击 "导出设置" 到一个位置保持起来,以便后续排错时查阅,也可以作为 DC 安装时的无人值守安装的脚本。

047
047

安装向导进入配置过程

048
048

此时,AD 域服务已经安装完成。ADDS域控制器已经安装完成,在完成域控制器的安装后,系统会自动的将该服务器的用户账号转移到 AD 数据库中。

提示:安装完成后,建议重启服务器。

049
049

域控制器 DC 会将自己扮演的角色注册到 DNS 服务器内,以便让其他计算机能够通过 DNS 服务器来找到这台域控制器,因此先检查 DNS 服务器内是否已经存在这些记录。

050
050

首先检查域控制器是否已经将其主机名与 IP 地址注册到 DNS 服务器内,本域控制器也扮演DNS服务器,则进入DNS中查看,此处应该会有一个名称为 imxhy.com 的区域,主机(A)记录表示域控制器 dsserver.imxhy.com 已经正确地将其主机名与 IP 地址注册到 DNS 服务器内。DNS 客户端所提出的请求大多是正向解析,即通过 hostname 来解析 IP 地址对应与此处的正向查找区域;通过 IP 来查找 hostname 即为反向解析,对应于此处的反向查找区域。

051
051

如果域控制器已经正确地将其扮演的角色注册到 DNS 服务器,则还应该有对应的 _tcp、_udp 等文件夹。在单击 _tcp 文件夹后可以看到如下所示的界面,其中数据类型为服务位置(SRV)的 _ldap 记录,表示 dsserver.imxhy.com 已经正确地注册为域控制器。其中的 _gc 记录还可以看出全局编录服务器的角色也是由 dsserver.imxhy.com 扮演的。

052
052

DNS 区域内包含这些数据后,其他要加入域的计算机就可以通过通过此区域来得知域控制器为 dsserver.imxhy.com。这些加入域的成员(域控制器、成员服务器、Windows 8、Windows 7、Windows Vista、Windows XP Professional 等)也会将其主机与 IP 地址数据注册到此区域内。

五 域用户创建及加入

5.1 域用户创建

开始菜单 -> 管理工具 -> Active Directory 用户和计算机

053
053

设置相关sqluser账号及密码。

054
054

设置符合一定密码复杂度要求的密码。

055
055

将sqluser加入到administrators管理组中。

056
056

5.2 加入域控

master相关IP设置如下。

057
057

高级 -> DNS -> 此连接的 dns 后缀,添加域控的完整名称。

058
058

计算机右键 -> 属性 -> 高级系统设置 -> 计算机名 -> 更改

修改计算机名master,修改隶属于域:imxhy.com

059
059

点确定之后弹出一个输入在域控中建立的用户的用户名和密码。

060
060

提示加入成功,加入成功后建议重启计算机。

061
061

注意:master.imxhy.com、slave.imxhy.com、arbit.imxhy.com都需要配置相关DNS为172.24.8.31,然后加入域“imxhy.com”,具体方法参考如上即可。

5.3 服务器配置域帐户管理员

在master.imxhy.com、slave.imxhy.com计算机继续使用本地管理员administrator登录,分别将“imxhy\sqluser”帐户添加为本机管理员,如图所示:

062
062

注销本地administrator,使用sqluser@imxhy.com用户登录,确认已具有管理员权限。

063
063

六 安装SQLServer 2012

6.1 使用向导安装

064
064

系统会自动检查安装环境,点击确认到下一步。

065
065

正版自带产品密钥,直接点击下一步。

066
066

勾选我接受许可条款,然后一直继续下一步。

067
067

进行产品更新。

068
068

勾选我接受许可条款,然后一直继续下一步。

069
069

检查安装程序支持规则。

070
070

采用默认SQL Server功能安装。

071
071

本实验安装主要功能,自行选择,安装路径采用默认,可根据需要自行选择。

072
072

提示:具体SQLServer功能模块介绍可参考:https://blog.csdn.net/m0_37154839/article/details/80233446。

默认实列即可。

073
073

检查磁盘空间要求。

074
074

服务器配置,将相关账户配置为域用户及密码,相关服务设置为自动启动。

075
075

其他相关组件如下即可。

076
076

建议使用混合模式,并添加当前域用户。

077
077

错误报告配置。

078
078

安装配置规则。

079
079

准备安装,可确认所有相关信息。

080
080

等待安装完成。

081
081

安装完成。

082
082

6.2 配置SQLServer以域帐户运行

分别在master.imxhy.com、slave.imxhy.com的“管理工具”中打开“服务”(或者用“SQL Server 配置管理器”),修改SQL Server实例的属性,将登录身份改为“imxhy\sqluser”。修改之后,重启SQL Server实例。

083
083

提示:安装过程中服务器配置已添加域账户可跳过此6.2步骤。

084
084

说明:如果SQL Server实例是通过不同的本地帐户启动的,那么在创建镜像时主体数据库会尝试用本机帐户去连接镜像数据库,最终会报错;

slave.imxhy.com、arbit.imxhy.com参考以上进行安装及配置。

6.3 启用TCP/IP协议和RemoteDAC

085
085

打开SQL Server Management Studio,连接本地数据库,

086
086

选择对应服务器, 如MASTER -> 方面。

087
087

选择“外围应用配置器” -> 将属性“RemoteDACEnabled”的值改为“True”。

088
088

注意:slave.imxhy.com、arbit.imxhy.com参考以上进行安装及配置。

七 测试数据库准备工作

7.1 master节点新建用户同步的数据库

在master.imxhy.com(主体服务器)打开SQL Server Management Studio,右键”数据库” -> “新建数据库”。

089
089

在”常规“页面输入数据库名称,本实验为MDB。

090
090

在”选项”页面确保恢复模式为”完整“。

091
091

7.2 备份master节点数据库MDB

右键”MDB”选择”任务“ -> ”备份“。

092
092

备份类型选择”完整“,点击”确定“。

093
093

完整的备份完毕后,再次选择备份类型为”事务日志“,点击”确定“完成对事务日志的备份。

094
094

提示:默认备份路径为:C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup。

7.3 slave节点新建用户同步的数据库

在slave.imxhy.com(镜像服务器)打开SQL Server Management Studio,右键”数据库” -> “新建数据库”。

095
095

输入数据库名称,点击“确定”(此数据库名称必须与master中创建的数据库名称保持一致)

096
096

7.4 slave节点还原备份文件

将7.2所备份的文件MDB.bak复制至slave节点备份存放默认路径:C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup。

右键新创建的数据库“MDB” -> “任务” -> “还原” -> “数据库”。

097
097

依次添加需要还原的相关文件。

098
098

勾选要还原的备份集。

099
099

在“选项”页面勾选“覆盖现有数据库”,恢复状态选择“RESTORE WITH NORECOVERY”,取消勾选“还原前进行结尾日志备份”,点击“确定”。

100
100

等待还原成功。

101
101

确认slave.imxhy.com(镜像服务器)处于正在还原。

102
102

提示:提示成功还原后slave节点MDB会一直处于正在还原状态,此状态为正常状态,表示等待master节点发起镜像同步。

八 配置数据库镜像

8.1 master节点配置镜像

在主体服务器SQL01.huangjh.com右键 -> “DB01” -> “任务” -> “镜像”。

103
103

点击“配置安全性”。

104
104

本实验规划见证服务器。

105
105

勾选“见证服务器实例”,下一步。

106
106

配置主题服务器实例及相应端口。

107
107

配置镜像服务器,可通过浏览或手动输入镜像服务器名称SLAVE,点击”连接”。

108
108
109
109

配置镜像服务器,可通过浏览或手动输入见证服务器名称ARBIT,点击”连接”。

110
110
111
111

确认见证服务器及相关端口信息。

112
112

输入实例服务账户IMXHY\sqluser,下一步。

113
113

确认相关信息。

114
114

等待配置端点完成。

115
115

点击“开始镜像”。

116
116

提示:若出现镜像失败可在hosts中手动添加相应解析,保证网络连通性正常。

117
117

九 检查与验证

9.1 状态检查

主体服务器相关数据库状态应该为(主体,已同步)

118
118

镜像服务器相关数据库状态应该为(客体,已同步 / 正在还原..)

119
119

提示:对于镜像数据库,是不允许删除和操作。

十 功能验证

10.1 状态验证

在主体服务器MASTER右键数据库“MDB”选择“任务”—“启动数据库镜像监视器”。

120
120

在此页面可看到数据库镜像的同步状态等。

121
121

10.2 故障迁移测试

在主体服务器MASTER右键数据库“MDB”选择“属性”,在主体服务器SQL01右键数据库“DB01”选择“属性”,选择页“镜像”点击“故障转移”。

122
122

是。

123
123

在SLAVE上确认MDB状态是否变为(主体,已同步),可查看相关主体和镜像服务器已成功切换。

124
124

10.3 关机高可用测试

关闭此时的主体服务器,即SLAVE,然后回到MASTER,观察可知此时自动将主体故障转移到MASTER中,且镜像服务器SLAVE,状态为”没有连接:无法连接镜像服务器实例或见证服务器实例”。

125
125

将SLAVE开机后恢复正常后,状态为”已同步:数据库已完全同步”,说明自动故障转移成功。

126
126

参考官方文档:https://docs.microsoft.com/zh-cn/previous-versions/sql/sql-server-2012/ms189852(v%3dsql.110)

https://blog.csdn.net/kelyon/article/details/79207585

http://www.php.cn/mysql-tutorials-116073.html

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-07-08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一 数据库镜像部署准备
    • 1.1 数据库镜像支持
      • 1.2 其他前置条件
        • 1.3 其他限制
        • 二 部署规划准备
          • 2.1 服务器规划
          • 三 DNS服务器安装
          • 四 安装 Active Directory 域服务
          • 五 域用户创建及加入
            • 5.1 域用户创建
              • 5.2 加入域控
                • 5.3 服务器配置域帐户管理员
                • 六 安装SQLServer 2012
                  • 6.1 使用向导安装
                    • 6.2 配置SQLServer以域帐户运行
                      • 6.3 启用TCP/IP协议和RemoteDAC
                      • 七 测试数据库准备工作
                        • 7.1 master节点新建用户同步的数据库
                          • 7.2 备份master节点数据库MDB
                            • 7.3 slave节点新建用户同步的数据库
                              • 7.4 slave节点还原备份文件
                              • 八 配置数据库镜像
                                • 8.1 master节点配置镜像
                                • 九 检查与验证
                                  • 9.1 状态检查
                                  • 十 功能验证
                                    • 10.1 状态验证
                                      • 10.2 故障迁移测试
                                        • 10.3 关机高可用测试
                                        相关产品与服务
                                        云数据库 SQL Server
                                        腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
                                        领券
                                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档