sqlserver日志文件过大的处理方法

SqlServer 数据库中与备份和恢复相关的日志文件有MDF和LDF文件 存在于\\sqlserver_install_dir\MSSQL\Data\
1.文件解释
.mdf文件
    MDF是SQL Server数据库文件. 
.ldf文件
    LDF是SQL的日志文件,是不能直接打开的。LDF记录每一个操作:SELECT.INSERT.DELETE.UPDATE..日志

2.通过MDF和LDF文件恢复数据库的方法:
1).sql语句
下面的示例将   pubs   中的两个文件附加到当前服务器。

1   EXEC   sp_attach_db   @dbname   =   N‘pubs‘,   
2         @filename1   =   N‘c:\Program   Files\Microsoft   SQL   Server\MSSQL\Data\pubs.mdf‘,  
3         @filename2   =   N‘c:\Program   Files\Microsoft   SQL   Server\MSSQL\Data\pubs_log.ldf‘

2).图形界面
    资源管理器->数据库->所有任务->附加数据库->选文件->确认

如果数据库长期运行并进行大量的操作,会发现LDF文件异常的大,这时候
3.该如何截斷MS-SQL Transaction Log?
這些Log增長的速度決對不是你所想的這麼小,往往實體資料並沒任何增長(.MDF)但交易記錄檔(_LOG.LDF)則是以數倍的成長
下列語法是針對MS-SQL 2000及MS-SQL 2005的截斷Script:
--1.截斷交易記錄
BACKUP LOG [資料庫名稱]
    WITH TRUNCATE_ONLY  
--2.顯示資料庫檔案,找出交易記錄檔的邏輯檔名
EXEC sp_helpdb ‘資料庫名稱‘
--3.壓縮交易記錄檔
USE 資料庫名稱
DBCC SHRINKFILE([資料庫名稱_log],2) 
//2执行之后是指2M
 以上語法最主要的功能是在於ShrinkFile這部份,它是直接實體的將log檔截斷,並且還回實體的磁碟空間
當然,若有習慣做Transcation log的備份,這個動作也可以在備份作業中最後一個步驟來執行

4.如何收缩数据库文件?
收缩数据库文件(如果不压缩,数据库的文件不会减小)
  企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件
    --选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
    --选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了

5.如何设置以后能自动收缩?
企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩"

6.如何想以后不让它日志增长得太大?
企业管理器--服务器--右键数据库--属性--事务日志--将文件增长限制为xM(x是你允许的最大数据文件大小)

时间: 2024-11-10 08:36:49

sqlserver日志文件过大的处理方法的相关文章

sqlserver日志文件太大解决方法

SQL Server 的事务日志意外增大或充满的处理方法 事务日志文件Transaction Log File是用来记录数据库更新情况的文件,扩展名为ldf. 在 SQL Server 7.0 和 SQL Server 2000 中,如果设置了自动增长功能,事务日志文件将会自动扩展. 一般情况下,在能够容纳两次事务日志截断之间发生的最大数量的事务时,事务日志的大小是稳定的,事务日志截断由检查点或者事务日志备份触发. 然而,在某些情况下,事务日志可能会变得非常大,以致用尽空间或变满.通常,在事务日

SQL SERVER LDF日志文件太大的解决方法

如何压缩日志及数据库文件大小 /*--特别注意 请按步骤进行,未进行前面的步骤,请不要做后面的步骤 否则可能损坏你的数据库. 一般不建议做第4,6两步 第4步不安全,有可能损坏数据库或丢失数据 第6步如果日志达到上限,则以后的数据库处理会失败,在清理日志后才能恢复. --*/ --下面的所有库名都指你要处理的数据库的库名 1.清空日志 DUMP     TRANSACTION     库名     WITH     NO_LOG 2.截断事务日志: BACKUP   LOG   库名   WIT

怎么解决apache日志文件太大的问题

原文地址:http://un173.blog.51cto.com/8263566/1598346 管理apache服务器有些年头,虽然最近几年被nginx抢了不少风头,但我依然钟爱apache. 喜欢它强劲的并发处理能力,以及forker与worker模式间自由选择的快感,哈哈. 熟悉linux下apache运维的朋友,多少都会遇到过apache日志文件太大的问题,网站刚上线时不会在意到这个问题,因为流量小,自然error.log与access.log文件内容也就少,文件容量不大,因此,配置时也

(转) SQL Server中 ldf 文件过大的解决方法

原文地址:http://blog.itpub.net/35489/viewspace-616459/ 在SQL Server中经常遇到事务日志变大的情况,除了将数据库设置为“自动收缩”外,还可以使用下面的SQL命令进行快速清除数据库中的事务日志,命令如下:  - 第一步:清空日志  DUMP TRANSACTION   databasename   WITH   NO_LOG  -- 第二步:截断事务日志  BACKUP LOG   databasename   WITH   NO_LOG  -

SQL Server 2005 日志文件过大处理

由于安装的时候没有计划好空间,默认装在系统盘,而且又没有做自动备份.截断事务日志等,很快LDF文件就达到十几G,或者几十G ,此时就不得不处理了. 备份和计划就不说了,现在就说下怎么把它先删除吧: 1:先分离数据库 2:为了保险,先不要删除,把LDF文件重命名下 3:附件数据库. 4:OK. 以上可能遇到的问题: 1:有用户连接,无法分离(勾选“断开所有连接”) 2:附件数数据库的时候提示找不到LDF文件,不要慌,在附件的时候,把LDF的路径一项删除,然后点击"确定",这样就附件成功了

sql点滴39—解决数据库日志文件过大的问题

原文:sql点滴39-解决数据库日志文件过大的问题 随着数据库使用时间增长,日志文件也在不停的增大,这里介绍几种方法减小这个文件的方法. 1.直接删除log文件 分离数据库.分离数据库之前一定要做好数据库的全备份,选择数据库——右键——任务——分离,如下图 将日志文件和数据文件复制粘贴到另外一个文件夹中以防万一.删除链接,如下图 直接删除日志文件,然后再附加数据库,如下图 附加的时候会自动将ldf文件和mdf文件都附加上,但是会提示找不到ldf文件,没关系,选中ldf文件这一行,点击下面的删除按

SQL Server日志文件过大 大日志文件清理方法 不分离数据库

SQL Server日志文件过大    大日志文件清理方法 ,网上提供了很多分离数据库--〉删除日志文件-〉附加数据库 的方法,此方法风险太大,过程也比较久,有时候也会出现分离不成功的现象.下面的方式是不需要做数据库分离和附加操作的. SQL 2008收缩清空日志方法: 1.在SQL2008中清除日志就必须在简单模式下进行,等清除动作完毕再调回到完整模式,一定必务要再改回完整模式,不然数据库就不支持时间点备份了.1).选择数据库–属性-选项-恢复模式–选择简单.2).收缩数据库后,再调回完整.2

解决Linux下Tomcat日志目录下的catalina.log日志文件过大的问题

本文摘自:(http://blog.csdn.net/stevencn76/article/details/6246162) 分类: Java技术专区2011-03-13 12:25 5017人阅读 评论(1) 收藏 举报 tomcatlinux工具任务web 由于Tomcat在默认情况下会将没有经过配置的web应用所产生的日志输出已经其本身的日志内容都输出到这个文件中,那么随着时间的推移,这个文件的尺寸将会越来越大,当需要检查日志内容时间会导致文件难以打开,而且同时tomcat依旧在不断的向文

Apache access.log error.log日志文件太大优化方法

有没有发现Apache生成的日志文件一天比一天大,不是一般大,若你apache安装在C盘,那可惨了,不几天硬盘就满了,太恐怖了,有没有办法优化一下日志,让它不那么大?答案是有的. 一.停止Apache服务,删除Apache下/logs/目录中的error.log和access.log文件. 二.打开Apache的conf/httpd.conf配置文件,找到以下配置信息: ErrorLog logs/error.log CustomLog logs/access.log common 请在上述两行