我有以下问题。 我们有存储二进制文件在数据库的数据库。 我们知道数据库的大小可大了,所以我们取消了所有从数据库中的二进制文件和使用它的任务“缩水”。 这样,我们希望该数据库将小得多。 这些结果如下:

之前去除大小为:20千兆字节 去除尺寸后:25千兆字节(包括日志文件) 收缩后尺寸是:13千兆字节

现在我不知道在哪里,有13个演出是在数据库中最大的表是logtable,它的1.3演出所有其他组合不采取200 MB ...

会不会是依然存在的收缩任务不能删除日志文件的一些数据? 是一个用于此问题的解决方案?

有帮助吗?

解决方案

如果您的恢复模式为“完全”和你没有备份,然后缩减事务日志那么它可能仍然保持很大。

根据您的情况,第的收缩事务日志的最简单的方法之一是你的恢复模式设置为简单,然后收缩事务日志文件,然后设置恢复模式回满。但是,如果这是一个生产系统,你可能需要在时间点恢复,那么你应该执行事务日志备份来代替。

其他提示

要获得关于空间使用情况的更多信息,你可以尝试:

EXEC sp_spaceused;

请记住设立事务日志备份(不只是数据库备份,因为他们将无法保持日志小,你已经发现了)你把罗宾日的意见后与收缩日志或日志将刚长出大一次。我们的事务日志备份每隔15分钟。你的时间表可能需要更多或更少频繁取决于你有多少数据得起,如果你有一个失败的损失。最起码我会每天做日志备份只是为了保持日志合理的大小。

一种可能性是,该表已删除的数据从一个堆(意味着没有聚簇索引),并且当从堆删除分配给表的空间不一定会被释放。检查本文来自MS: http://support.microsoft.com/kb/913399

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top