代码之家  ›  专栏  ›  技术社区  ›  SelAromDotNet

SQL Server 2005数据库日志文件很大,已满

  •  2
  • SelAromDotNet  · 技术社区  · 15 年前

    首先我要说的是,无论如何,我不是一个sql或sql server专家。我知道如何创建一个数据库和开发一个网站,使用它。除此之外,数据库管理完全失去了我的职责:(

    有人说我卡住了。我的两个数据库的日志文件变得非常大。一个是650MB,另一个是16GB,也就是千兆字节!这两个数据库的数据都不到10MB,所以我无法想象这是怎么发生的。

    我对此做了一些研究,使我相信做一个完整的数据库备份或事务日志备份可以解决这个问题…

    尝试执行完整数据库备份时,收到一个错误,告诉我事务日志已满。所以我试着备份日志

    这很有效,现在如果我做一个完整的数据库备份,我就不会再得到那个错误。

    但是,数据库日志文件的大小仍然与以前相同。

    我也去了心理医生那里,那里说650MB左右的空间是自由空间,但当我告诉它自由空间时,它什么也没做。我没有收到错误信息,它只是关闭,什么也没做。至少我相信它什么也没做,因为我的日志文件仍然很长…

    所以首先,这到底是怎么发生的?!我所做的就是打开我的数据库,到处更改一个列。在另一个数据库里,我甚至都没有这么做!!

    最后,我该如何解决这个问题以便清除日志?

    感谢您的帮助!

    2 回复  |  直到 15 年前
        1
  •  3
  •   Tom Cabanski    15 年前

    除非您需要时间点还原或需要频繁备份,否则听起来您可以不使用日志文件。切换到简单恢复模式。这将导致在每次提交事务后截断日志,而不是等待日志文件备份。

        2
  •  2
  •   D'Arcy Rittich    15 年前
    USE MyDatabase
    GO
    Backup Log MyDatabase WITH TRUNCATE_ONLY
    GO
    DBCC SHRINKFILE (MyDatabase_Log, 1)
    GO
    

    注意,这将使您的备份历史记录无效,因此在使用 TRUNCATE_ONLY 必须执行完全备份。