设为首页 收藏本站
查看: 2597|回复: 0

[经验分享] SQL Server 2012 数据库镜像配置完整篇

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-10-28 09:25:32 | 显示全部楼层 |阅读模式
“数据库镜像”是一种提高 SQL Server 数据库的可用性的解决方案。 镜像基于每个数据库实现,并且只适用于使用完整恢复模式的数据库。数据库镜像维护一个数据库的两个副本,这两个副本必须驻留在不同的 SQL Server 数据库引擎 服务器实例上。 通常,这些服务器实例驻留在不同位置的计算机上。 启动数据库上的数据库镜像操作时,在这些服务器实例之间形成一种关系,称为“数据库镜像会话”。其中一个服务器实例使数据库服务于客户端(“主体服务器”), 另一个服务器实例则根据镜像会话的配置和状态,充当热备用或温备用服务器(“镜像服务器”)。 具有自动故障转移功能的高安全性模式要求使用第三个服务器实例,称为“见证服务器”。
  • 主体服务器 (principal server)


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

  • 镜像服务器 (mirror server)


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

  • 见证服务器 (Witness)


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

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


wKioL1Yu3EDydbOWAAA_vBv08J8159.jpg



下图显示了包含见证服务器的配置:
wKioL1Yu3E-gNtOhAABEM5NwqdE502.jpg

更多关于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协议和RemoteDAC3.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 数据库镜像配置的分享~~~




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-131705-1-1.html 上篇帖子: sqlserver中查询表,查询表的字段方式 下篇帖子: sqlserver变量赋值介绍说明 数据库
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表