首先,还是老规矩沐浴更衣,接到的错误是个关于数据库的,看似稳如老狗,实则慌得一笔,不废话了,直接进入主题。
故障描述
使用相同原系统名新建DDC加入原有站点报错,
故障分析
报错提示,无法更新数据库,数据库已经存在[Domain][Server]$,原因可能是使用的新ddc服务器使用了原来的计算名,数据库已经存在该记录。
故障解决
- 进入数据库服务器,完整备份站点数据库。
- 查询数据库中关于该计算机名的记录,新建查询
select SID from sys.database_principals where name = ‘[Domain]\[Server]$’
- 删除该记录
drop user ‘[Domain]\[Server]$’
- 新ddc加入原站点,成功!
自此,以为万事大吉,检查平台,发现Controller有2个相同计算机名的ddc,而且删除不了,懵逼中。
好吧,不能愉快的玩耍了,继续干活!
故障描述
平台中存在2个计算机名相同的控制器而且无法删除
故障分析
数据库中存在的记录没有删除
故障解决
- 进入正常的ddc控制器,以管理员运行powershell
**asnp citrix* #加载环境变量#
get-brokercontrolle** #获取控制器信息#
记录状态为失败的控制器sid - 执行以下脚本
asnp Citrix*
$DBName = "XenDesktopDatabase"
$EvictedSID = "DCSID"Generate Database ‘Evict‘ Scripts for XenDesktop DataStore
Get-ConfigServiceStatus
Get-LogSite
Get-BrokerController -Filter {(SID -eq $EvictedSID)} -MaxRecordCount 2147483647
Add-Content "$PWD\evict_$sid.txt" (Get-AcctDBSchema -DatabaseName $DBName -ScriptType ‘Evict‘ -Sid $EvictedSID)
Add-Content "$PWD\evict_$sid.txt" (Get-HypDBSchema -DatabaseName $DBName -ScriptType ‘Evict‘ -Sid $EvictedSID)
Add-Content "$PWD\evict_$sid.txt" (Get-ProvDBSchema -DatabaseName $DBName -ScriptType ‘Evict‘ -Sid $EvictedSID)
Add-Content "$PWD\evict_$sid.txt" (Get-BrokerDBSchema -DatabaseName $DBName -ScriptType ‘Evict‘ -SID $EvictedSID)
Add-Content "$PWD\evict_$sid.txt" (Get-MonitorDBSchema -DatabaseName $DBName -DataStore ‘Site‘ -ScriptType ‘Evict‘ -Sid $EvictedSID)
Add-Content "$PWD\evict_$sid.txt" (Get-SfDBSchema -DatabaseName $DBName -ScriptType ‘Evict‘ -Sid $EvictedSID)
Add-Content "$PWD\evict_$sid.txt" (Get-EnvTestDBSchema -DatabaseName $DBName -ScriptType ‘Evict‘ -Sid $EvictedSID)
Add-Content "$PWD\evict_$sid.txt" (Get-ConfigDBSchema -DatabaseName $DBName -ScriptType ‘Evict‘ -Sid $EvictedSID)
Add-Content "$PWD\evict_$sid.txt" (Get-LogDBSchema -DatabaseName $DBName -DataStore ‘Site‘ -ScriptType ‘Evict‘ -Sid $EvictedSID)
Add-Content "$PWD\evict_$sid.txt" (Get-AdminDBSchema -DatabaseName $DBName -ScriptType ‘Evict‘ -Sid $EvictedSID)
Add-Content "$PWD\evict_$sid.txt" (Get-AnalyticsDBSchema -DatabaseName $DBName -ScriptType ‘Evict‘ -Sid $EvictedSID)
Add-Content "$PWD\evict_$sid.txt" (Get-AppLibDBSchema -DatabaseName $DBName -ScriptType ‘Evict‘ -Sid $EvictedSID)
Add-Content "$PWD\evict_$sid.txt" (Get-TrustDBSchema -DatabaseName $DBName -ScriptType ‘Evict‘ -Sid $EvictedSID)
Add-Content "$PWD\evict_$sid.txt" (Get-OrchDBSchema -DatabaseName $DBName -ScriptType ‘Evict‘ -Sid $EvictedSID)
Script completed successfully
Generate Database ‘Evict‘ Scripts for ‘Logging‘ DataStore
Get-ConfigServiceStatus
Get-LogSite
Get-BrokerController -Filter {(SID -eq $EvictedSID)} -MaxRecordCount 2147483647
Add-Content "$PWD\evict_$sid.txt" (Get-LogDBSchema -DatabaseName $DBName -DataStore ‘Logging‘ -ScriptType ‘Evict‘ -Sid $EvictedSID)
Script completed successfully
Generate Database ‘Evict‘ Scripts for ‘Monitor‘ DataStore
Get-ConfigServiceStatus
Get-LogSite
Get-BrokerController -Filter {(SID -eq $EvictedSID)} -MaxRecordCount 2147483647
Add-Content "$PWD\evict_$sid.txt" (Get-MonitorDBSchema -DatabaseName $DBName -DataStore ‘Monitor‘ -ScriptType ‘Evict‘ -Sid $EvictedSID)
Script completed successfully
运行脚本之后,在当前用户的文档会生成evict.txt 文件。
- 打开evict.txt文件,然后在数据库中新建查询,执行!
- 上述操作完成之后,刷新检查平台,问题解决!
参考文档
https://support.citrix.com/article/CTX201990
https://support.citrix.com/article/CTX139505
原文地址:http://blog.51cto.com/9980355/2163587