大数据量的数据表备份问题,各位大侠提提高见!

startray 2009-02-26 04:27:28
我有一张数据表,越来越庞大,现在有将近10亿条的数据。
新增没事,有时要查点东西,就很慢啦。所以我想一个月清理一次,按时间把数据取出来放到历史数中并且 备份成文件。如果那天要用的话,可以恢复再用。如下这样:

例有一张表:
A
id name date
1 张三 2009-01
。。。。

我用select * into AHistory200901 from A where date='2009-01' 这样创建新历史数据表。

再备份成一个数据文件,需要时可以再恢复成Ahistory200901这样。备份完成后删除该临时表
备份及恢复这一步不知如何操作?各侠大侠有高见吗?指导一下。谢谢啦

强调一下:是表的备份不是数据整个备份。恢复也是表的恢复不是库的恢复
...全文
119 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
bber01 2009-05-22
  • 打赏
  • 举报
回复

/*for sql server 2000*/
/*backup*/
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE table_name = 'Backup_Table') DROP TABLE Backup_Table

select *
into Backup_Table
from Source_Table


/*restore*/
delete * from Source_Table

insert into Source_Table
select * from Backup_Table
startray 2009-02-26
  • 打赏
  • 举报
回复
嗯。楼上的到是一个方法。
说说你当时在文件检索里用的手段
Liyingyue_FFS 2009-02-26
  • 打赏
  • 举报
回复
曾经用过的一个方案,建立366张天表,然后每天往相应日期的表里入数据,同时BCP导出该日期前60天(可更改)的数据,并truncate掉前60天的表,这样就可以了。

需要检索历史数据的时候,数据库里存放了60天的,60天以外的可以在文件里面检索
startray 2009-02-26
  • 打赏
  • 举报
回复
楼上各位
没有办法对一个表进行备份吗?之所以想备份,是因为它占地儿,1百多个G啦。受不了呀这个大
zhfpoet 2009-02-26
  • 打赏
  • 举报
回复
安日期取表名了,一天生成一个表,或者一个月生成一个表了。
ChinaJiaBing 2009-02-26
  • 打赏
  • 举报
回复

那你不如定期插入一张新表,不要临时表。
用哪个表,就调用哪个表...
startray 2009-02-26
  • 打赏
  • 举报
回复
楼上
要是用一个表还是会有问题的。时间久啦,这个表数据越来越多,最后没法查啦都。我分开就是因为想以后查询用
快乐_石头 2009-02-26
  • 打赏
  • 举报
回复
--可以專門用一個表(增加個時間字段)放歷史數據,沒必要用那嚜多表
insert AHistory select * from from A where date='2009-01'

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧