SQLSERVER2000 把旧数据存储到另外一个数据库中

由于使用时间过长,导致数据库文件越来越大,访问速度也相对变慢。有没办法,把2013之前的数据移植到另外一个数据库中,然后需要访问的时候,调用旧数据就可以了。如果可以解决这... 由于使用时间过长,导致数据库文件越来越大,访问速度也相对变慢。
有没办法,把2013之前的数据移植到另外一个数据库中,然后需要访问的时候,调用旧数据就可以了。
如果可以解决这个问题,悬赏分在追加100
数据库已经用了几年了,所以不是单纯的只是数据移植

你想用了几年的数据库,代码文件也非常之多,你不可能每个页面去改。
展开
 我来答
拐角挖个坑
2014-06-03
知道答主
回答量:24
采纳率:0%
帮助的人:10.8万
展开全部
可以使用select into 新表 from 旧表,
insert into 新表 select 旧表
或数据库备份创建新库再还原
进行表或数据库的复制。
复制完把旧库中的2013之前的删掉就行,注意做好数据库备份,防止误删!
访问的时候如果是使用存储过程访问的话就好办些,修改过程判断查询时间段在2013之前访问新库,之后访问旧库,数据库跨库查询需要在表名前加上数据库名称。
如果是程序直接连接数据库访问的话,就只能修改程序了,在查询的时候判断时间,访问不同的数据库,使用不同的数据库连接字符串
更多追问追答
追问
数据库已经用了几年了,所以不是单纯的只是数据移植

你想用了几年的数据库,代码文件也非常之多,你不可能每个页面去改。
追答
那就数据库备份,新建一个数据库然后把数据还原进去,
数据量小的表就没什么必要每个页面去改,
大数据量的表访问,如果是走的存储过程访问,在存储过程里加个时间判断。
如果是走的程序就在数据库访问层判断时间使用不同的数据库连接字符串。
你既然想分库查询不同时间段的数据肯定要对查询的时间段进行判断
战地密报
推荐于2016-08-27 · TA获得超过211个赞
知道小有建树答主
回答量:424
采纳率:0%
帮助的人:160万
展开全部
insert into 备份库.dbo.数据表
select * from 数据表 where year(日期)<2013

然后需要写两个SQL链接字符串,分别指向2个数据库,根据访问条件,取不同的查询字符串
更多追问追答
追问
数据库已经用了几年了,所以不是单纯的只是数据移植

你想用了几年的数据库,代码文件也非常之多,你不可能每个页面去改。
追答
·但是对于以前的数据肯定只是查询操作,所以建一个一样的空表的库就行了,非要在这个备份库上增删改·备份库上存储过程什么的加上也无所谓。建好后,针对性的,对于哪个表的数据大,就给他移植过去就行了。
你说的每个页面改代码,我不明白哪个地方牵扯到了页面。
你也可以进行索引重建,数据分区等方法给数据库优化。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式