如何减少事务日志大小(MSSQL数据库)?

OpManager提供广泛的工作流操作:

您将在日志中找到具有以下效果的打印件:原因:java.sql.SQL异常:数据库'OpManagerDB'的事务日志已满。要查明不能重用日志中的空间的原因,请参阅sys.databases中的log_reuse_wait_desc。

检查使用的%:DBCC SQLPERF(LOGSPACE)

清除日志的步骤:

  1. 关闭OpManager服务器。
  2. 请按照以下步骤将恢复模式更改为简单:
    • 进入SQL服务器-->OpManagerDB属性-->选项-->恢复模式-->简单。
  3. 连接到MSSQL服务器-->OpManagerDB。执行以下查询:

    1. DBCC SHRINKDATABASE(数据库名称、目标百分比)例如DBCC SHRINKDATABASE (opmanagerdb,20)
    2. alter database MODIFY FILE (Name = "_log",MAXSIZE=1 GB) - 例如alter database opmanagerdb MODIFY FILE (Name = "opmanagerdb_log",MAXSIZE=1 GB)如果事务日志太大而没有任何备份,就无法压缩。因此,运行这个查询,然后执行上述步骤。

    BACKUP LOG OpManagerDB WITH TRUNCATE_ONLY

  4. 重启OpManager服务器。

确保您升级到最新版本。

如果仍然出现事务日志已满的问题,请检查是否有可用的磁盘空间来保存数据库和事务日志文件。

如果驱动器已满,请将它们移至其他驱动器。