(可选)禁用 Service Manager ECL 日志记录以加快连接器同步速度

可以观看此 视频 ,快速了解此功能。 有关更多详细信息,请继续阅读文章。

Service Manager 中的 Active Directory (AD) 和 System Center Configuration Manager (SCCM) 连接器可将大量数据导入 Service Manager 数据库。 这样不仅可增加数据表(连接器的数据的存储位置)的大小,还能大幅增加 EntityChangeLog (ECL) 表和历史记录表的大小。 在某些情况下,大型 ECL 表大小可能是个问题:它可以显著降低系统速度。

这种情况中,ECL 表和历史记录表将存储有关将数据引入 Service Manager 的时间的详细信息,以及为每个数据项添加或更新的数据。

禁用 ECL 日志记录不会影响从连接器导入数据。 相反,大多数日志数据不会写入到 ECL 和历史记录表中,从而可以明显提升性能。

禁用的 ECL 日志记录不会自动打开。 换句话说,默认情况下,ECL 日志记录处于启用状态。 但是,可以使用 PowerShell cmdlet 轻松打开禁用的 ECL 日志记录。

  • 禁用 ECL 日志记录不会关闭有关事件、更改请求等工作项的日志记录历史记录数据。 它们将继续按原样工作。

  • 用户对连接器导入的数据所做的任何显式更改(如用户或计算机)仍会记录在 ECL 和历史记录中。

  • 尽管禁用 ECL 日志记录,但也会记录使用连接器导入的数据 的历史记录。 例如,如果将 SCCM 连接器导入的计算机添加到事件或将用户分配为受影响的用户,则这些更改仍记录在系统中。

  • 目前,禁用 ECL 日志记录仅限于 SCCM 和 Active Directory 连接器。

  • 安装 Service Manager 时,默认启用 ECL 日志记录

禁用 ECL 日志记录的好处

禁用 ECL 日志记录时:

  • 连接器同步时间显著减少。 在Microsoft测试期间,SCCM 连接器的性能提高了 65%,Active Directory 连接器的性能提高了 55%。

  • ECL 表和历史记录表的大小不会增加。 在 Active Directory 连接器测试期间,它引入 220 万行,在 SCCM 连接器测试中,它在 ECL 和历史记录表中引入 1160 万行。 启用该功能后,不会向这些表中添加任何行。

禁用 ECL 日志记录的缺点

以下是此功能的一些缺点:

禁用 ECL 日志记录时,无法创建 DCM 事件。

一些 Service Manager 用户创建了用户定义的工作流,用于监视连接器导入的数据。 如果已定义连接器导入数据时需要触发的工作流,则启用此功能不会触发这些工作流。 由于工作流会查找 ECL 表以获取条目,并且此功能不会记录 ECL 表中的条目,因此这些工作流不起作用。 在这种情况下,不应禁用 ECL 日志记录。

由于条目未写入 ECL 和历史记录表,因此不会记录 Service Manager 中连接器导入的数据项的创建和/或更改的历史记录。 换句话说,如果禁用 ECL 日志记录,则无法确定何时将用户或计算机对象导入 Service Manager 数据库,以及/或何时将这些对象的更改导入到 Service Manager 数据库中。

在某些情况下,需要将对用户和计算机等数据的更改记录在数据库中,以进行审核。 在此示例中,另一种方法是从源获取更改历史记录。 例如,需要从 Active Directory 获取对用户的更改历史记录,或者从 Configuration Manager 获取对计算机的更改历史记录。

有关禁用 ECL 日志记录的其他信息

使用 System Center 2016 - Service Manager 时,无论以前是否禁用的 ECL 日志记录,默认情况下都会对新安装和升级禁用 ECL 日志记录。 …之前可能使用过的设置将不再使用。 需要使用下面的过程来禁用 ECL 日志记录。

如果之前使用注册表项来禁用 ECL 日志记录,则注册表值将保留在管理服务器上。 可以手动删除 ConnectorLoggingDisabled 密钥下的 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\System Center\2010\Common\SDK Service REG_DWORD。

禁用 ECL 日志记录

使用以下过程为连接器禁用 ECL 日志记录。

禁用 SCCM 和 Active Directory 连接器的 ECL 日志记录

提示

可以使用 Service Manager shell 中的 cmdlet 读取 SCCM 和 AD 连接器 状态 - Get-SCSMClassInstance (Get-SCSMClass -Name "System.GlobalSetting.ConnectorEclLogSettings") 的 ECL 日志记录禁用。 设置为 0 时输出中的值 ConnectorEclLogDisabled 意味着所有 ECL 日志都已启用。 设置为 1 时输出中的值 ConnectorEclLogDisabled 意味着已禁用 SCCM 和 AD 连接器的 ECL 日志。

  1. 以主管理服务器上的管理员身份打开 Service Manager PowerShell 命令。

  2. 在 Service Manager shell 中运行以下命令:

    Get-SCSMClassInstance (Get-SCSMClass -Name "System.GlobalSetting.ConnectorEclLogSettings") | %{$_.ConnectorEclLogDisabled = 1 ; $_}  | Update-SCSMClassinstance
    

重新启用 ECL 日志记录

  • 将上一过程中的值 1 替换为 0 并运行命令。

后续步骤

  • 阅读 配置项目 ,了解如何在 Service Manager 数据库中存储有关服务、计算机、软件、软件更新、用户和其他未定义的导入对象的信息。