2

我的数据库表日志文件很大。表本身是 60 mb,但日志文件是 2gb。有没有办法阻止这个日志文件像暂停它一样增加。我知道我在表格上写了很多,所以日志很大。此外,当我查看数据库的大小时,大小就像 2.9gb,因为它包括日志文件。

有没有办法我可以说停止写入日志文件以管理系统中的空间?我是否应该考虑停止日志写入?这是一个好主意吗?

4

2 回答 2

9

您不能完全停止日志写入,即使可以,也不应该这样做。您可以做的是确定您是否希望能够恢复到某个时间点。如果这对您很重要,那么您应该保持完全恢复模式并开始运行定期事务日志备份。

如果时间点恢复对您来说不重要,那么您可以切换到简单恢复模式:

ALTER DATABASE dbname SET RECOVERY SIMPLE;

一旦您(a)执行了完整备份和至少一个日志备份或(b)切换到简单恢复模式,您应该能够将日志文件缩小到合理的程度(关于什么没有真正好的答案在没有更多信息的情况下是“合理的”):

USE dbname;
GO
DBCC SHRINKFILE(dbname_log, 100); -- 100 MB

这个关于数据库管理员的问题也很有用。

于 2012-08-21T23:46:46.637 回答
1

事务日志是 SQL Server 的基本组成部分——没有它就无法工作。

如果这是一台开发机器(不是生产机器!),您可以将恢复模式设置为简单:ALTER DATABASE MyDB SET RECOVERY SIMPLE;

或者,查看使用DBCC SHRINKFILE定期收缩文件。

于 2012-08-21T23:46:38.290 回答