热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

SQLServer2012数据库镜像配置完整篇

“数据库镜像”是一种提高SQLServer数据库的可用性的解决方案。镜像基于每个数据库实现,并且只适用于使用完整恢复模式的数据库。数据库镜像维护一个数据库的两个副本,这两个副本必须驻留在不同的SQLServer数据库引擎服务器实例上。通常,这些服务器

“数据库镜像”是一种提高 SQL Server 数据库的可用性的解决方案。镜像基于每个数据库实现,并且只适用于使用完整恢复模式的数据库。数据库镜像维护一个数据库的两个副本,这两个副本必须驻留在不同的 SQL Server 数据库引擎 服务器实例上。通常,这些服务器

“数据库镜像”是一种提高 SQL Server 数据库的可用性的解决方案。 镜像基于每个数据库实现,并且只适用于使用完整恢复模式的数据库。数据库镜像维护一个数据库的两个副本,这两个副本必须驻留在不同的 SQL Server 数据库引擎 服务器实例上。 通常,这些服务器实例驻留在不同位置的计算机上。 启动数据库上的数据库镜像操作时,在这些服务器实例之间形成一种关系,称为“数据库镜像会话”。其中一个服务器实例使数据库服务于客户端(“主体服务器”), 另一个服务器实例则根据镜像会话的配置和状态,充当热备用或温备用服务器(“镜像服务器”)。 具有自动故障转移功能的高安全性模式要求使用第三个服务器实例,称为“见证服务器”。

  • 主体服务器 (principal server)

在数据库镜像中,是指当前作为主体数据库的数据库所属于的伙伴。

  • 镜像服务器 (mirror server)

在数据库镜像配置中,镜像数据库所在的服务器实例。

  • 见证服务器 (Witness)

仅用于高安全性模式,SQL Server 的一个可选实例,它能使镜像服务器识别何时要启动自动故障转移。 与这两个故障转移伙伴不同的是,见证服务器并不能用于数据库。 见证服务器的唯一角色是支持自动故障转移。

所有数据库镜像会话都只支持一台主体服务器和一台镜像服务器。 下图显示了该配置:

wKioL1Yu3EDydbOWAAA_vBv08J8159.gif

下图显示了包含见证服务器的配置:

wKioL1Yu3E-gNtOhAABEM5NwqdE502.gif

更多关于SQL数据库镜像概念请参考Technet网站,链接如下:

https://technet.microsoft.com/zh-cn/library/ms189852(v=sql.110).aspx

*****************************************************************************************************

整个SQL Server 2012 数据库镜像的配置分为以下6个小章节

  • 环境准备

  • 安装数据库功能

  • 启用TCP/IP协议和RemoteDAC

  • 数据库准备工作

  • 数据库镜像配置

  • 功能验证

*****************************************************************************************

1. 环境准备

1.1 本次Demo使用的服务器清单如下:

No.

主机名

服务器角色

操作系统

IP地址

1

DC01.huangjh.com

AD/DNS

Windows Server 2012 R2

192.168.8.8/24

2

SQL01.huangjh.com

数据库服务器

(主体)

Windows Server 2012 R2

SQL Server Enterprise 2012 SP1

192.168.8.10/24

3

SQL02.huangjh.com

数据库服务器

(镜像)

Windows Server 2012 R2

SQL Server Enterprise 2012 SP1

192.168.8.20/24

4

SQL03.huangjh.com

数据库服务器

(见证)

Windows Server 2012 R2

SQL Server Enterprise 2012 SP1

192.168.8.30/24

1.2 准备好一台域控服务器和三台数据库服务器,配置网络并加入域huangjh.com

wKioL1Yu3JXgeWOuAACA8O5LBlM915.jpg

1.3 三台SQL服务器需要开放1433和5022端口,为了实验方便本次Demo直接手动关闭防火墙

wKiom1Yu3HDxHvTMAAKYX5VvLwg551.jpg

2. 安装数据库功能

2.1 在SQL01、SQL02和SQL03三台数据库服务器,打开服务器管理器并根据向导完成.Net framework 3.5的安装

wKiom1Yu3IyjgrQgAAIgKZ6Ayr4286.jpg

wKioL1Yu3M7yp5dsAAFxUflsvNQ825.jpg

wKiom1Yu3KjS0sFhAAFmCK39_0E115.jpg

2.2在SQL01、SQL02和SQL03三台数据库服务器分别插入并运行SQL Server 2012 Enterprise SP1安装程序,点击“安装”—“全新SQL Server独立安装或向现有安装添加功能”,根据向导完成SQL功能的安装

wKiom1Yu3Lnz93cOAAMAME4W5AI741.jpg

2.3 在”功能选择”页面,根据实际应用需求勾选所需的功能,下一步

wKiom1Yu3M7R_xjkAAM3hDUcvPk991.jpg

2.4 在”服务器配置”页面,修改服务账户为域账户(确保该账户密码永不过期),启动类型为”自动”

wKiom1Yu3NuzGrXuAALg1cyQW14818.jpg

2.5 根据向导在SQL01、SQL02、SQL03完成数据库功能的成功安装

wKiom1Yu3OuiTf6vAALCBM75VqU965.jpg

3. 启用TCP/IP协议和RemoteDAC

3.1 在SQL01、SQL02、SQL03中分别打开SQL Server配置管理器,启用TCP/IP协议

wKioL1Yu3UHRWTIdAAEtfnE0lQA923.jpg

3.2 在SQL01、SQL02、SQL03中分别打开SQL Server Management Studio,右键实例选择“方面”

wKioL1Yu3U_T5BRsAAJwl75je5E260.jpg

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

wKioL1Yu3cuBkWiwAALXzg-o_Ps294.jpg

wKiom1Yu3UOTmpmEAALXYZD9zso804.jpg

wKiom1Yu3VKCVv2pAALt27Ig-cg921.jpg

4. 数据库准备工作(创建、备份和还原数据库)

4.1 在SQL01(主体服务器)右键”数据库”—“新建数据库”

wKiom1Yu3cqhabS3AAGMDrWNUKM161.jpg

4.2 在”常规“页面输入数据库名称

wKioL1Yu3hSTaL5tAAF5IWU_B_g063.jpg

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

wKiom1Yu3fOSq8O-AAH20izNdbk028.jpg

4.4 右键”DB01”选择”任务“—”备份“

wKioL1Yu3jWBFnHbAALNxmw1Ckg872.jpg

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

wKioL1Yu3mKTl8fGAAGrsiEOoDk293.jpg

4.6 备份成功完成后点击”确定“

wKiom1Yu3kCgZXvSAABf-S4c04s167.jpg

4.7 选择备份类型为”事务日志“,点击”确定“完成对事务日志的备份

wKioL1Yu3oCiqaLxAAGyTTcaZRA708.jpg

4.8 将备份文件拷贝到镜像服务器SQL02.huangjh.com对应的路径,默认备份路径为

“C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup”

wKiom1Yu3lnQoV97AAEYwJvuSvg735.jpg

4.9 在镜像服务器SQL02.huangjh.com打开SQL Server Management Studio,右键“数据库”选择“创建数据库”

wKiom1Yu3mfBnfutAAF-GeapmH8786.jpg

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

wKioL1Yu3qbhrDgrAAFi_cr1R5E201.jpg

4.11 右键新创建的数据库“DB01”--选择“任务”—“还原”—“数据库”

wKiom1Yu3oLCj_A_AAL_ESKfYKo335.jpg

4.12 选择“设备”,点击右边“…”

wKioL1Yu3sqhbUIpAAHMH3uS0w4408.jpg

4.13 点击”添加”

wKioL1Yu3t3BQje3AAChqkUtgkc648.jpg

4.14 选择刚才从SQL01复制的备份文件,点击”确定”

wKioL1Yu3uuxu1i1AAE02Uo4BSM649.jpg

4.15 点击“确定”

wKiom1Yu3texa8kOAADSFMHh6Ng274.jpg

4.16 勾选要还原的备份集

wKiom1Yu3unQewCIAAKXRN1Db_4498.jpg

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

wKioL1Yu3yrQYdu5AALXsaHblW4684.jpg

4.18 点击“确定”

wKiom1Yu3wmQg3APAABURuH5LAs550.jpg

4.19 数据库DB01显示”正在还原…“

wKioL1Yu30ezh94qAAFbKvtSss8511.jpg

5. 数据库镜像配置

5.1 在主体服务器SQL01.huangjh.com右键“DB01”选择“任务”—“镜像”

wKioL1Yu31fDh9O1AALFggX9LPg294.jpg

5.2 点击“配置安全性”

wKioL1Yu32rAsWcaAAID-hPJxYQ490.jpg

5.3 下一步

wKiom1Yu30PRk6XqAAE_qocsYCQ400.jpg

5.4 选择“是”,下一步

wKioL1Yu34TQbU4qAAEHnteWo7s830.jpg

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

wKiom1Yu31_RtvWiAAF2h6VvClI346.jpg

5.6 下一步

wKiom1Yu337SnzWxAAFbOHzKkW8902.jpg

5.7 点击“浏览更多”

wKioL1Yu37yyLbBhAAGdofALICc583.jpg

5.8 输入镜像服务器名称SQL02,点击”连接”

wKioL1Yu38expByUAADolLSkgeA897.jpg

5.9 选择镜像服务器实例SQL02,下一步

wKiom1Yu35-w2tUSAAFQtSJythc625.jpg

5.10 同样选择见证服务器实例SQL03,下一步

wKiom1Yu36uhSrbiAAFfTFbiF6M209.jpg

5.11 输入实例服务账户huangjh\administrator,下一步

wKioL1Yu3-mS9qYFAAFN-CeuS3s200.jpg

5.12 点击“完成”

wKiom1Yu38KzS92jAAF9F0yh2Qo523.jpg

5.13 成功配置后,点击”关闭”

wKioL1Yu3__j3PLfAAEOa_nlXqE113.jpg

5.14 点击“开始镜像”

wKioL1Yu4AzwvvFSAAEg2gLlGOM670.jpg

5.15 状态为“已同步:数据库已完全同步”,点击“确定”

wKioL1Yu4BnCq0LNAAEg2gLlGOM158.jpg

5.16 在主体服务器SQL01看到的数据库状态为”主体,正在同步”

wKioL1Yu4DbQqz2bAAGd57xdvjQ035.jpg

5.17 在镜像服务器SQL02看到的数据库状态为”正在还原…”

wKioL1Yu4EGQLgtgAAGdXtYsyJE144.jpg

6. 功能验证

6.1 在主体服务器SQL01右键数据库“DB01”选择“任务”—“启动数据库镜像监视器”

wKioL1Yu4E3Qr46VAAQWhBMx7GM063.jpg

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

wKioL1Yu4Kji6LCiAAIE4bVpBsU584.jpg

6.3在主体服务器SQL01右键数据库“DB01”选择“属性”

wKiom1Yu4IbAjJJ2AAIeVEgkYI8538.jpg

6.4 在选择页“镜像”点击“故障转移”

wKioL1Yu4MSxMOPaAAIyi4HfMlQ181.jpg

6.5 点击“是”

wKioL1Yu4M_RfTjrAADVlJYnWdY771.jpg

6.6 此时主体服务器为SQL02,镜像服务器SQL01,说明手动故障转移成功

wKioL1Yu4N-zvhuAAAIkcoeZJ-w707.jpg

6.7 将SQL02(此时的主体服务器)关机,此时自动将主体故障转移到SQL01中

wKiom1Yu4LqxS-AuAAJ0SAqyHGw658.jpg

6.8 此时又回到了原先的主体服务器SQL01,镜像服务器SQL02,状态为”没有连接:无法连接镜像服务器实例或见证服务器实例”

wKioL1Yu4PmD-DuBAAI96b-LqeI963.jpg

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

wKiom1Yu4NTjdmdlAAIpx7oq6Ow720.jpg

~~~以上是整个SQL Server 2012 数据库镜像配置的分享~~~


推荐阅读
  • 优化Flask应用的并发处理:解决Mysql连接过多问题
    本文探讨了在Flask应用中通过优化后端架构来应对高并发请求,特别是针对Mysql 'too many connections' 错误的解决方案。我们将介绍如何利用Redis缓存、Gunicorn多进程和Celery异步任务队列来提升系统的性能和稳定性。 ... [详细]
  • 本文深入探讨了SQL数据库中常见的面试问题,包括如何获取自增字段的当前值、防止SQL注入的方法、游标的作用与使用、索引的形式及其优缺点,以及事务和存储过程的概念。通过详细的解答和示例,帮助读者更好地理解和应对这些技术问题。 ... [详细]
  • 本文详细介绍了在不同操作系统中查找和设置网卡的方法,涵盖了Windows系统的具体步骤,并提供了关于网卡位置、无线网络设置及常见问题的解答。 ... [详细]
  • 深入解析Serverless架构模式
    本文将详细介绍Serverless架构模式的核心概念、工作原理及其优势。通过对比传统架构,探讨Serverless如何简化应用开发与运维流程,并介绍当前主流的Serverless平台。 ... [详细]
  • 本文探讨了如何解决PHP文件无法写入本地文件的问题,并解释了PHP文件中HTML代码无效的原因,提供了一系列实用的解决方案和最佳实践。 ... [详细]
  • 1.执行sqlsever存储过程,消息:SQLServer阻止了对组件“AdHocDistributedQueries”的STATEMENT“OpenRowsetOpenDatas ... [详细]
  • 本文探讨了为何相同的HTTP请求在两台不同操作系统(Windows与Ubuntu)的机器上会分别返回200 OK和429 Too Many Requests的状态码。我们将分析代码、环境差异及可能的影响因素。 ... [详细]
  • 本文详细介绍了一种通过MySQL弱口令漏洞在Windows操作系统上获取SYSTEM权限的方法。该方法涉及使用自定义UDF DLL文件来执行任意命令,从而实现对远程服务器的完全控制。 ... [详细]
  • yikesnews第11期:微软Office两个0day和一个提权0day
    点击阅读原文可点击链接根据法国大选被黑客干扰,发送了带漏洞的文档Trumps_Attack_on_Syria_English.docx而此漏洞与ESET&FireEy ... [详细]
  • 本文回顾了2017年的转型和2018年的收获,分享了几家知名互联网公司提供的工作机会及面试体验。 ... [详细]
  • 本文介绍了解决在Windows操作系统或SQL Server Management Studio (SSMS) 中遇到的“microsoft.ACE.oledb.12.0”提供程序未注册问题的方法,特别针对Access Database Engine组件的安装。 ... [详细]
  • 苹果系统频繁弹窗提示无法验证服务器身份?竟是网易邮箱证书过期所致
    近日,众多苹果用户发现iOS、iPadOS和macOS系统频繁弹出无法验证服务器身份的警告。问题根源在于网易邮箱未能及时更新其数字证书,导致原证书过期后无法被信任。 ... [详细]
  • Symfony是一个功能强大的PHP框架,以其依赖注入(DI)特性著称。许多流行的PHP框架如Drupal和Laravel的核心组件都基于Symfony构建。本文将详细介绍Symfony的安装方法及其基本使用。 ... [详细]
  • 在高并发需求的C++项目中,我们最初选择了JsonCpp进行JSON解析和序列化。然而,在处理大数据量时,JsonCpp频繁抛出异常,尤其是在多线程环境下问题更为突出。通过分析发现,旧版本的JsonCpp存在多线程安全性和性能瓶颈。经过评估,我们最终选择了RapidJSON作为替代方案,并实现了显著的性能提升。 ... [详细]
  • PostgreSQL 最新动态 —— 2022年4月6日
    了解 PostgreSQL 社区的最新进展和技术分享 ... [详细]
author-avatar
mobiledu2502873611
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有