sybase数据库优化(也可用作更改字符集问题的数据处理方法)

1. 备份数据库

  为防止在数据库碎片整理过程中出现不可预见的问题,有必要先备份数据库。

2. 创建bcp out脚本并导出数据

  • 创建包含下列SQL语句的文件:
    cre_bcp_out.sql
    select “bcp” + name + “out ./” + name + “_out.txt -Udboname -Pdbopwd -Ssys_name -c”
    from sysobjects where type = ‘U’
    order by name
    go
  • isql -Udboname -Pdbopwd -Ssystemname < cre_bcp_out. sql > b_out
  • 编辑输出文件,去掉文件第一行和最后两行无关的字符:vi b_out
  • 执行脚本,将数据库的数据导出到文本文件:sh b_out

3. 创建truncate table脚本并截断数据库

  • 创建包含下列SQL语句的文件:
    cre_trunc_out.sql
    select “truncate table” + name from sysobjects where type = ‘U’
    order by name
    go
  • isql -Udboname -Pdbopwd -Ssystemname < cre_ trunc_out. sql > trunc_out. sql
  • 编辑输出文件,去掉文件第一行和最后两行无关的字符,并在最后一行加入 go构成完整的SQL语句:vi trunc_out
  • 执行以下语句,清空数据库的数据:
    isql -Udboname -Pdbopwd < trunc_out. sql

4. 创建bcp in脚本并导入数据

  • 创建包含下列SQL语句的文件:
    cre_bcp_in. sql
    select “bcp” + name + “in ./” + name + “_out.txt -Udboname -Pdbopwd -Ssys_name -c”from sysobjects where type = ‘U’
    order by name
    go
  • isql -Udboname -Pdbopwd -Ssystemname < cre_ bcp_in. sql > b_in
  • 编辑输出文件,去掉文件第一行和最后两行无关的字符:vi b_in
  • 从文本中导入数据:sh b_in

5. 更新数据库状态

  Sybase不自动维护索引的统计信息,当用truncate table截断数据库时,索引并没有改变,所以必须用update statistics来确保索引的统计信息对应当前表数据的统计。

  • 创建包含下列SQL语句的文件:
    cre_upd_st. sql
    select “update statistics” + name from sysobjects where type = “U” order by name
    go
  • isql -Udboname -Pdbopasswd -Ssystemname < cre_upd_st. sql > upd_st. sql
  • 编辑输出文件,去掉文件第一行和最后两行无关的字符,在最后一行加入 go构成完整的SQL语句:
    vi upd_st. sql
  • 更新数据库状态:
    isql -Udboname -Pdbopasswd -Ssystemname < upd_st. sql
    至此,基本上完成了数据库用户表的碎片整理工作。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Sybase参考手册史上最完全版,共四本,这是第二本 《命令》 《Adaptive Server 参考手册》包含有关 Sybase® Adaptive Server® Enterprise 和 Transact-SQL® 语言的四本指南: • 《构件块》介绍了 Transact-SQL 的各个部件:数据类型、内置函 数、全局变量、表达式、标识符、保留字和 SQLSTATE 错误。 要想成功使用 Transact-SQL,您首先必须了解这些构件块的功 能,以及它们对 Transact-SQL 语句执行结果的影响。 • 《命令》提供了有关用于创建语句的各种 Transact-SQL 命令的 参考信息。 • 《过程》提供了有关系统过程、目录存储过程、扩展存储过程和 dbcc 存储过程的参考信息。所有过程都是使用 Transact-SQL 语 句创建的。 • 《表》提供了有关系统表的参考信息。系统表用于存储有关服务 器、数据库和用户的信息,以及服务器的其它详细信息。它还 提供有关 dbccdb 和 dbccalt 数据库中的表的信息。 约定以下各部分将说明在这些参考手册指南中使用的约定。 SQL 是一种形式自由的语言。没有规定每一行中的单词数量或者必 须换行的地方。然而,为便于阅读,本手册中所有示例和大多数语 法语句都经过了格式设置,以便语句的每个子句都在一个新行上开 始。有多个成分的子句会扩展到其它行,这些行会有缩进。复杂命 令使用已修改的 Backus Naur Form (BNF) 表示法进行了格式处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值