Session Recording

管理录制文件

ICA 日志数据库 (ICLDB) 是一个数据库命令行实用程序,用于操作会话录制数据库记录。此实用程序在会话录制安装期间安装到托管会话录制服务器的服务器上的 \Program Files\Citrix\SessionRecording\Server\Bin 文件夹中。

快速参考图表

下表列出了 ICLDB 实用程序可用的命令和选项。使用以下格式键入命令:

ICLDB [VERSION | LOCATE | DORMANT | IMPORT | ARCHIVE | REMOVE | REMOVEALL] command-options [/L] [/F] [/S] [/?]

注意:

实用程序附带的帮助中提供了更详细的说明。要从命令提示符访问帮助,请键入 \Program Files\Citrix\SessionRecording\Server\Bin 文件夹,然后键入 icldb /?。要访问特定命令的帮助,请键入 icldb *command* /?

命令 Description
ARCHIVE 归档您使用 RETENTION 和 FILTER 参数指定的会话录制文件。RETENTION 参数是强制性的。它允许您操作早于指定保留期的会话录制文件。FILTER 参数是可选的。它允许您使用 *? 通配符筛选文件路径。如果添加 FILTER 参数,则只操作同时满足 RETENTION 和 FILTER 的会话录制文件。您可以归档录制文件中的录制内容和事件。事件归档在 ArchivedEvent 数据库表中。
DORMANT 显示或计数被视为休眠的会话录制文件。休眠文件是由于数据丢失而未完成的会话录制。如果您怀疑数据丢失,请使用此命令进行验证。您可以检查整个数据库的会话录制文件是否正在变为休眠状态,或者仅检查在指定天数、小时数或分钟数内进行的录制。
IMPORT 将会话录制文件导入会话录制数据库。如果数据库记录丢失,请使用此命令重建数据库。此外,使用此命令合并数据库(如果您有两个数据库,可以从其中一个数据库导入文件)。2303 版本为 IMPORT 命令引入了 RELOCATE 参数。如果没有 RELOCATE 参数,IMPORT 命令会完整解析会话录制文件,这需要时间。使用 RELOCATE 参数,IMPORT 命令只需定位会话录制文件的数据库记录并直接更新其文件路径。
LOCATE 根据文件 ID 定位并显示会话录制文件的完整路径。当您查找会话录制文件的存储位置时,请使用此命令。这也是验证数据库是否与特定文件保持同步的一种方法。
REMOVE 从数据库中删除对会话录制文件的引用。使用此命令(请谨慎操作)清理数据库。您还可以删除关联的物理文件。使用 REMOVE 命令时,请使用 RETENTION 和 FILTER 参数指定目标会话录制文件。RETENTION 参数是强制性的。它允许您操作早于指定保留期的会话录制文件。FILTER 参数是可选的。它允许您使用 *? 通配符筛选文件路径。如果添加 FILTER 参数,则仅操作同时满足 RETENTION 和 FILTER 的会话录制文件。
REMOVEALL 从会话录制数据库中删除对会话录制文件的所有引用,并将数据库恢复到其原始状态。实际的物理文件不会被删除;但是,您无法在会话录制播放器中搜索这些文件。使用此命令(请谨慎操作)清理数据库。只有通过从备份还原才能撤消已删除的引用。
VERSION 显示会话录制数据库架构版本。
/L 将结果和错误记录到 Windows 事件日志。
/F 强制命令在没有提示的情况下运行。
/S 隐藏版权信息显示。
/? 显示命令的帮助。

存档会话录制文件

为了在录制存储位置保持充足的备用磁盘容量,请定期存档会话录制文件。存档间隔会因可用磁盘空间量和录制文件的典型大小而有所不同。会话录制文件必须自其开始日期起超过两天,方可进行存档。此规则旨在防止任何正在进行的实时录制在完成之前被存档。

存档会话录制时有两种方法可用。可以更新录制文件的数据库记录,使其状态为“已存档”,同时文件保留在录制存储位置。此方法可用于减少播放器中的搜索结果。另一种方法是将录制文件的数据库记录更新为“已存档”状态,并将文件从录制存储位置移动到另一个位置,以便备份到其他介质。当 ICLDB 实用程序移动会话录制文件时,文件会移动到指定目录,其中不再存在原始的年/月/日文件文件夹结构。

会话录制数据库中的会话录制记录包含与存档相关的两个字段:存档时间和存档备注。存档时间表示录制被存档时的当前日期和时间。存档备注是可在存档过程中添加的可选文本备注。这两个字段共同表明录制已完成存档,并记录了具体的存档时间。

在会话录制播放器中,已存档的会话录制显示“已存档”状态以及存档日期和时间。如果文件尚未移动,则已存档的会话录制可能仍可播放。如果会话录制文件在存档期间被移动,则会显示“文件未找到”错误。必须先恢复会话录制文件,然后才能播放会话。要恢复会话录制文件,请提供录制文件的文件 ID 和存档时间。有关恢复存档文件的更多信息,请参阅以下 恢复会话录制文件 部分。

ICLDB 实用程序的 ARCHIVE 命令有以下几个参数:

  • /RETENTION:<days> - 会话录制的保留期(以天为单位)。超过指定天数的录制在会话录制数据库中标记为已存档。保留期必须是大于或等于 2 天的整数。

  • /FILTER:<filter>: 允许您使用 *? 通配符筛选文件路径。FILTER 参数是可选的。如果添加 FILTER 参数,则只有同时满足 RETENTION 和 FILTER 的会话录制文件才会被存档。

  • /LISTFILES – 列出正在存档的会话录制文件的完整路径和文件名。此参数是可选的。

  • /MOVETO:<directory> - 物理移动已存档会话录制文件的目录。指定的目录必须存在。此参数是可选的。如果未指定目录,文件将保留在其原始存储位置。

  • /NOTE:<note> - 添加到每个已存档会话录制的数据库记录中的文本备注。确保备注用双引号括起来。此参数是可选的。

  • /L – 将已存档会话录制文件数量的结果和错误记录到 Windows 事件日志中。此参数是可选的。

  • /F – 强制存档命令在没有提示的情况下运行。此参数是可选的。

如何在会话录制数据库中存档会话录制并物理移动会话录制文件

  1. 以本地管理员身份登录安装了会话录音服务器的服务器。

  2. 启动命令提示符。

  3. 将当前工作目录更改为会话录音服务器安装路径的 Bin 目录 (<Session Recording server Installation Path>/Server/Bin)。

  4. 运行 ICLDB ARCHIVE /RETENTION:<days> /LISTFILES /MOVETO:<directory> /NOTE:<note> /L 命令,其中 days 是会话录音文件的保留期,directory 是存档的会话录音文件移动到的目录,note 是添加到每个正在存档的会话录音文件的数据库记录中的文本备注。输入 Y 确认存档。

仅在会话录音数据库中存档会话录音文件

  1. 以本地管理员身份登录安装了会话录音服务器的服务器。

  2. 启动命令提示符。

  3. Change from the current working directory to the Bin directory of the Session Recording server installation path (<Session Recording server installation path>/Server/Bin).

  4. 运行 ICLDB ARCHIVE /RETENTION:<days> /LISTFILES /NOTE:<note> /L 命令,其中 days 是会话录音的保留期,note 是添加到每个正在存档的会话录音的数据库记录中的文本备注。输入 Y 确认存档。

还原会话录音文件

要查看已存档在会话录音数据库中并已从录音存储位置移动的录音文件,请将其还原。在存档期间未从录音存储位置移动的已存档会话录音仍可在播放器中访问。

有两种方法可以还原已移动的会话录音文件。将所需的会话录音文件复制到存档文件的还原目录。或者,使用 ICLDB 实用程序将所需的会话录音文件重新导入到会话录音数据库。我们建议使用第一种方法还原已存档的会话录音文件。当不再需要时,请删除复制到存档文件还原目录中的存档文件。

当会话录音文件在其原始存储位置中找不到时,会话录音代理会使用“存档文件的还原目录”。当播放器请求会话录音文件进行播放时,就会出现这种情况。会话录音代理首先尝试在原始存储位置中查找会话录音文件。如果在原始存储位置中找不到该文件,则会话录音代理会检查“存档文件的还原目录”。如果文件存在于还原目录中,则会话录音代理会将文件发送到播放器进行播放。如果找不到文件,则会话录音代理会向播放器发送文件未找到错误。

导入已存档的录音文件会使用文件中的会话录音信息(包括新的存储路径)更新会话录音数据库。导入已存档的会话录音文件不会将文件移回会话录音时的原始存储位置。

注意: 导入的会话录音文件在会话录音数据库中已清除存档时间和存档备注。下次运行 ICLDB ARCHIVE 命令时,导入的会话录音文件可能会再次存档。

ICLDB IMPORT 命令可用于导入大量存档的录制文件。它可以修复或更新会话录制数据库中不正确和缺失的会话录制数据。它还可用于将会话录制文件从会话录制服务器上的一个存储位置移动到另一个存储位置。运行 ICLDB REMOVEALL 命令后,您可以使用 ICLDB IMPORT 命令将会话录制重新填充到会话录制数据库中。

ICLDB 实用程序的 IMPORT 命令有多个参数,可用于恢复存档的录制文件:

  • /LISTFILES – 列出正在导入的会话录制文件的完整路径和文件名。此参数是可选的。

  • /RECURSIVE – 搜索所有子目录以查找会话录制文件。此参数是可选的。

  • /L – 将结果和错误以及导入的会话录制文件数量记录到 Windows 事件日志中。此参数是可选的。

  • /F – 强制 IMPORT 命令在没有提示的情况下运行。此参数是可选的。

注意:

ICLDB 实用程序的 IMPORT 命令还提供了一个可选参数 RELOCATE,可用于重新定位录制文件。有关详细信息,请参阅本文中的重新定位会话录制文件部分。

通过使用存档文件的恢复目录恢复会话录制文件

  1. 以本地管理员身份登录到安装了会话录制服务器的服务器。

  2. 在会话录制播放器属性中,确定存档的会话录制文件的文件 ID 和存档时间。

  3. 使用会话录制播放器属性中指定的文件 ID 在备份中找到会话录制文件。每个会话录制的文件名为 i_<FileID>.icl,其中 FileID 是会话录制文件的 ID。

  4. 将会话录制文件从您的备份复制到用于存档文件的恢复目录。要确定用于存档文件的恢复目录:

    1. 从“开始”菜单中,选择“开始”>“所有程序”>“Citrix®”>“会话录制服务器属性”。

    2. 在“会话录制服务器属性”中,选择“存储”选项卡。当前恢复目录显示在“存档文件的恢复目录”字段中。

使用 ICLDB IMPORT 命令恢复会话录制文件

  1. 以本地管理员身份登录到安装了会话录制服务器的服务器。

  2. 启动命令提示符。

  3. 将当前工作目录更改为会话录制服务器安装路径的 Bin 目录 (<Session Recording server installation path>/Server/Bin)。

  4. 执行以下操作之一:

    • 运行 ICLDB IMPORT /LISTFILES /RECURSIVE /L <directory> 命令,其中 directory 是一个或多个目录的名称,这些目录之间用空格分隔,包含会话录制文件。输入 Y 确认导入。

    • 运行 ICLDB IMPORT /LISTFILES /L <file> 命令,其中 file 是一个或多个会话录制文件的名称,这些文件之间用空格分隔。可以使用通配符指定会话录制文件。输入 Y 确认导入。

重新定位会话录制文件

您可以将会话录制文件移动到不同的存储路径,以实现负载平衡或其他目的。为确保文件仍可播放,您必须将其新路径更新到会话录制数据库。为此,请使用 ICLDB IMPORT 命令。要加快导入过程,请将 RELOCATE 参数附加到 ICLDB IMPORT 命令。

注意:

RELOCATE 参数是可选的。如果没有 RELOCATE 参数,ICLDB IMPORT 命令会完整解析会话录制文件,这需要时间。使用 RELOCATE 参数,ICLDB IMPORT 命令只需定位会话录制文件的数据库记录并直接更新其文件路径。

以下步骤说明如何使用 RELOCATE 参数将会话录制数据库中的新文件路径更新。

  1. 根据需要将会话录制文件移动到不同的存储路径。

  2. 以本地管理员身份登录到安装了会话录制服务器的服务器。

  3. 启动命令提示符。

  4. 将当前工作目录更改为会话录制服务器安装路径的 Bin 目录 (<Session Recording server installation path>/Server/Bin)。

  5. 以下任一操作:

    • 运行 ICLDB IMPORT /LISTFILES /RECURSIVE /RELOCATE /L <directory> 命令,其中 directory 是一个或多个目录的名称,这些目录之间用空格分隔,并包含会话录制文件。输入 Y 确认导入。

    • 运行 ICLDB IMPORT /LISTFILES /RELOCATE /L <file> 命令,其中 file 是一个或多个会话录制文件的名称,这些文件之间用空格分隔。可以使用通配符指定会话录制文件。输入 Y 确认导入。

注意:

  • RELOCATE 参数假定会话录制数据库中已存在会话录制文件的记录。
  • 会话录制文件在移动之前必须是可播放的。否则,RELOCATE 参数将不起作用。
  • 会话录制文件的新存储路径必须可由会话录制服务器识别。您可以在会话录制服务器属性存储选项卡上尝试这些路径。