关于sql server:数据库的日志文件已满

关于sql server:数据库的日志文件已满

The log file for database is full

因此,我们的SQL Server 2000给我错误,"数据库的日志文件已满。请备份数据库的事务日志以释放一些日志空间。"

我该如何解决此问题而又不像其他网站提到的那样删除日志?

附加信息:启用自动增长启用后增长10%,限制为40MB。


要将其清空:

1
backup log <dbname> with truncate_only

要将其保存在某处:

1
backup log <dbname> to disk='c:\\somefile.bak'

如果您确实不需要事务历史记录,请尝试将数据库恢复模式设置为简单。


正如您所猜测的那样,Scott:如果您关心数据,则截断日志是一个不好的举动。

以下免费的视频将帮助您准确了解正在发生的事情,并向您展示如何解决问题而不截断日志。 (这些视频还解释了为什么这是一个如此危险的黑客行为,以及为什么您正确地寻求另一种解决方案。)

  • SQL Server备份神秘化
  • SQL Server日志记录要点
  • 了解备份选项

这些视频共同帮助您准确了解发生了什么,并向您展示是要切换到SIMPLE恢复,还是要研究实际更改备份例程。另外还有一些"操作方法"视频,这些视频将向您确切介绍如何设置备份以确保可用性,同时管理日志文件的大小和增长。


如果需要恢复到最新状态或将来做其他有趣的事情(如将来的日志传送),或将数据库设置为简单模式并缩小数据文件,则ether会定期备份数据库日志。

不要复制,重命名或删除.ldf文件,这会破坏数据库,并且从中恢复后,数据状态可能不一致,从而使其无效。


我认为在数据库联机时重命名或移动日志文件是行不通的。

IMO最简单的方法是打开数据库的属性,然后将其切换为简单恢复模型。然后收缩数据库,然后返回并将数据库设置为Full Recoery Model(或所需的任何模型)。

更改日志记录模式将强制SQL Server在数据库中设置检查点,此后缩小数据库将释放多余的空间。


您可能要检查相关的SO问题:

  • 如何清除SQL Server 2005数据库中的事务日志?

过去曾遇到此错误的朋友建议:

尝试

  • 备份数据库。维护计划包括这些文件的截断。
  • 还可以尝试将数据库的"恢复模式"更改为"简单"(例如,代替"完整")

原因:
由于记录了事件,事务日志膨胀(也许您有许多事务失败并被回滚..或服务器上的事务突然达到峰值)


亲爱的朋友,DBA经常检查他的日志文件非常重要。 因为如果有朝一日您对此没有给予太多关注,它将导致此错误。

为此,您必须定期进行备份,以便日志文件不会遇到此类错误。

除此之外,以上给出的建议是非常正确的。


一旦对数据库进行了完整备份,并且数据库未使用简单恢复模型,SQL Server就会保留对数据库上曾经执行的所有事务的完整记录。这样做是为了在发生灾难性故障时丢失数据文件,可以通过备份日志将故障恢复到故障点,一旦恢复了旧的数据备份,就可以恢复日志以重放丢失的数据交易。

为了防止这种情况的累积,您必须备份事务日志。或者,您可以使用BACKUP LOG的TRUNCATE_ONLY或NO_LOG选项在当前点断开链接。

如果不需要此功能,请将恢复模型设置为"简单"。


如果是非生产环境,请使用

1
dump tran <db_name> with no_log;

完成此操作后,请收缩日志文件以释放磁盘空间。最后将数据库恢复模式切换为简单模式。


您有问题的答案:备份日志,然后将其缩小。
制定维护计划以定期备份数据库,并且不要忘记选择"备份事务日志"。这样一来,您就可以将其缩小。


好了,您可以复制事务日志,然后截断日志文件,这就是错误消息的提示。

如果磁盘空间已满,并且您无法通过网络将日志复制到另一台计算机,请通过USB连接驱动器并以这种方式将其复制。


重命名它。例如:
old-log-16-09-08.log

然后,SQL Server可以使用一个新的空服务器。


推荐阅读

    linux数据库升级命令?

    linux数据库升级命令?,系统,信息,时间,最新,网络,名字,地址,管理,简介,传播,l

    linux收集日志的命令?

    linux收集日志的命令?,系统,实时,信息,对比,日志,名称,时间,命令,文件,事件,

    linux取日志的命令?

    linux取日志的命令?,系统,信息,对比,日志,时间,实时,名称,命令,文件,事件,lin

    linux日志拷贝命令?

    linux日志拷贝命令?,系统,信息,下来,服务,位置,数据,文件,命令,日志,指令,Lin

    数据库导出linux命令?

    数据库导出linux命令?,密码,数据,数据库,情况,地址,系统,工具,网上,名字,命

    命令查看linux日志?

    命令查看linux日志?,系统,信息,电脑,最新,对比,日志,名称,官网,实时,异常,lin

    linux日志的命令行?

    linux日志的命令行?,地址,系统,信息,对比,名称,实时,时间,日志,等级,下来,lin

    linux显示错误命令?

    linux显示错误命令?,信息,系统,电脑,状态,时间,环境,命令,搜狐,密码,异常,虚

    linux退出错误命令的?

    linux退出错误命令的?,系统,电脑,环境,命令,位置,管理,工具,设备,终端,进程,L

    linux命令清除日志?

    linux命令清除日志?,系统,软件,信息,最新,首次,传播,情况,工具,日志,管理系

    linux日志命令查询?

    linux日志命令查询?,系统,名称,信息,实时,电脑,对比,最新,日志,命令,环境,Lin

    linux命令打印日志?

    linux命令打印日志?,系统,信息,实时,对比,情况,日志,命令,位置,标准,数据,怎

    linux追踪日志命令?

    linux追踪日志命令?,系统,实时,信息,对比,日志,服务,名称,情况,命令,文件,如

    linux恢复数据库命令?

    linux恢复数据库命令?,工具,系统,软件,数据,盘中,密码,命令,备份,数据库,文

    linux没有该命令错误?

    linux没有该命令错误?,系统,第一,环境,命令,分析,软件,异常,文件,目录,空格,

    linux实时读日志命令?

    linux实时读日志命令?,系统,信息,实时,工作,对比,管理,时间,命令,日志,平均,L

    linux实时读日志命令?

    linux实时读日志命令?,系统,信息,实时,工作,对比,管理,时间,命令,日志,平均,L

    linux日志切割命令?

    linux日志切割命令?,服务,系统,工具,名字,时间,日志,网上,资料,信息,数据,Ngi

    linux替换日志命令?

    linux替换日志命令?,服务,系统,软件,代码,信息,文件,日志,首次,可取,工具,lin

    linux命令大全数据库?

    linux命令大全数据库?,服务,系统,平台,状态,软件,通用,环境,数据,神州,地址,