sql数据库收缩问题
数据库不超过10张表,有三张在两万条数据左右,其他都没什么数据,出来后要160M.
无奈现在的虚拟主机都是送个100-200M的数据库,所以呀,哪位指点一下,让我把这160M收缩一下(sql自带的截断日志,收缩我知道的)。估计要从字段类型方面入手?或者其他方面,总之能减到100M下最好。
[解决办法]
DBCC SHRINKFILE
收缩数据库文件和日志文件,能释放一些空间出来
但是突破200 是很容易的,如果你的数据量增量太大,那只好付费了。
[解决办法]
1、检查字段数据类型,比如datatime,如果业务允许,换成smalldatetime,可以减少一半存储空间。即换成小类型。
2、如果不是重要的业务,把日志收缩截断后,设为简单模式。
[解决办法]
USE Luxim_Test_DB;
GO
-- Truncate the log by changing the database recovery model to SIMPLE.
ALTER DATABASE DB_NAME
SET RECOVERY SIMPLE;
GO
-- Shrink the truncated log file to 10 MB.
DBCC SHRINKFILE ([DB_NAME_log], 10);
GO
-- Reset the database recovery model.
ALTER DATABASE DB_NAME
SET RECOVERY FULL;
GO
[解决办法]
数据是要增长的,不可能一直收缩后保持在200M内,暂时的还行,长期就不太靠谱了!
[解决办法]