管理录制文件
ICA 日志数据库 (ICLDB) 是用于管理 Session Recording 数据库记录的数据库命令行实用程序。此实用程序在 Session Recording 安装期间安装在托管 Session Recording Server 的服务器上的 \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* /?
。
命令 | 说明 |
---|---|
ARCHIVE |
存档使用 RETENTION 和 FILTER 参数指定的会话录制文件。RETENTION 参数是必需的。它允许您处理早于指定保留期限的会话录制文件。FILTER 参数为可选参数。它允许您使用 * 和 ? 通配符筛选文件路径。如果添加了 FILTER 参数,则仅处理同时满足 RETENTION 和 FILTER 条件的会话录制文件。可以将录制文件和事件存档在录制文件中。这些事件将在 ArchivedEvent 数据库表中存档。 |
DORMANT |
显示或计数被视为休眠的会话录制文件。休眠文件是指由于数据丢失而未完成的会话录制。此命令用于在您怀疑有数据丢失时进行验证。可以检查是整个数据库的会话录制文件都进入休眠,还是只有指定天数、小时数或分钟数内创建的录制件进入休眠。 |
IMPORT |
将会话录制文件导入 Session Recording 数据库。此命令用于在丢失数据库录制时重建数据库。此外,此命令还用于合并数据库(如果您有两个数据库,则可以导入其中一个数据库中的文件)。2303 版本在 IMPORT 命令中引入了 RELOCATE 参数。如果不使用 RELOCATE 参数,IMPORT 命令会完整地解析会话录制文件,这需要时间。如果使用 RELOCATE 参数,IMPORT 命令只需找到会话录制文件的数据库记录并直接更新其文件路径。 |
LOCATE |
将会话录制文件 ID 用作条件查找并显示该文件的完整路径。查找会话录制文件的存储位置时可使用此命令。此命令还可用于通过特定文件来验证数据库是否为最新。 |
REMOVE |
从数据库中删除对会话录制文件的引用。此命令用于清理数据库(使用时需谨慎)。也可以删除关联的物理文件。使用 REMOVE 命令时,请使用 RETENTION 和 FILTER 参数指定目标会话录制文件。RETENTION 参数是必需的。它允许您处理早于指定保留期限的会话录制文件。FILTER 参数为可选参数。它允许您使用 * 和 ? 通配符筛选文件路径。如果添加了 FILTER 参数,则仅处理同时满足 RETENTION 和 FILTER 条件的会话录制文件。 |
REMOVEALL |
从 Session Recording 数据库中删除对会话录制文件的所有引用,并将数据库返回原始状态。不会删除实际物理文件;但您无法在 Session Recording Player 中搜索这些文件。此命令用于清理数据库(使用时需谨慎)。只能通过从备份中恢复来还原删除的引用。 |
VERSION |
显示 Session Recording 数据库架构版本。 |
/L |
将结果和错误记录到 Windows 事件日志。 |
/F |
强制运行命令而不提示。 |
/S |
不显示版权信息。 |
/? |
显示命令的帮助。 |
存档会话录制文件
要在录制件存储位置保留充足的备用磁盘容量,请定期存档会话录制文件。存档时间间隔因可用磁盘空间量和录制文件的典型大小而异。会话录制文件保留时间必须晚于开始录制日期超过两天才能进行存档。此规则是为了防止任何正在进行的录制还未完成即被存档。
可以采用两种方法来存档会话录制件。可以将录制文件的数据库记录更新为“已存档”状态,同时文件仍保留在录制件存储位置。使用此方法可以减少在 Player 中出现的搜索结果。另一种方法是将录制文件的数据库记录更新为“已存档”状态,同时将文件从录制件存储位置移至另一个位置以便备份到备用介质。当 ICLDB 实用程序移动会话录制文件时,这些文件将被移至指定的目录,在此位置不再使用年/月/日形式的原始文件文件夹结构。
Session Recording 数据库中的会话录制记录包含两个与存档相关的字段:存档时间和存档注释。存档时间表示录制文件的当前存档日期和时间。存档注释是可选的文本注释,可以在存档期间添加。这两个字段指示录制件已存档和存档时间。
在 Session Recording Player 中,存档的会话录制件都会显示“已存档”状态以及存档日期和时间。如果尚未移动已存档的会话录制件,则仍可以播放这些文件。如果在存档过程中移动了会话录制文件,则在要播放该文件时会显示“未找到文件”错误。此时,必须还原会话录制文件才能播放会话。要还原会话录制文件,请提供录制文件的文件 ID 和存档时间。在下面的还原会话录制文件部分详细介绍了如何还原存档文件。
ICLDB 实用程序的 ARCHIVE 命令具有多个参数,如下所述:
-
/RETENTION:<days> - 会话录制件的保留期限(天)。保留时间超过指定天数的录制件会在 Session Recording 数据库中被标记为“已存档”。保留期限必须是大于或等于 2 天的整数。
-
/FILTER:<filter>:允许您使用
*
和?
通配符筛选文件路径。FILTER 参数为可选参数。如果添加了 FILTER 参数,则仅存档同时满足 RETENTION 和 FILTER 条件的会话录制文件。 -
/LISTFILES - 列出存档会话录制文件时这些文件的完整路径和文件名。此参数为可选设置。
-
/MOVETO:<directory> - 以物理方式将存档的会话录制文件移至的目录。指定的目录必须存在。此参数为可选设置。如果未指定目录,则文件仍保留在其原始存储位置。
-
/NOTE:<note> - 在数据库记录中为存档的每个会话录制件添加的文本注释。注释两边务必加上双引号。此参数为可选设置。
-
/L - 将结果和错误记录到 Windows 事件日志,并记录存档的会话录制文件数。此参数为可选设置。
-
/F - 强制运行 archive 命令而不显示提示。此参数为可选设置。
在 Session Recording 数据库中存档会话录制件并以物理方式移动会话录制文件
-
以本地管理员身份登录安装了 Session Recording Server 的服务器。
-
启动命令提示窗口。
-
从当前工作目录转到 Session Recording Server 安装路径的 Bin 目录 (
<Session Recording server Installation Path>/Server/Bin
)。 -
运行
ICLDB ARCHIVE /RETENTION:<days> /LISTFILES /MOVETO:<directory> /NOTE:<note> /L
命令,其中 days 是会话录制文件的保留期限,directory 是存档的会话录制文件移至的目录,note 是在数据库记录中为正在存档的每个会话录制文件添加的文本注释。输入 Y 以确认存档。
仅在 Session Recording 数据库中存档会话录制件
-
以本地管理员身份登录安装了 Session Recording Server 的服务器。
-
启动命令提示窗口。
-
从当前工作目录转到 Session Recording Server 安装路径的 Bin 目录(<Session Recording Server 安装路径>/Server/Bin)。
-
运行
ICLDB ARCHIVE /RETENTION:<days> /LISTFILES /NOTE:<note> /L
命令,其中 days 是会话录制件的保留期限,note 是在数据库记录中为正在存档的每个会话录制件添加的文本注释。输入 Y 以确认存档。
还原会话录制文件
要查看在 Session Recording 数据库中存档并从录制文件存储位置移出的录制文件,请将其还原。如果在存档期间未从录制件存储位置移走存档的录制件,则仍可在播放器中访问这些录制件。
可以采用两种方法来还原已移走的会话录制文件。将所需的会话录制文件复制到存档文件的还原目录。或者,使用 ICLDB 实用程序将所需的会话录制文件导回 Session Recording 数据库。我们建议采用第一种方法还原存档的会话录制文件。将存档的文件复制到存档文件的还原目录后,如果不再需要,可将其删除。
在会话录制文件的原始存储位置未找到该文件时,Session Recording Broker 将使用归档文件的还原目录。播放器请求要播放的会话录制文件时会出现这种情况。Session Recording Broker 将先尝试在原始存储位置查找会话录制文件。如果在原始存储位置未找到该文件,则 Session Recording Broker 将检查归档文件的还原目录。如果该文件在还原目录中,则 Session Recording Broker 将其发送到播放器以进行播放。如果未找到该文件,则 Session Recording Broker 将向播放器发送“未找到文件”错误。
导入存档的录制文件会使用文件中的会话录制信息(包括新存储路径)来更新 Session Recording 数据库。导入存档的会话录制文件不会将该文件移回录制会话时的原始存储位置。
注意: 导入的会话录制文件在 Session Recording 数据库中的存档时间和存档注释会被清除。下一次运行 ICLDB ARCHIVE 命令,导入的会话录制文件可能会重新变为“已存档”。
ICLDB IMPORT 命令对于导入大量存档的录制文件很有用。它可以修复或更新 Session Recording 数据库中不正确和缺失的会话录制数据。将会话录制文件从一个存储位置移动到 Session Recording Server 上的另一个存储位置时非常有用。可以使用 ICLDB IMPORT 命令在运行ICLDB REMOVEALL 命令后在 Session Recording 数据库中重新填充会话录制件。
ICLDB 实用程序的 IMPORT 命令有几个参数可用于还原存档的录制文件:
-
/LISTFILES - 列出导入会话录制文件时这些文件的完整路径和文件名。此参数为可选设置。
-
/RECURSIVE - 在所有子目录中搜索会话录制文件。此参数为可选设置。
-
/L - 将结果和错误记录到 Windows 事件日志,并记录导入的会话录制文件数。此参数为可选设置。
-
/F - 强制运行 IMPORT 命令而不显示提示。此参数为可选设置。
注意:
ICLDB 实用程序的 IMPORT 命令还提供了一个可选参数 RELOCATE,您可以使用该参数重新定位录制文件。有关详细信息,请参阅本文中的重新定位会话录制文件部分。
使用存档文件的还原目录来还原会话录制文件
-
以本地管理员身份登录安装了 Session Recording Server 的服务器。
-
在“Session Recording Player 属性”中,确定已存档的会话录制文件的文件 ID 和存档时间。
-
使用在“Session Recording Player 属性”中指定的文件 ID 在备份中找到会话录制文件。每个会话录制件的文件名为
i_<FileID>.icl
,其中,FileID 是会话录制文件的 ID。 -
将备份中的会话录制文件复制到存档文件的还原目录。要确定存档文件的还原目录,请执行以下操作:
-
从开始菜单中,依次选择开始 > 所有程序 > Citrix > Session Recording Server 属性。
-
在 Session Recording Server 属性中,单击存储选项卡。当前还原目录将显示在存档文件的还原目录字段中。
-
使用 ICLDB IMPORT 命令还原会话录制文件
-
以本地管理员身份登录安装了 Session Recording Server 的服务器。
-
启动命令提示窗口。
-
从当前工作目录转到 Session Recording Server 安装路径的 Bin 目录 (
<Session Recording server installation path>/Server/Bin
)。 -
执行以下操作之一:
-
运行
ICLDB IMPORT /LISTFILES /RECURSIVE /L <directory>
命令,其中,directory 是一个或多个用空格分隔且包含会话录制文件的目录的名称。输入 Y 以确认导入。 -
运行
ICLDB IMPORT /LISTFILES /L <file>
命令,其中,file 是一个或多个用空格分隔的会话录制文件的名称。可以使用通配符来指定会话录制文件。输入 Y 以确认导入。
-
重新定位会话录制文件
可以将会话录制文件移动到不同的存储路径以实现负载平衡或其他目的。为确保文件仍然可以播放,必须将其新路径更新到 Session Recording 数据库。为此,请使用 ICLDB IMPORT 命令。要加快导入过程,请将 RELOCATE 参数附加到 ICLDB IMPORT 命令中。
注意:
RELOCATE 参数为可选参数。如果不使用 RELOCATE 参数,ICLDB IMPORT 命令会完整地解析会话录制文件,这需要时间。如果使用 RELOCATE 参数,ICLDB IMPORT 命令只需找到会话录制文件的数据库记录并直接更新其文件路径。
以下步骤说明了如何使用 RELOCATE 参数更新 Session Recording 数据库的新文件路径。
-
请根据需要将会话录制文件移动到不同的存储路径。
-
以本地管理员身份登录安装了 Session Recording Server 的服务器。
-
启动命令提示窗口。
-
从当前工作目录转到 Session Recording Server 安装路径的 Bin 目录 (
<Session Recording server installation path>/Server/Bin
)。 -
执行以下操作之一:
-
运行
ICLDB IMPORT /LISTFILES /RECURSIVE /RELOCATE /L <directory>
命令,其中,directory 是一个或多个用空格分隔且包含会话录制文件的目录的名称。输入 Y 以确认导入。 -
运行
ICLDB IMPORT /LISTFILES /RELOCATE /L <file>
命令,其中,file 是一个或多个用空格分隔的会话录制文件的名称。可以使用通配符来指定会话录制文件。输入 Y 以确认导入。
-
注意:
- RELOCATE 参数假设 Session Recording 数据库中已经有会话录制文件的记录。
- 会话录制文件在移动之前必须可播放。否则,RELOCATE 参数不起作用。
- 会话录制文件的新存储路径必须可被 Session Recording Server 识别。您可以在 Session Recording Server 属性的存储选项卡上尝试。