SQLserver2000如何删除数据

最近遇到一个问题,公司的一个停车场项目中,使用SQLserver2000数据库,运行了一段时间后,发现数据文件变得非常大——已经超过80G。使用停车场软件查询数据时非常卡,又是还会导致服务器假死。
有没有什么办法删除一些数据啊,比如只保留最近3个月的数据,或是有什么办法查询数据时不卡死服务器?清除或压缩日志行不行?
对了,本人对SQL语言不是很熟

第一、如果你对SQL不熟悉。各种办法对你都不一定行得通。
第二、就算你SQL熟悉,你也要先知道是那张表数据量大,要知道表结构才行。
第三、就算数据删除了也不一定能提高查询速度(关键在语句优化上)。
所以,建议你请一个专业点的人,对你的数据库进行分析,制定一个详细的数据库优化方案。(包括数据迁移、整理、备份、删除等,比如需要生成一些月度或年度的数据表格等,不然你删除了数据,以后要查询历史数据就没地方可查了)
语句不要随便试,小心把不该删除的数据删掉了。
我在北京,如果你也在北京,我愿意帮你。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-01-15
1,开始--程序--sql server 2000--查询分析器
2,在查询分析器里输入:use 你的数据库名称 按F5 执行
3,delete 表名 where rq<'日期'
例如:delete 表名 where rq < '2011-12-31 23:59:59' 删除的是 2011-12-31 23:59:59 以前的数据
rq 为表内 日期字段的字段名,如果你不懂你的表里日期的字段名是什么你可以先查出一条看看:
select top 1 * from 表名
1,千万别用 where rq between '' and '' 会造成全表扫描,太慢了
2,建议分批次删除,80G的数据,太多了,如果你磁盘不够的话,删不了的,删除的时候会产生日志,导致你磁盘满。慢了就无法继续写入日志。大概是这样吧,嘿嘿,那次我去删数据,就出现这样的事情
第2个回答  2012-01-19
可以删除先把之前的数据删除,之后做一个小的软件 用于删除每天的数据这样你的数据就不会太多了,但是一般程序都不建议由删除,删除要是勿操作会和麻烦的
第3个回答  2012-01-14
建一个维护计划 比如每周运行一次 删除3个月以前数据 删除完后收缩数据文件追问

建了一个维护计划,但是数据没有删除,还是80G大,而且维护计划上写的是“删除早于此时间的文件”,似乎是说——删除的是早于当时的“备份文件”,实际上数据还是没有变。

追答

我汗 维护计划也可以写SQL语句的 你用SQL语句删除就可以了撒
比如 delete from 表 where datediff(m,数据时间,getdate())>3

本回答被网友采纳
第4个回答  2012-01-15
定期(如每个季度) 将旧的数据转移到另外一个数据库,然后再在原来的数据库删除这些数据.这样软件的速度就非常快了(而且最安全)。