以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  数据库小白问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=116072)

--  作者:lur320
--  发布时间:2018/3/19 15:24:00
--  数据库小白问题
数据库备份的问题,如下代码

BACKUP DATABASE 数据库名称
To DISK = \'D:\\test3888.bak\'     
With FORMAT,CHECKSUM;

备份相当于将现有的数据复制到另外一个文件里面,正在使用的数据库并不会减小体积。

我的问题是如何保持目前数据库一个比较小的体积?

1. 是否是做完全备份后删除现有库中太旧的数据?(备份文件是全的)

2. 如果这样做了,做报表的时候需要抓历史旧数据就要重新定位数据源地址了,是不是?

--  作者:有点甜
--  发布时间:2018/3/19 15:29:00
--  

如果要压缩数据库体积,那就用数据库的收缩功能,如

 

https://www.baidu.com/baidu?wd=sqlserver+%E6%94%B6%E7%BC%A9

 

历史数据,如果还有价值,都不应该删除的。数据库体积对性能影响不大,你在foxtable加载的时候,也不需要加载全部数据。


--  作者:lur320
--  发布时间:2018/3/19 15:30:00
--  
动态加载是客户端的效率问题,而我是担心放了二进制列,客户上传了太多的附件,导致太旧的数据积累太多,服务器吃不消。
--  作者:有点甜
--  发布时间:2018/3/19 15:58:00
--  

如果数据量太大,可以分库、分表,比如一年一个库,一年一个表。


--  作者:lur320
--  发布时间:2018/3/19 16:24:00
--  
用备注列的文件列是一个办法,目录地址写死,只能上传一个文件到公共盘。然后只有权限的人可以变更链接的文件。