首页 新闻 会员 周边 捐助

SQL Server 数据库不断增大的问题?

0
悬赏园豆:10 [已解决问题] 解决于 2015-07-09 07:20

SQL Server 数据库只是作为查询数据库,原来大小1.2G左右,无写入操作,但使用半年来,已经增长到2.7G。

不知道是什么原因导致它增大的,所有代码都是我写的,所以我知道,根本没有对数据库进行写操作,为什么这么大?

这是不包含日志文件的mdf文件的大小,已经Shrink也没有用,各位有什么高招没?

问题补充:

三天前数据库大小只有1.7G,我导入了一批数据,脚本只有8M大小的一批数据,今天看了下数据库,竟然涨到2.8G, 天哪 ! 这是我的个人数据库,这个网站也几乎只有我一个人在用,在本机上部署。

我觉得这个数据库的真实大小应该在1G左右,因为数据都是我导入的,使用sql compact 数据库,只有700M左右。

使用Sqlite也只有不到1G的大小啊。

空明流光的主页 空明流光 | 初学一级 | 园豆:111
提问于:2015-07-04 18:42
< >
分享
最佳答案
0

有一种东西叫做索引碎片。

收获园豆:4
请叫我头头哥 | 大侠五级 |园豆:9382 | 2015-07-05 01:16

能干掉么,怎么弄?

空明流光 | 园豆:111 (初学一级) | 2015-07-05 09:27

@沧海一杰: 

SELECT page_count,avg_page_space_used_in_percent,record_count,avg_record_size_in_bytes,avg_fragmentation_in_percent,fragment_count 
  FROM sys.dm_db_index_physical_stats
  (DB_ID('Nx'),object_id('dbo.Person'),NULL,NULL,'sampled')

你先看看索引随便大不大, 再考虑是否清理

请叫我头头哥 | 园豆:9382 (大侠五级) | 2015-07-05 11:18

查出来结果很多,主要看哪一个呢?我想清掉,不管性能,只有能保留表数据和基本功能就行。因为我需要一个干净的最小的数据库要打包用。这个太大了,太占空间了

空明流光 | 园豆:111 (初学一级) | 2015-07-05 11:30

@沧海一杰: 这个问题我去年也曾经找地解决方案,但一直没有解决

空明流光 | 园豆:111 (初学一级) | 2015-07-05 11:34

@沧海一杰: 主要看这个字段 avg_record_size_in_bytes~  你可以看看大不大。 然后决定是否删除。

请叫我头头哥 | 园豆:9382 (大侠五级) | 2015-07-05 16:36
其他回答(2)
0

索引也是要占空间的,会不会是索引占据的?

收获园豆:4
liqipeng | 园豆:1160 (小虾三级) | 2015-07-04 20:31

能干掉么,怎么弄?

支持(0) 反对(0) 空明流光 | 园豆:111 (初学一级) | 2015-07-05 09:28

@沧海一杰: 搜索一下数据库索引,了解一下它的作用,再考虑“干掉”的问题。这项目就是这么缺硬盘空间吗??

支持(0) 反对(0) liqipeng | 园豆:1160 (小虾三级) | 2015-07-05 11:06

@liqipeng: 缺,这个我准备部署成一个安装包,给别人直接部署到单机上。

支持(0) 反对(0) 空明流光 | 园豆:111 (初学一级) | 2015-07-05 11:21

@沧海一杰: 索引还是要保留的,不然会影响查询速度的。可以重建索引来回收一定的磁盘空间,

如何重新生成索引 (SQL Server Management Studio)

支持(0) 反对(0) liqipeng | 园豆:1160 (小虾三级) | 2015-07-05 12:06

@liqipeng: 忽略性能,这个查询很快的,所有人都能接受。关键是大小。

支持(0) 反对(0) 空明流光 | 园豆:111 (初学一级) | 2015-07-05 12:08

@沧海一杰: 还有主键约束和唯一约束自动创建的索引是不能删除的。

可以考虑将数据做成sql脚本,写个批处理用sqlcmd命令执行导入。

支持(0) 反对(0) liqipeng | 园豆:1160 (小虾三级) | 2015-07-05 12:39

@liqipeng: @请叫我头头哥: 我忘记了重要的一点,可能我的空间增大是物化视图引起的。

支持(0) 反对(0) 空明流光 | 园豆:111 (初学一级) | 2015-07-08 10:26

@沧海一杰: 原来还有这个没想到的,哈哈😄😄😄

支持(0) 反对(0) liqipeng | 园豆:1160 (小虾三级) | 2015-07-08 10:44
0

看看是不是日志占用太多空间了

收获园豆:2
I,Robot | 园豆:9783 (大侠五级) | 2015-07-05 10:02

说了,不算日志,我已经把日志功能禁掉了,以前的日志删掉了

支持(0) 反对(0) 空明流光 | 园豆:111 (初学一级) | 2015-07-05 11:35

@沧海一杰: 算上日志都快5G了,导入到SqlLite里就几百M

支持(0) 反对(0) 空明流光 | 园豆:111 (初学一级) | 2015-07-05 11:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册