在 vRA 中运行数据收集时出现错误“处理 ping 响应时出错,执行查询 usp_SelectDataCollectionStatus 时出错,内部异常 (Error processing ping response Error executing query usp_SelectDataCollectionStatus Inner Exception)”
search cancel

在 vRA 中运行数据收集时出现错误“处理 ping 响应时出错,执行查询 usp_SelectDataCollectionStatus 时出错,内部异常 (Error processing ping response Error executing query usp_SelectDataCollectionStatus Inner Exception)”

book

Article ID: 339738

calendar_today

Updated On:

Products

VMware Aria Suite

Issue/Introduction

Symptoms:
免责声明:本文为 的翻译版本。尽管我们会不断努力为本文提供最佳翻译版本,但本地化的内容可能会过时。有关最新内容,请参见英文版本。

  • vRealize Automation 中数据收集失败。
  • 在 IaaS Manager Service 中,日志位于C:\Program Files (x86)\VMware\vCAC\Server\Logs下,您会看到类似以下内容的条目:
    • Error processing ping response Error executing query usp_SelectDataCollectionStatus Inner Exception: Subquery returned more than 1 value.This is not permitted when the subquery follows =, !=, , >= or when the subquery is used as an expression.
    • CollectedDataImportService: Ignoring exception: Error executing query usp_SelectOverdueDataCollectionStatus Inner Exception: Subquery returned more than 1 value.This is not permitted when the subquery follows =, !=, , >= or when the subquery is used as an expression.
注意:上述日志摘录仅为示例。日期、时间和环境变量可能会因环境而有所不同。


Environment

VMware vRealize Automation 6.2.x
VMware vRealize Automation 7.0.x

Cause

当 IaaS SQL 数据库中同一实体(例如同一主机、群集等)的DataCollectionStatus表中存在重复清单记录时,会发生此问题。

Resolution

此问题已在 vRealize Automation 6.2.5 中已解决, 可从 VMware Downloads 获取。
要解决此问题,请先标识重复记录,然后将其从数据库中删除。
注意:在执行这些步骤前,请对 SQL 数据库进行备份。
  1. 通过运行 SQL 查询标识重复记录:

    select * from DataCollectionStatusViewInt as dcs1 where exists (select * from DataCollectionStatusViewInt as dcs2 where dcs1.EntityID = dcs2.EntityID and dcs1.AgentID = dcs2.AgentID and dcs1.FilterSpecGroupID = dcs2.FilterSpecGroupID and dcs1.DataCollectionStatusID != dcs2.DataCollectionStatusID and exists (select * from DataCollectionStatusViewInt where DependsOnFilterSpecGroupID = dcs1.FilterSpecGroupID))

    注意:库中可能存在多对重复记录。

  2. 记下同一实体的重复清单记录。
  3. 其中至少有一个记录为 LastCollectedTime = null,此为应删除的记录。如果两个记录均为LastCollectedTime = null,请选择其中之一并将其删除。
  4. 记下您想从步骤 1 的查询结果中删除的行DataCollectionStatusID。
  5. 通过运行以下查询删除该记录:

    DELETE from DataCollectionStatus where DataCollectionStatusID = 'xxxxx'

  6. 再次运行步骤 1 中的查询以确认现已无重复记录。

注意:数据收集将恢复正常。


Additional Information

要在本文更新时收到提醒,请在“Actions” 框中单击 Subscribe to Document