使用相同原系统名新建DDC加入原有站点报错

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用相同原系统名新建DDC加入原有站点报错相关的知识,希望对你有一定的参考价值。

首先,还是老规矩沐浴更衣,接到的错误是个关于数据库的,看似稳如老狗,实则慌得一笔,不废话了,直接进入主题。
故障描述
使用相同原系统名新建DDC加入原有站点报错,
技术分享图片
故障分析
报错提示,无法更新数据库,数据库已经存在[Domain][Server]$,原因可能是使用的新ddc服务器使用了原来的计算名,数据库已经存在该记录。
故障解决

  1. 进入数据库服务器,完整备份站点数据库。
  2. 查询数据库中关于该计算机名的记录,新建查询技术分享图片

select SID from sys.database_principals where name = ‘[Domain][Server]$’

  1. 删除该记录
    drop user ‘[Domain][Server]$’
  2. 新ddc加入原站点,成功!

自此,以为万事大吉,检查平台,发现Controller有2个相同计算机名的ddc,而且删除不了,懵逼中。技术分享图片
好吧,不能愉快的玩耍了,继续干活!
故障描述
平台中存在2个计算机名相同的控制器而且无法删除
故障分析
数据库中存在的记录没有删除
故障解决

  1. 进入正常的ddc控制器,以管理员运行powershell
    **asnp citrix* #加载环境变量#
    get-brokercontrolle** #获取控制器信息#
    技术分享图片
    记录状态为失败的控制器sid
  2. 执行以下脚本

    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 "$PWDevict_$sid.txt" (Get-AcctDBSchema -DatabaseName $DBName -ScriptType ‘Evict‘ -Sid $EvictedSID)

    Add-Content "$PWDevict_$sid.txt" (Get-HypDBSchema -DatabaseName $DBName -ScriptType ‘Evict‘ -Sid $EvictedSID)

    Add-Content "$PWDevict_$sid.txt" (Get-ProvDBSchema -DatabaseName $DBName -ScriptType ‘Evict‘ -Sid $EvictedSID)

    Add-Content "$PWDevict_$sid.txt" (Get-BrokerDBSchema -DatabaseName $DBName -ScriptType ‘Evict‘ -SID $EvictedSID)

    Add-Content "$PWDevict_$sid.txt" (Get-MonitorDBSchema -DatabaseName $DBName -DataStore ‘Site‘ -ScriptType ‘Evict‘ -Sid $EvictedSID)

    Add-Content "$PWDevict_$sid.txt" (Get-SfDBSchema -DatabaseName $DBName -ScriptType ‘Evict‘ -Sid $EvictedSID)

    Add-Content "$PWDevict_$sid.txt" (Get-EnvTestDBSchema -DatabaseName $DBName -ScriptType ‘Evict‘ -Sid $EvictedSID)

    Add-Content "$PWDevict_$sid.txt" (Get-ConfigDBSchema -DatabaseName $DBName -ScriptType ‘Evict‘ -Sid $EvictedSID)

    Add-Content "$PWDevict_$sid.txt" (Get-LogDBSchema -DatabaseName $DBName -DataStore ‘Site‘ -ScriptType ‘Evict‘ -Sid $EvictedSID)

    Add-Content "$PWDevict_$sid.txt" (Get-AdminDBSchema -DatabaseName $DBName -ScriptType ‘Evict‘ -Sid $EvictedSID)

    Add-Content "$PWDevict_$sid.txt" (Get-AnalyticsDBSchema -DatabaseName $DBName -ScriptType ‘Evict‘ -Sid $EvictedSID)

    Add-Content "$PWDevict_$sid.txt" (Get-AppLibDBSchema -DatabaseName $DBName -ScriptType ‘Evict‘ -Sid $EvictedSID)

    Add-Content "$PWDevict_$sid.txt" (Get-TrustDBSchema -DatabaseName $DBName -ScriptType ‘Evict‘ -Sid $EvictedSID)

    Add-Content "$PWDevict_$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 "$PWDevict_$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 "$PWDevict_$sid.txt" (Get-MonitorDBSchema -DatabaseName $DBName -DataStore ‘Monitor‘ -ScriptType ‘Evict‘ -Sid $EvictedSID)

    Script completed successfully

运行脚本之后,在当前用户的文档会生成evict.txt 文件。

  1. 打开evict.txt文件,然后在数据库中新建查询,执行!
  2. 上述操作完成之后,刷新检查平台,问题解决!

参考文档
https://support.citrix.com/article/CTX201990
https://support.citrix.com/article/CTX139505

以上是关于使用相同原系统名新建DDC加入原有站点报错的主要内容,如果未能解决你的问题,请参考以下文章

如何在sql数据库表里加入新的一列(表里原有数据)

OGG 至BDA 上的复制进程报错,错误代码OGG-01151

在webstorm,新建less文件名和原有CSS文件名一致导致原CSS文件丢失,如何找回CSS文

Vmware 后台下Citrix Xendesktop 7.6实战篇之六ddc服务安装站点配置

DDC托管LUN名称和虚拟化底层LUN名称不同导致创建计算机失败

AD更改登陆账户名后,后XenDesktop DDC无法同步用户信息