`

数据库日志已满

    博客分类:
  • SQL
阅读更多
今天去查询历史库存表,发现6天的记录都没有被自动保存,运行备份语句,提示"数据库xxx日志已满。请备份该数据库的事务日志以释放一些日志空间。" 网上查了下相关资料,找到下面这个最好用的,.(本人只试过了前三步就OK了,后面的方法未验证)
--压缩日志及数据库文件大小  
   
  /*--特别注意  
  请按步骤进行,未进行前面的步骤,请不要做后面的步骤  
  否则可能损坏你的数据库.  
  --*/  
   
  1.清空日志  
  DUMP     TRANSACTION     数据库名     WITH     NO_LOG          
   
  2.截断事务日志:  
  BACKUP   LOG   数据库名   WITH   NO_LOG  
   
  3.收缩数据库文件(如果不压缩,数据库的文件不会减小(sql2000和sql2005类似)   
  右键你要压缩的数据库--所有任务--收缩数据库--收缩文件  
  --选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了  
  --选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
   
   
  也可以用SQL语句来完成  
  --收缩数据库  
  DBCC   SHRINKDATABASE(客户资料)  
   
  --收缩指定数据文件,1是文件号,可以通过这个语句查询到:select   *   from   sysfiles  
  DBCC   SHRINKFILE(1)  
   
  4.为了最大化的缩小日志文件(如果是sql   7.0,这步只能在查询分析器中进行)  
  a.分离数据库:  
  企业管理器--服务器--数据库--右键--分离数据库  
   
  b.在我的电脑中删除LOG文件  
   
  c.附加数据库:  
  企业管理器--服务器--数据库--右键--附加数据库  
   
  此法将生成新的LOG,大小只有500多K  
   
  或用代码:    
  下面的示例分离   pubs,然后将   pubs   中的一个文件附加到当前服务器。  
   
  a.分离  
  EXEC   sp_detach_db   @dbname   =   'pubs'  
   
  b.删除日志文件  
   
  c.再附加  
  EXEC   sp_attach_single_file_db   @dbname   =   'pubs',    
        @physname   =   'c:\Program   Files\Microsoft   SQL   Server\MSSQL\Data\pubs.mdf'  
   
  5.为了以后能自动收缩,做如下设置:  
  企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩"  
   
  --SQL语句设置方式:  
  EXEC   sp_dboption   '数据库名',   'autoshrink',   'TRUE'  
   
  6.如果想以后不让它日志增长得太大  
  企业管理器--服务器--右键数据库--属性--事务日志  
  --将文件增长限制为xM(x是你允许的最大数据文件大小)  
   
  --SQL语句的设置方式:  
  alter   database   数据库名   modify   file(name=逻辑文件名,maxsize=20) 

特别注意:
  请按步骤进行,未进行前面的步骤,请不要做后面的步骤
  否则可能损坏你的数据库.
  一般不建议做第4,6两步
  第4步不安全,有可能损坏数据库或丢失数据
  第6步如果日志达到上限,则以后的数据库处理会失败,在清理日志后才能恢复.


分享到:
评论

相关推荐

    解决SQL数据库日志已满的问题

    在SQL Server中,数据库日志已满的问题是一个常见的问题,主要由于事务日志空间不足导致。日志文件用于记录所有数据库事务,确保数据的一致性和可恢复性。当日志文件达到其最大大小且未被清除或收缩时,可能会阻碍...

    sql数据库日志已满的解决办法

    ### SQL数据库日志已满的解决办法 在日常的数据库管理工作中,经常会遇到SQL数据库的日志文件因存储空间不足而无法继续写入的情况,这通常会导致数据库操作异常甚至停止服务。本文将详细介绍当SQL数据库日志已满时...

    SQL数据库日志已满解决方法

    当前的解决方法是:把硬盘上的其他... 在查询分析器上操作: 清空日志 DUMP TRANSACTION 库名 WITH NO_LOG 截断事务日志: BACKUP LOG 数据库名 WITH NO_LOG 解决SQL数据库日志已满的问题 1、右键数据库→属性→选项→

    数据库tempdb的日志已满

    在IT行业的数据库管理中,遇到“数据库tempdb的日志已满”这一问题是非常常见的,它不仅会影响数据库的性能,还可能导致部分操作无法执行。本文将深入解析这一问题的原因、影响以及解决方案,帮助数据库管理员和开发...

    SqlServer数据库提示 “tempdb” 的日志已满 问题解决方案

    数据库 'tempdb' 的日志已满。请备份该数据库的事务日志以释放一些日志空间。 网上找了下解决方案,大体是扩大临时库的日志文件的大小解决的 解决过程: 查看了下数据库的属性,是自动增长,不指定文件大小上限。 ...

    AlwayOn集群数据库日志清理教程.doc

    AlwaysOn 集群数据库日志清理教程 在 AlwaysOn 集群环境中,数据库日志文件的疯狂扩张是一个常见的问题,该问题不仅占用大量的存储空间,还可能会影响数据库的性能和稳定性。因此,周期性的清理数据库日志文件是...

    解决SQL数据库日志已满的问题.txt

    解决SQL数据库日志已满的问题.txt

    oracle数据库日志查看方法

    ### Oracle数据库日志查看方法详解 #### 一、概述 Oracle数据库是企业级应用中广泛使用的数据库管理系统之一,为了确保数据库系统的稳定运行和快速定位问题,掌握Oracle数据库日志查看方法至关重要。本文将详细...

    数据库日志收缩工具

    数据库日志是数据库管理系统中的重要组成部分,特别是在关系型数据库中,如Microsoft SQL Server。日志用于记录所有的事务操作,确保数据的一致性和可恢复性。然而,随着时间的推移,数据库日志文件(通常命名为ldf...

    K3数据库日志收缩工具.zip

    《K3数据库日志收缩工具:优化数据管理与性能提升的关键》 在信息化时代,企业管理系统如金蝶K3在日常运营中起着至关重要的作用。然而,随着业务的不断扩展,数据库中的日志文件可能会变得庞大,占用大量存储空间,...

    SQL数据库日志清理工具

    SQL数据库日志清理工具是针对SQL Server数据库管理系统中日志文件过大或日志管理不当而设计的专业工具。在SQL Server中,日志文件(通常命名为*.ldf)用于记录所有事务的更改,包括数据的插入、更新和删除,以及...

    处理数据库日志过大问题

    数据库日志过大问题是一个常见的数据库管理挑战,尤其在高并发、大数据量的系统中更为显著。日志文件的迅速膨胀可能会占用大量磁盘空间,影响系统性能,甚至导致数据库服务中断。以下是一些关于如何处理数据库日志过...

    sql server数据库日志满的处理方法

    在IT领域,尤其是在数据库管理与维护中,SQL Server数据库日志满的问题是常见的技术挑战之一。这不仅影响数据库性能,还可能导致数据写入失败、事务处理中断等严重后果。因此,掌握有效的处理方法至关重要。根据给定...

    SQL数据库日志清除工具

    在SQL Server数据库管理中,日志文件是存储事务...了解这些基本概念和使用方法后,你可以根据你的数据库环境和需求,选择合适的SQL数据库日志清除工具,有效地管理和维护你的数据库日志,确保数据库性能和数据安全性。

    手把手教你整理自己的SQLServer日志

    教程名称:手把手教你整理自己的SQL Server日志课程目录:【】MSSQL数据库日志满的快速...教你如何清除SQL日志【】数据库日志已满解决办法【】通过sqlserv 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。

    如何清空数据库日志文件

    ### 如何清空数据库日志文件 在SQL Server中,日志文件的管理是一项重要的维护工作,特别是对于大型数据库而言。随着数据操作的频繁进行,事务日志文件可能会变得非常庞大,这不仅会占用大量的磁盘空间,还可能影响...

    数据库日志维护手册数据库日志维护手册

    数据库日志维护手册,数据库日志维护手册,数据库日志维护手册。数据库日志维护手册.

    数据库日志收缩脚本

    数据库日志收缩脚本,适用于SQL server 2005, 2008, 2012

Global site tag (gtag.js) - Google Analytics