要将 vCenter Server 数据库从 SQL Express 实例迁移到完整的 SQL Server,请执行以下操作:
注意:确保使用 dbo 架构并且未在 vCenter Server 数据库中自定义架构。
- 停止 VirtualCenter Server 服务。
- 执行 vCenter 数据库的完整备份。不要跳过此步骤。
- 停止 SQL Express 服务器上的 vCenter 数据库。
- 将备份数据库复制到完整的 SQL Server 主机。
- 在完整的 SQL Server 上创建新数据库。
- 将备份的 SQL Express vCenter 数据库还原到新创建的数据库。要确保还原正确,请导航到选项并单击用替代项覆盖现有数据库。
注意:
- 当完整的 SQL Server 本地安装在 vCenter Server Windows 主机上时,上述说明也适用。创建新的 2008 数据库并将 SQL Express 2005 数据库还原到 SQL 2008 Server 后,SQL Express 2005 将升级到 SQL Server 2008。
- 如果已本地安装完整 SQL Server 的新实例以进行数据库迁移,则可能需要重新创建或修改 vCenter 服务的 SQL Server 实例依赖关系。
- 必须删除系统 DSN 然后再重新创建,以使其使用 SQL Native Client 10.0 驱动程序。对于 vCenter Server 4.0 及更低版本,请下载 x86,对于 vCenter Server 4.1 及更高版本,请下载 x64。
截至 2014 年 10 月 24 日,上述链接正确无误。如果您发现某链接已损坏,请提供反馈,VMware 员工将会更新该链接。
- 确保 DSN 连接到 SQL 2008 Server 上新创建的数据库。对于 vCenter Server 4.1 和更高版本,确保创建了 64 位 DSN 用于 ODBC 连接。
- 对于 vCenter Server 5.1,可能还需要迁移 Single Sign-On (SSO) 数据库。
- 将连接到数据库的 vCenter 帐户配置为 MSDB 系统数据库的
dbo
用户。
- 更新 vCenter Server 上的 ODBC 连接。
注意:此过程将修改 Windows 注册表。在对注册表进行任何修改之前,请确保对注册表和虚拟机进行了最新有效的备份。有关备份和还原注册表的详细信息,请参见 Microsoft 知识库文章 136393。
要更新 ODBC 连接,请执行以下操作:
- 单击开始 > 运行,键入
regedit
,然后单击确定。此时将打开“注册表编辑器”窗口。 - 导航到 HKEY_LOCAL_MACHINE > SOFTWARE > VMware, Inc > VMware VirtualCenter。
- 修改注册表项
DbInstanceName
并移除当前数值数据。请勿删除此注册表项。 - 修改注册表项
DbServerType
,将数值数据从 Bundled
更改为 Custom
。 - 导航到 HKEY_LOCAL_MACHINE > SOFTWARE > VMware, Inc > VMware VirtualCenter > DB。
- 如果 ODBC 连接名称已更改,请使用新 ODBC 连接的名称修改注册表 1。
- 修改注册表 4 并将 ODBC 驱动程序更改为新驱动程序。
- 修改注册表 2 并添加 vCenter Server 用户,例如
sa
。
- 要更改存储在注册表中的数据库密码,允许用户在不重新安装 vCenter Server 的情况下更新 ODBC 信息:
a. 单击开始 > 运行
b. 键入 cmd
c. 右键单击命令提示符图标,然后选择以管理员身份运行
d. 运行以下命令:
C:\Program Files\VMware\Infrastructure\VirtualCenter Server\vpxd.exe -p
注意:这是 vCenter Server 安装目录的默认路径。如有必要,请适当更改该路径。
- 重新创建汇总作业。
- 确保
vcdb.properties
文件反映新的 SQL 数据库信息。
注意:如果使用的是 vCenter Server 5.0,请确保已更新 Tomcat Server 所用的数据库设置。
- 启动 vCenter Server 服务。
如果 vCenter Server 服务依然依赖 SQL Express,请按照以下步骤操作:
- 打开 regedit,然后导航到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\vpxd。
- 单击 DependOnService 列。DependOnService 的值会列出 vCenter Server 依赖的所有服务。
- 删除 SQL Express 服务行。
- 对 ControlSet001 和 ControlSet002 文件夹执行类似的检查。
- 重新引导虚拟机。
- 确保 SQL Express 服务已设置为手动/已禁用并已停止。
- 启动 vCenter 服务。
注意:如果在迁移后访问“存储视图”选项卡时遇到问题,请参见 Accessing the Storage tab view in vCenter Server 5.0 fails with an internal error: com.vmware.vim.sms.fault.serviceInitializationException (2015180)。