在使用 SQL 身份验证时启动 VMware VirtualCenter Server 服务失败,并显示以下错误:登录失败,无法连接到数据库
search cancel

在使用 SQL 身份验证时启动 VMware VirtualCenter Server 服务失败,并显示以下错误:登录失败,无法连接到数据库

book

Article ID: 301391

calendar_today

Updated On:

Products

VMware vCenter Server

Issue/Introduction

Symptoms:
免责声明:本文为 Starting VMware VirtualCenter Server service when using SQL authentication fails with the error: Login Failure, Failed to connect to database (2015824) 的翻译版本。尽管我们会不断努力为本文提供最佳翻译版本,但本地化的内容可能会过时。有关最新内容,请参见英文版本。


  • 无法在使用 Microsoft SQL 身份验证时启动 VMware VirtualCenter Server 服务。
  • VMware VirtualCenter Server 服务启动失败。
  • C:\ProgramData\VMware\VMware Virtual Center\Logs\vpxd.log 文件,包含类似以下内容的条目:

    <time>.364-04:00 [03404 error 'Default'] [VpxdVdb::SetDBType]: Login failure - retrying once...
    <time>.364-04:00 [03404 error 'Default'] [VpxdVdb::SetDBType] Failed to connect to database: . Retry attempt: 1 ...
    <time>.364-04:00 [03404 error 'Default'] [VpxdVdb::SetDBType] Encountered login error. Subsequent connection attempt failed: 28000
    <time>.364-04:00 [03404 error 'Default'] [VpxdVdb::SetDBType] Aborting after 1 retries.
    <time>.364-04:00 [03404 error 'Default'] Error getting configuration info from the database
    02-05T<time>.712+08:00 [02364 error 'Default'] [VpxdVdb::SetDBType] Failed to connect to database: ODBC error: (08001) - [Microsoft][SQL Server Native Client 10.0]Named Pipes Provider: Could not open a connection to SQL Server [64]. . Retry attempt: 49 ..."</time></time></time></time></time></time>


  • 在 Windows 事件查看器中,VMware VirtualCenter Server 服务报告类似以下内容的错误:

    The description for Event ID 1000 from source VMware VirtualCenter Server cannot be found.Either the component that raises this event is not installed on your local computer or the installation is corrupted.You can install or repair the component on the local computer.


Environment

VMware vCenter Server 5.5.x
VMware vCenter Server 5.0.x
VMware vCenter Server 5.1.x
VMware vCenter Server 4.1.x
VMware vCenter Server 4.0.x

Cause

如果发生以下情况,则可能会出现此问题:
  • VMware VirtualCenter Server 服务无法与远程数据库进行通信。
  • 在使用 SQL 身份验证时,远程 Microsoft SQL 数据库出现身份验证问题。

Resolution

要解决此问题,请确保进行以下检查:

验证 DSN

确保 VMware VirtualCenter Server 服务可与远程 Microsoft SQL Server 进行通信。
  1. 在“控制面板”中,导航到管理工具 > 数据源 (ODBC) > 系统 DSN
  2. 选择 vCenter Server DSN,然后单击配置
  3. 验证远程 SQL Server 名称、用户名和默认数据库。
  4. 测试与 SQL Server 的连接。
  5. 如果无法连接,请在数据库服务器上调查用于此连接的 SQL 用户帐户。有关详细信息,请参见 Microsoft TechNet 文章 Troubleshooting Server and Database Connection Problems

    注意:截至 2015 年 5 月 29 日,上述链接正确无误。如果您发现该链接已损坏,请提供反馈,VMware 员工将会更新该链接。

在 Windows 中验证 VMware VirtualCenter Server 服务的登录身份

确保 VMware VirtualCenter Server 服务正作为本地系统运行。
  1. 单击开始 > 运行,键入 services.msc,然后单击确定。此时将打开服务管理管理单元。
  2. 右键单击 VMware VirtualCenter Server 服务,然后单击属性
  3. 单击登录选项卡。
  4. 验证并确保选择了本地系统帐户选项。

在注册表中验证数据库用户名

在某些情况下,必须手动输入数据库的用户名。

注意:此过程会修改 Windows 注册表。在对注册表进行任何修改之前,请确保对注册表和虚拟机进行了最新有效的备份。有关备份和还原注册表的详细信息,请参见 Microsoft 知识库文章 136393

截至 2013 年 8 月 14 日,上述链接正确无误。如果您发现该链接已损坏,请提供反馈,VMware 员工将会更新该链接。
要手动输入数据库的用户名,请执行以下操作:
  1. 在继续之前先备份 Windows 注册表。
  2. 单击开始 > 运行,键入 regedit,然后单击确定。此时将打开“注册表编辑器”窗口。
  3. 导航到 HKEY_LOCAL_MACHINE\SOFTWARE\VMware, Inc.\VMware Virtualcenter\DB
  4. 编辑 Key 2,然后在值数据字段中输入用户名。

重置在注册表中找到的加密密码

验证 VMware VirtualCenter Server 服务是否可对远程 Microsoft SQL Server 进行身份验证。

  1. 以管理员身份打开命令提示符。
  2. 通过运行以下命令切换到 vCenter Server 目录:

    cd "C:\Program Files\VMware\Infrastructure\VirtualCenter Server"

    其中,C:\ 是安装了 vCenter Server 的驱动器。

  3. 运行以下命令:

    vpxd.exe -p

  4. 输入在验证 DSN 连接时使用的同一密码。
  5. 启动 VMware VirtualCenter Server 服务。有关详细信息,请参见 Stopping, starting, or restarting vCenter services (1003895)


Additional Information

有关详细信息,请参见 Microsoft Technet 文章 Backing Up and Restoring the Registry

注意:截至 2013 年 8 月 14 日,上述链接正确无误。如果您发现该链接已损坏,请提供反馈,VMware 员工将会更新该链接。Starting VMware VirtualCenter Server service when using SQL authentication fails with the error: Login Failure, Failed to connect to database