凤凰新媒体 版权所有 不得转载 lawyer@ifeng.com
京ICP证030609号 本站通用网址:凤凰网
客服电话:(010)84458487 客服邮箱blog@ifeng.com
Unix下作的试验,数据库是Sybase,没办法呀!用PB,仅供参考
1. 备份数据库
为防止在清空后出现不可预见的问题,先备份数据库。
2. 创建bcp out脚本并利用SQL Server 提供的工具导出数据
* 创建包含下列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
特别注意:
当用truncate table清空数据库时,索引并没有改变,所以必须用update statistics来确保索引的统计信息对应当前表数据的统计。
请登录以后再发表评论。