您好,我是小DAI,专注于数据库管理员相关的技术问答,请问有什么可以帮您?

sp_extendsegment

语法


sp_extendsegment <segname>, <dbname>, <devname>

参数

<segname>

是以前用 sp_addsegment 定义的现有段的名称。

<dbname>

是要在其上扩展段的数据库的名称。<dbname> 必须是当前数据库的名称。

<devname>

是要添加到当前数据库设备范围的数据库设备的名称,该范围已包括在 <segname> 中。

示例

示例 1

在数据库设备 dev2 上扩展数据库 pubs2 的段 indexes 的范围:


sp_extendsegment indexes, pubs2, dev2

用法

使用 sp_extendsegment 时,还存在一些其它注意事项:

  • 不能在已经具有排它段的设备上扩展段,并且不能在已经具有其它段的设备上扩展排它段。

    例如,如果试图在 orders.dat 设备上扩展段 orders_seg,但是该设备上已经具有排它段,则会显示类似以下内容的错误消息:

    
    A segment with a virtually hashed table exists on 
    device orders.dat.
    

    如果试图在 orders.dat 设备上扩展排它段 orders_seg,但是该设备上已经具有其它段,则会显示类似以下内容的错误消息:

    
    You cannot extend a segment with a virtually hashed 
    table on device orders.dat, because this device has 
    other segments.
    

  • 可以将一个段扩展到多个数据库设备上。

  • 只能以单用户模式为 logsegment 系统段执行 sp_extendsegment。

  • 如果扩展 logsegment 段,则将删除该设备上的任何其它段,该设备专门供日志段使用。

  • 扩展 logsegment 段后,SAP ASE 服务器将重新计算其最后机会阈值。

  • 若要将段与数据库设备关联,请创建或更改引用该设备的数据库。数据库设备可以有多个与之关联的段。

  • 在定义了段之后,您可以在 create table 和 create index 命令中使用它将表或索引放置在段上。如果在特定段上创建表或索引,则该表或索引后续的数据也位于该段上。