XenDesktop升级Database Schema

当安装XenDesktop更新的时候,有些补丁会要求升级Database Schema。一般情况下,升级后,打开Desktop Studio会自动提示Database Schema需要升级,此时,如果当前登录用户具有数据库管理员权限,那么可以直接点击向导,并由Desktop Studio直接远程来完成升级操作,如果没有权限的话,同样可以通过向导导出Database的升级脚本(sql文件),然后通过该脚本到Database服务器上执行后手动来升级。

但是,当一个全新的Site,在没有创建任何Desktop Group的前提下,就直接对当前DDC进行升级,升级完成后会发现,即使打开Desktop Studio仍然不提示升级Database Schema,这是一个已知问题,当然如果知道了这个,可以在升级直接手动来创建一个临时的桌面组,然后再升级,避免手动升级的麻烦。但是,当问题已经发生的时候,我们就需要知道如何来手动操作了。

首先确认有哪些组件需要升级,以及当前最新版本的Database Schema版本:

如下图,如果需要升级,那么上面的命令会返回较新的Schema版本,我们选择版本号最高的即可,如果命令返回空,那么标明其对应的Schema不需要升级。

db-schema-version
图中,BrokerService的最新Schema版本为5.6.0.3,而ADIdentityService的最新Schema版本为5.6.0.1

在获得了所有的服务对应的最新版本之后,我们就可以准备数据库升级的脚本了(如果某些服务不需要升级,比如上述有些命令返回空的话,那么下面对应的获取脚本的指令就不需要执行了)。

其中需要修改Database名称以及对应的之前命令获取到的Version版本。而且BrokerService的Schema升级脚本的获取还有些特别的地方,需要注意一下。

当获取到完整的脚本后,我们只需要把该脚本copy到Database Server上,然后使用SQL Management Studio执行即可。

[alert type=”warning”]

注意:

执行脚本前最好关闭DDC服务器,因为数据库连接可能锁定了某些数据库表,导致升级脚本无法成功执行

执行的时候,需要使用SQLCMD Mode执行,否则会报语法错误,可以通过菜单查询/SQLCMD模式来修改(Query/SQLCMD Mode)

[/alert]