找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 9741|回复: 1

[增强功能] Lab 14 SQL Mirroring

[复制链接]

238

主题

329

帖子

2119

积分

超级版主

Rank: 8Rank: 8

积分
2119
QQ
发表于 2015-1-24 22:19:41 | 显示全部楼层 |阅读模式
本帖最后由 xiaoyu 于 2015-1-24 23:42 编辑

第1章 基本过程
本章节介绍了安装SQL mirroring搭建的基本过程。其包括了:
• SQL mirroring的安装、部署
• 基于SQL mirroring数据库部署新的DDC
• 迁移已安装在DDC上的SQL Express数据库到SQL mirroring环境

第2章 安装部署SQL mirroring
2.1 安装前的准备
SQL mirroring是微软在SQL2005版本以后推出的SQL高可用方案。鉴于此,我们需要提前准备3台SQL数据库服务器来搭建SQL mirroring,
• 主体服务器
• 镜像服务器
• 见证服务器
但鉴于PoC环境没有过多的资源来部署多台的SQL服务器,我们利用之前部署的CTXDB服务器,部署多实例的方式来完成主体和镜像服务器:
本例中所使用数据库版本为SQL 2008 R2
CTXDB\CTXDB01
CTXDB\CTXDB02
CTXDDC上的SQL Express服务器来做见证服务器。
CTXDDC
在生产环境推荐创建SQL专有管理账号,如:sqladmin。
2.2 SQL mirroring部署
2.2.1 安装2个新DB instance在CTXDB
1. 登陆到SQL服务器CTXDB,先在存储中挂载2个新的磁盘,作为将来2个新的SQL数据instance存放数据使用,

e01

e01

2. 登陆SQL服务器CTXDB,打开 服务器管理,将2块新磁盘分别挂载到E、F盘,

e02

e02

3. 挂载SQL Server 2008 R2的镜像,
4. 和安装普通SQL server方法一样,选择全新安装,

e03

e03

5. 在SQL完成了本机自检以后,在选择功能时,只选择,“数据库引擎服务”和“管理工具”,点击下一步,

e04

e04

6. 在选择实例的地方,选择命名实例:CTXDB01,指定实例的根目录到E:\CTXDB01

e05

e05

7. 在服务器配置中,选择“对所有SQL Server服务使用相同的账号”,在弹出的对话框中输入,SQL管理员账号,本例中为:citrixlab\sqladmin

e06

e06

8. 把需要的管理员账号加入到本实例中,

e07

e07

9. 点击下一步,直到开始安装,

e08

e08

10. CTXDB01安装完成后,再按照相同的步骤安装实例CTXDB02,

e09

e09

e10

e10

11. 2个实例都安装完成后,打开 SQL management studio,确认2个实例都能正常启动,

e11

e11

12. 推荐安装最新的SQL server service pack,目前最新的service pack 版本为SP2

e12

e12

13. 在安装完service pack后,重启CTXDB服务器,检查SQL各服务都工作正常。
自此完成对CTXDB数据库服务器部署2个新的instance的工作,
2.2.2 调整DDC上的SQL Express以支持SQL 见证服务
1. 使用xdadmin账号登陆CTXDDC,
2. 安装SQL Server Management Studio,

e13

e13

3. 点击 开始 -> 所有程序 -> SQL Server 2008 R2 -> Configuration Tools -> SQL Server Configuration Manager
4. 展开SQL Server服务,

e14

e14

5. 双击 SQL Server (SQL Express),将账号从内置账户改为本账户:citrixlab\sqladmin,

e15

e15

6. 点击 应用,弹出 确认账户更改,点击 是,

e16

e16

7. 双击SQL Server browser,将服务从 禁用 改为 自动,

e17

e17

8. 再点击登录,如服务 SQL Server (SQL Express),将启动账号改为 sqladmin。

e18

e18

9. 展开 SQL Server 网络配置 -> SQLEXPRESS的协议,
10. 双击TCP/IP,点击 IP地址,
11. 在IP1,IP2,IP 3下,在已启用上,将 否 改为 是,

e19

e19

12. 重启SQL Server (Express)服务,以使之生效,

e20

e20

13. 打开命令行提示符,输入 如下命令: sqlcmd -E -s 127.0.0.1,确保本SQL Express数据库能够通过网络连接,

e21

e21

自此,部署SQL mirroring准备工作已完成。
2.2.3 部署SQL Mirroring
1. 登录CTXDB,打开SQL Server Management Studio并连接CTXDB01,
2. 展开 数据库,右键新数据库,如:XD
3. 不要选择排序规则,选择Latin1_General_100_CI_AS_KS,选择 完整 恢复模式,

e22

e22

4. 将新建好的数据库进行完整备份,

e23

e23

5. 展开CTXDB\CTXDB02,右击 数据库,选择 还原数据库

e24

e24

6. 在还原选项中,指定刚备份出来的XD.bak文件,

e25

e25

7. 在 源设备 上选择XD备份,目标数据库选择 XD,

e26

e26

8. 点击左侧 选项,并修改DB存放地址,指定到CTXDB02 instance所对应的数据库存放地址,
9. 在恢复状态下 选择:不对数据执行任何操作….

e27

e27

10. 点击确定,完成数据库还原。此数据库显示正在还原。
11. 回到CTXDB01 instance,右击数据库 XD,选择任务 -> 镜像,

e28

e28

12. 选择 配置安全性,并下一步

e29

e29

13. 在选择是否启用见证服务器,选择启用,

e30

e30

14. 本体服务器,默认会选择本实例,CTXDB\CTXDB01,点击下一步
15. 选择镜像服务器,CTXDB\CTXDB02

e31

e31

16. 指定见证服务器,CTXDDC\SQLEXPRESS,点击 下一步,

e32

e32

17. 指定服务器账户,citrixlab\sqladmin,确保此账户在所有实例都有权限,

e33

e33

18. 点击下一步,罗列报告,做最终的确认,如果无问题则点击下一步,系统自动完成一次检查,

e34

e34

19. 点击 关闭,系统自动提示是否 开始镜像,

e35

e35

20. 完成 SQL mirroring

e36

e36


第3章 链接mirroring 数据库
3.1 使用mirroring数据库部署新DDC
1. 使用XD专用账号xdadmin登陆到一台准备安装DDC的主机,如CTXDDC2,
2. 和安装CTXDDC一样,安装常规组件,但不要选择 许可证服务器和SQL EXPRESS,

e37

e37

e38

e38


3. 待安装完成后,开始直接部署,选择 桌面部署

e39

e39

4. 输入站定名,数据库服务器位置,并指定数据库名称,点击 测试连接,

e40

e40

5. 系统可能会提示一个 无法连接到数据库的信息,

e41

e41

6. 这个时候点击 确定,如果提示 已通过所有数据库连接测试,则可以继续安装。

e42

e42

7. 后面安装选项与安装CTXDDC相同,在此略过
8. 当CTXDDC2开始部署时,登陆CTXDB\CTXDB01\XD,确认DDC相应的表都有建立出来,已确认新装的DDC是连接到此数据库,

e43

e43

9. 部署完成后,测试此DDC都工作正常,

e44

e44

10. 并且测试在数据库XD,在主体数据库故障情况下,DDC是否会自动连接到镜像数据库。测试:重启数据库CTXDB\CTXDB01

e45

e45

e46

e46

11. 确认之前的镜像CTXDB\CTXDB02已经成为主体,

e47

e47

12. 同时登陆CTXDDC2,确认DDC仍然工作正常。可以通过检查CTXDDC2上事件日志来确认,

e48

e48


3.2 将使用SQL Express数据库的DDC迁移到mirroring 数据库
1. 安装SQL Server Management Studio在CTXDDC上,并备份CitrixXenDesktopDB,

e49

e49

2. 将备份文件拷贝到CTXDB,
3. 登录CTXDB,并打开SQL Server Management Studio,登陆到CTXDB\CTXDB01
4. 右击 数据库,选择 还原数据库,
5. 选择基本的还原选项即可,

e50

e50

6. 还原完成之后,选择此数据库右击 属性,在左侧点击 选项,
7. 在恢复模式处,选择 完整,

e51

e51

8. 将自动关闭选项改为 False,点击 确定。

e52

e52


9. 打开一个命令行窗口,输入如下命令,将CTXDDC的计算机账号加为一个SQL login账号:
sqlcmd -E -s ctxdb\ctxdb01
Create login [citrixlab\ctxddc$] From Windows;
go
exit
sqlcmd -E -s ctxdb\ctxdb02
Create login [citrixlab\ctxddc$] From Windows;
go
exit

e53

e53

10. 回到SQL management studio,展开 登录名,
11. 右击 citrixlab\ctxddc$选择属性,
12. 在左侧选择 用户映射,为citrixlab\ctxddc$ 赋予DBOWNER权限给CitrixXenDesktopDB,

e54

e54

13. 再使用如 2.2.3 的方式将此数据库创建为mirroring数据库,

e55

e55

14. 回到CTXDDC,打开Windows Powershell Module,输入如下命令:
# 请确保是在维护时间完成如下工作,

$ct = Get-BrokerController | %{$_.DNSName}
Foreach ($ct in $controller){
Write-Host "disconnect controller $ct"
set-configdbconnection -dbconnection $null -adminaddress $ct
set-hypdbconnection -dbconnection $null -adminaddress $ct
set-acctdbconnection -dbconnection $null -adminaddress $ct
set-provdbconnection -dbconnection $null -adminaddress $ct
set-pvsvmdbconnection -dbconnection $null -adminaddress $ct
set-brokerdbconnection -dbconnection $null -adminaddress $ct}
15. 完成后,Powershell应输出结果如下:
Disconnect controller
OK or DBUnconfigured
  

e56

e56


16. 再输入如下命令将DDC链接到mirroring DB上,
$cs ='Data Source=ctxdb\ctxdb01; Failover Partner=ctxdb\ctxdb02; Initial Catalog=CitrixXenDesktopDB; Integrated Security=True; Network=dbmssocn'
Foreach ($ct in $controller){
Write-Host "reconnect controller $ct"
set-configdbconnection -dbconnection $cs -adminaddress $ct
set-hypdbconnection -dbconnection $cs -adminaddress $ct
set-acctdbconnection -dbconnection $cs -adminaddress $ct
set-provdbconnection -dbconnection $cs -adminaddress $ct
set-pvsvmdbconnection -dbconnection $cs -adminaddress $ct
set-brokerdbconnection -dbconnection $cs -adminaddress $ct}
17. 完成后,powershell应该输出如下结果:
Reconnect controller
OK

e57

e57

自此DDC已经连接到mirroring 数据库CitrixXenDesktopDB上。可以通过切换CitrixXenDesktopDB,来确认DDC连接状态。



回复

使用道具 举报

46

主题

153

帖子

973

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
973
发表于 2016-4-14 11:56:57 | 显示全部楼层
学习了       感谢  感谢     
习惯就是真爱,遗忘就是幸福·······
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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