我说的是数据文件,不是日志文件
日志文件我知道怎么干掉
数据文件一天可以增加几百兆。。频繁删除的那个表 unused一天加个几百兆没问题
数据库收缩好像没用,shrinkdatebase之类的命令也没用,重建索引页没用
上网一查,大家都说要先把数据copy走,然后TRUNCATE ,然后把数据移回来,个人觉得这个挺恶心的,请问有啥更好的办法不?
日志文件我知道怎么干掉
数据文件一天可以增加几百兆。。频繁删除的那个表 unused一天加个几百兆没问题
数据库收缩好像没用,shrinkdatebase之类的命令也没用,重建索引页没用
上网一查,大家都说要先把数据copy走,然后TRUNCATE ,然后把数据移回来,个人觉得这个挺恶心的,请问有啥更好的办法不?
我试了一下dbcc shrinkfile确实不起作用
收缩数据库TEST 到2M大小。
应该可以收缩。
DBCC SHRINKFILE(1)
或
DBCC SHRINKFILE(表名)
我最开始试了试发现好像不起作用,其实仔细看小了一点点,
一怒之下写了个脚本declare @i int
set @i=500
while @i>0
begin
dbcc shrinkfile(1)
set @i=@i-1
end
GO然后发现确实把unused空间全消掉了。
挺搞笑的命令,居然一次只消一点点,简直就是恶心人。楼上说的例子:DBCC SHRINKFILE (N'TEST' , 2)我还没试,等明天多了几百兆再试这个命令看是不是可以只要运行一次...
先把数据copy走,然后TRUNCATE ,然后把数据移回来,个人觉得这个挺恶心的。其实这个也是一个没有办法的办法
过一会在执行一个命令可能就有效果了更科学的方法是使用while 里面加一个 waitefor
然后定时任务,每晚重建聚集索引,然后DBCC SHRINKFILE