Sybase ASE 15.7 reorg rebuild

时间:2015-04-02 08:02:31

标签: sybase sybase-ase

有没有办法自动重建sybase表?我们可以使用作业调度程序或脚本吗?

1 个答案:

答案 0 :(得分:0)

可以使用Job Scheduler或批处理/ shell脚本运行Reorgs。您必须生成要以编程方式重组的表列表,因为没有自动执行此操作的命令。

有两种方法,一种是使用'optdiag'命令检查表运行状况,并使用该信息动态决定要重组的表。有关'optdiag'的更多信息,请查看我对this question的回答

另一种方法只是reorg everything,我只建议小型数据库使用。可以使用以下SQL生成脚本来执行此操作 首先,必须将数据库选项“into / bulkcopy / pllsort”设置为true才能运行reorg rebuild

use master
go
sp_dboptions <dbname>, "select into/bulkcopy/pllsort", true
go

以下代码生成一个脚本,然后可以针对服务器运行该脚本以重建表。根据您生成此文件的方式,如果文件的第一行包含列标题,则可能必须删除该文件的第一行。

use <DBNME>
go

set nocount on
select "reorg rebuild "+ name + char(10) + "go"
from sysobjects
where name not like "sys%"                   //excludes system tables
go