当前位置: 代码迷 >> Sql Server >> 本地单服务器有限存储空间下大量数据存储时怎么维护数据库以保证其正常运行
  详细解决方案

本地单服务器有限存储空间下大量数据存储时怎么维护数据库以保证其正常运行

热度:40   发布时间:2016-04-24 10:36:43.0
本地单服务器有限存储空间下大量数据存储时如何维护数据库以保证其正常运行?
本人新手,求问大牛解决方案:
应用环境:3W元左右服务器一台,硬盘大概是500G。使用Sqlserver2008R2数据库,windows server 2003系统。

问题说明:本例运行在脱离网络的小型储能工作站中,用来存储实时数据使用。 现数据库中有6张表,其中4张表均在180-260个字段左右,另外两张为2字段200行固定。
        现字段较多的4张表均需要每1秒存储1条记录,那么问题出现了,以这个速度存将会出现大量数据(每天每张表记录86400行,那么连续运行1个月后4张表的记录总和为10368000),照这个速度下去,程序连续运行几个月至1年,不知道500G够不够用,不够用的话在不增加硬盘的前提下应该怎么处理?压缩数据?我现在已经用了行压缩,不知道是否可行?如果实在不行考虑定期删除久于1个月的数据,如果实现?
------解决方案--------------------
历史数据要求保存多久的记录?如果只要求保留最近一个月的就比较简单了。做一个定时作业,每天或者每个周删除前面的所有记录。 定时作业的方法在网上有很多,在这里就不贴了,楼主可以自己去查查。
------解决方案--------------------


如果特殊意外发生,系统允许一定量的数据丢失,那么建议先把数据库的恢复模式设置为simple。不允许就需要对数据库做备份或者日志备份。这样可减少日志文件的不停增长,从而节省部分空间。

然后考虑处理掉历史数据。历史数据如果重要,可以考虑迁移走。如果不重要,直接删除
------解决方案--------------------
每次“分离”的操作,都以单独的一次备份来替代,假设你每天打算分离一次并附加,你就换成每天备份一次,然后把备份文件还原到你本身打算附加的服务器上。sqlserver本身提供了备份还原功能,用分离附加这种暴力方式总有一天你会选择放弃SQL Server的,我的文章还没出来,你自己百度一下如何备份还原sqlserver吧。
------解决方案--------------------
只要有服务,可以不用SSMS,SSMS只是微软提供的客户端操作工具,SQLCMD也可以用来写SQL脚本的。你可以看看联机丛书中的BACKUP命令,上面有说如何备份到目标目录中,你的程序可以直接调用写好的语句即可
------解决方案--------------------
按照你的计算,如果管理合理,500G能用个半年甚至一年,先做好空间管理和监控,算一下数据库到达250G的时候用了多久,假设你真的能存一年,那一年之后,把数据备份成一个bak文件,然后清空上面的用户数据