Lab 14 SQL Mirroring
本帖最后由 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存放数据使用,
2. 登陆SQL服务器CTXDB,打开 服务器管理,将2块新磁盘分别挂载到E、F盘,
3. 挂载SQL Server 2008 R2的镜像,
4. 和安装普通SQL server方法一样,选择全新安装,
5. 在SQL完成了本机自检以后,在选择功能时,只选择,“数据库引擎服务”和“管理工具”,点击下一步,
6. 在选择实例的地方,选择命名实例:CTXDB01,指定实例的根目录到E:\CTXDB01
7. 在服务器配置中,选择“对所有SQL Server服务使用相同的账号”,在弹出的对话框中输入,SQL管理员账号,本例中为:citrixlab\sqladmin
8. 把需要的管理员账号加入到本实例中,
9. 点击下一步,直到开始安装,
10. CTXDB01安装完成后,再按照相同的步骤安装实例CTXDB02,
11. 2个实例都安装完成后,打开 SQL management studio,确认2个实例都能正常启动,
12. 推荐安装最新的SQL server service pack,目前最新的service pack 版本为SP2
,
13. 在安装完service pack后,重启CTXDB服务器,检查SQL各服务都工作正常。
自此完成对CTXDB数据库服务器部署2个新的instance的工作,
2.2.2 调整DDC上的SQL Express以支持SQL 见证服务
1. 使用xdadmin账号登陆CTXDDC,
2. 安装SQL Server Management Studio,
3. 点击 开始 -> 所有程序 -> SQL Server 2008 R2 -> Configuration Tools -> SQL Server Configuration Manager
4. 展开SQL Server服务,
5. 双击 SQL Server (SQL Express),将账号从内置账户改为本账户:citrixlab\sqladmin,
6. 点击 应用,弹出 确认账户更改,点击 是,
7. 双击SQL Server browser,将服务从 禁用 改为 自动,
8. 再点击登录,如服务 SQL Server (SQL Express),将启动账号改为 sqladmin。
9. 展开 SQL Server 网络配置 -> SQLEXPRESS的协议,
10. 双击TCP/IP,点击 IP地址,
11. 在IP1,IP2,IP 3下,在已启用上,将 否 改为 是,
12. 重启SQL Server (Express)服务,以使之生效,
13. 打开命令行提示符,输入 如下命令: sqlcmd -E -s 127.0.0.1,确保本SQL Express数据库能够通过网络连接,
自此,部署SQL mirroring准备工作已完成。
2.2.3 部署SQL Mirroring
1. 登录CTXDB,打开SQL Server Management Studio并连接CTXDB01,
2. 展开 数据库,右键新数据库,如:XD
3. 不要选择排序规则,选择Latin1_General_100_CI_AS_KS,选择 完整 恢复模式,
4. 将新建好的数据库进行完整备份,
5. 展开CTXDB\CTXDB02,右击 数据库,选择 还原数据库
6. 在还原选项中,指定刚备份出来的XD.bak文件,
7. 在 源设备 上选择XD备份,目标数据库选择 XD,
8. 点击左侧 选项,并修改DB存放地址,指定到CTXDB02 instance所对应的数据库存放地址,
9. 在恢复状态下 选择:不对数据执行任何操作….
10. 点击确定,完成数据库还原。此数据库显示正在还原。
11. 回到CTXDB01 instance,右击数据库 XD,选择任务 -> 镜像,
12. 选择 配置安全性,并下一步
13. 在选择是否启用见证服务器,选择启用,
14. 本体服务器,默认会选择本实例,CTXDB\CTXDB01,点击下一步
15. 选择镜像服务器,CTXDB\CTXDB02
16. 指定见证服务器,CTXDDC\SQLEXPRESS,点击 下一步,
17. 指定服务器账户,citrixlab\sqladmin,确保此账户在所有实例都有权限,
18. 点击下一步,罗列报告,做最终的确认,如果无问题则点击下一步,系统自动完成一次检查,
19. 点击 关闭,系统自动提示是否 开始镜像,
20. 完成 SQL mirroring
第3章 链接mirroring 数据库
3.1 使用mirroring数据库部署新DDC
1. 使用XD专用账号xdadmin登陆到一台准备安装DDC的主机,如CTXDDC2,
2. 和安装CTXDDC一样,安装常规组件,但不要选择 许可证服务器和SQL EXPRESS,
3. 待安装完成后,开始直接部署,选择 桌面部署
4. 输入站定名,数据库服务器位置,并指定数据库名称,点击 测试连接,
5. 系统可能会提示一个 无法连接到数据库的信息,
6. 这个时候点击 确定,如果提示 已通过所有数据库连接测试,则可以继续安装。
7. 后面安装选项与安装CTXDDC相同,在此略过
8. 当CTXDDC2开始部署时,登陆CTXDB\CTXDB01\XD,确认DDC相应的表都有建立出来,已确认新装的DDC是连接到此数据库,
9. 部署完成后,测试此DDC都工作正常,
10. 并且测试在数据库XD,在主体数据库故障情况下,DDC是否会自动连接到镜像数据库。测试:重启数据库CTXDB\CTXDB01
11. 确认之前的镜像CTXDB\CTXDB02已经成为主体,
12. 同时登陆CTXDDC2,确认DDC仍然工作正常。可以通过检查CTXDDC2上事件日志来确认,
3.2 将使用SQL Express数据库的DDC迁移到mirroring 数据库
1. 安装SQL Server Management Studio在CTXDDC上,并备份CitrixXenDesktopDB,
2. 将备份文件拷贝到CTXDB,
3. 登录CTXDB,并打开SQL Server Management Studio,登陆到CTXDB\CTXDB01
4. 右击 数据库,选择 还原数据库,
5. 选择基本的还原选项即可,
6. 还原完成之后,选择此数据库右击 属性,在左侧点击 选项,
7. 在恢复模式处,选择 完整,
8. 将自动关闭选项改为 False,点击 确定。
9. 打开一个命令行窗口,输入如下命令,将CTXDDC的计算机账号加为一个SQL login账号:
sqlcmd -E -s ctxdb\ctxdb01
Create login From Windows;
go
exit
sqlcmd -E -s ctxdb\ctxdb02
Create login From Windows;
go
exit
10. 回到SQL management studio,展开 登录名,
11. 右击 citrixlab\ctxddc$选择属性,
12. 在左侧选择 用户映射,为citrixlab\ctxddc$ 赋予DBOWNER权限给CitrixXenDesktopDB,
13. 再使用如 2.2.3 的方式将此数据库创建为mirroring数据库,
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
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
自此DDC已经连接到mirroring 数据库CitrixXenDesktopDB上。可以通过切换CitrixXenDesktopDB,来确认DDC连接状态。
学习了 感谢感谢
页:
[1]