我有一个数据文件大小为 674 MB 和事务日志为 6.1 GB 的数据库。事务日志大约是数据文件的 10 倍。
事务日志设置如下图所示。
服务器不断地用完空间,这个事务日志占用了大约 11% 的总磁盘空间。我想让这个事务日志文件更小。
我可以通过切换到限制文件增长 [MB] 来简单地更改“最大文件大小”:并将大小设置为 80 MB?
我有一个数据文件大小为 674 MB 和事务日志为 6.1 GB 的数据库。事务日志大约是数据文件的 10 倍。
事务日志设置如下图所示。
服务器不断地用完空间,这个事务日志占用了大约 11% 的总磁盘空间。我想让这个事务日志文件更小。
我可以通过切换到限制文件增长 [MB] 来简单地更改“最大文件大小”:并将大小设置为 80 MB?
我更喜欢限制到不受限制。
如果某些过程出错,那么我不希望日志文件不断增长并填满磁盘。我宁愿数据库停止工作,也不愿整个服务器/SQL Server 实例停止工作。
但是,在这种情况下,您会遇到不同的问题:很可能是“完整”恢复并且没有日志备份。更改为简单,将日志缩小到 500MB,允许增长为 250MB,最大设置为 2GB。
不建议限制事务日志文件的增长,因为这会干扰数据库记录事务的能力。
如果这是一个非生产机器,或者您从不打算进行时间点恢复,您可以将数据库恢复选项切换为“简单”。在每个检查点之后,日志将被自动截断,从而防止增长(除非你在一个事务中做大量的工作)。
将数据库设置为简单模式,截断日志,缩小日志,将自动增长设置为 128MB,然后您就可以开始使用了。
有时您将无法从数据库中减小日志文件的大小
property window
。您可能会收到一条错误消息:“新文件大小当前小于当前文件大小...”。但是,您可以尝试以下步骤:ALTER DATABASE Your_DB_Name SET RECOVERY SIMPLE
.DBCC
使用或收缩日志文件SSMS
。database property
在窗口中设置您想要的文件增长设置。ALTER DATABASE Your_DB_Name SET RECOVERY FULL
.正如@gbn 所表达的,我也更喜欢将文件置于受限增长之下。如果文件填满了驱动器并且您没有任何额外空间,那么您可能无法在稍后影响同一驱动器上具有数据/日志文件的所有 DB 时缩小文件。