TSContainerManage 函数

TSContainerManage 函数更改容器的属性。

只有具有对 TSContainerTable 表和 TSContainerWindowTable 表的更新特权的用户才能运行此函数。

语法

TSContainerManage(container_name  lvarchar, 
                  command         lvarchar);  
command 的语法
container_name
容器的名称。容器名称必须存在。
command
更改容器属性的命令:
detach active partitions before datetime
对于滚动窗口容器,将指定时间戳记之前的所有活动分区分离到休眠窗口。

关键字 active partitipantsbefore 是可选的,不会更改命令。

attach dormant partitions after datetime
对于滚动窗口容器,将指定时间戳记之后的所有休眠分区附加到活动窗口。但是,不会超出活动窗口中的最大分区数,即使有更多分区满足时间戳记条件。

关键字 dormant partitionsafter 是可选的,不会更改命令。

destroy dormant partitions before datetime
对于滚动窗口容器,销毁指定时间戳记之前的所有休眠分区。这些分区可能包含数据。不会销毁满足时间戳记条件的任何活动分区。

关键字 dormant partitionsbefore 是可选的,不会更改命令。

set active window size to number
对于滚动窗口容器,设置活动窗口中的分区数:
  • 0 = 无大小限制。
  • 正整数 = 活动窗口中的最大分区数。如果减小此大小,超出活动窗口大小的数量的最旧活动分区将分离到休眠窗口。如果增加此大小,休眠窗口中的分区不会附加到活动窗口。

关键字 window sizeto 是可选的,不会更改命令。

set dormant window size to number
对于滚动窗口容器,设置休眠窗口中的分区数:
  • 0 = 缺省值。无大小限制。
  • 正整数 = 休眠窗口中的最大分区数。如果减小此大小,将销毁超出休眠窗口大小的数量的休眠分区。

关键字 window sizeto 是可选的,不会更改命令。

set pool containerpool
将容器移入指定的容器池。
set pool
将该容器从其容器池中除去。与 TSContainerSetPool 过程相同。
set extent container first first_ext next next_ext
设置容器分区的第一个和下一个扩展数据块的大小(以 KB 为单位)。
关键字 firstnext 是可选的,不会更改命令。
set extent first first_ext next next_ext
为包含时间系列元素的分区设置第一个和下一个扩展数据块的大小(以 KB 为单位)。对于滚动窗口容器,更改活动和休眠窗口中现有分区的大小,并设置新分区的大小。
关键字 firstnext 是可选的,不会更改命令。
set wcontrol flag
一种标志,用于指示手动或自动分离活动分区时如何处理这些分区:
  • 0 = 缺省值。不会自动销毁无法放入休眠窗口中的分区。如果活动和休眠窗口已满,那么只有在销毁某个休眠分区之后,才能添加分区。
  • 1 = 将自动销毁无法放入休眠窗口中的分区。请谨慎使用此设置。销毁的数据无法恢复。

用法

对于所有容器,可以更改分区的容器池和扩展数据块大小。对于滚动窗口容器,还可以更改窗口大小,并附加、分离或销毁分区。

返回结果

描述命令结果的消息。

示例

以下示例基于滚动窗口容器 readings_container,该容器的时间间隔为 day,活动窗口大小为 5,休眠窗口大小为 10。时间系列元素使用 15 分钟日历,范围从 2012-01-01 00:00:00.00000 到 2012-01-10 23:45:00.00000。

分区按以下方式在活动窗口和休眠窗口之间分布:

示例 1:分离分区

以下示例将分区从活动窗口移至休眠窗口:

execute function TSContainerManage(
"readings_container",
"detach active partitions before 2012-01-08")

以下消息描述结果:

分离成功:已移动 2 个分区

现在分区按以下方式在活动窗口和休眠窗口之间分布:

分区 P6 和 P7 已移入休眠窗口。

示例 2:附加分区

以下示例将分区从休眠窗口移至活动窗口:

execute function TSContainerManage(
"readings_container",
"attach dormant partitions after 2012-01-06")

以下消息描述结果:

附加成功:已移动 1 个分区

现在分区按以下方式在活动窗口和休眠窗口之间分布:

分区 P7 已移入活动窗口。

示例 3:增加活动窗口大小

以下示例将活动窗口大小增加到 10:

execute function TSContainerManage(
"readings_container",
"set active window size to 10");

以下消息描述结果:

设置活动窗口大小成功:已移动 0 个分区

虽然活动窗口大小更大,但休眠窗口中的分区并未移回活动窗口。

示例 4:销毁分区

以下示例销毁休眠窗口中的分区:

execute function TSContainerManage(
"readings_container",
"destroy dormant partitions before 2012-01-08");

以下消息描述结果:

销毁成功:已销毁 6 个分区

现在分区按以下方式在活动窗口和休眠窗口之间分布:

尽管某些活动分区早于 2012-01-08,但也不会销毁这些分区。