SQL Server中缩小的日志文件的文件大小没有变化

时间:2017-09-20 10:06:04

标签: sql-server sql-server-2008 logfiles shrink

我为一个组织工作,我遇到了一个无法收缩日志文件的问题。 600 GB硬盘驱动器中的SQL服务器数据库消耗400 GB。 日志文件大小约为350 GB。

我尝试缩小日志文件,但大小保持不变。 我的数据库的恢复模型是SIMPLE。

我已经浏览了有关建议备份日志文件然后尝试收缩的在线帖子。但是我的驱动器上没有足够的可用空间来保存日志备份。(注意:我只有一个驱动器在我的系统中,我不应该在外部驱动器上备份。)

将整个数据库移动到不同的驱动器有帮助吗? 任何解决方案?

3 个答案:

答案 0 :(得分:0)

您有一个开放的交易。杀死所有连接,然后再试一次。

答案 1 :(得分:0)

  

我尝试缩小日志文件,但大小保持不变。该   我的数据库的恢复模型是SIMPLE。

     

我已经浏览了有关建议的在线帖子   备份日志文件,然后尝试收缩。

如果您的数据库位于<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24"> <path d="M13.333 9.333V7.746c0-.717.159-1.08 1.271-1.08H16V4h-2.33c-2.853 0-3.795 1.308-3.795 3.554v1.78H8V12h1.875v8h3.458v-8h2.35L16 9.333h-2.667z"/> </svg>,则无法进行日志备份。

相反,您应该发出一次或多次:

SIMPLE

如果CHECKPOINT; DBCC SHRINKFILE... 显示log_reuse_wait_desc / NOTHING,这将有所帮助。

如果它显示任何其他内容,你应该消除它在

上显示的原因

答案 2 :(得分:0)

如果数据库处于SIMPLE模式,请将日志的文件大小更改为较小的值,最低为1 MB。服务器会将其大小尽可能小。

但是,请注意,日志文件的大小应包含所有活动事务。在您的示例中,在某个时间点,您正在进行350GB的事务处理。请注意,现有的服务器活动可以防止它缩小到所需的大小。

在简单模式下,只有当一个失控的事务吹掉日志时,缩小日志文件才有意义。否则,缩小日志文件不会解决任何问题并影响性能,因为服务器必须立即再次增加日志文件以进行新事务。

您可以而且应该将日志文件移动到与数据库文件不同的驱动器。