huangfen2002 发表于 2016-11-1 09:47:38

Sql server缩小日志文件的方法

  今天查看自己的硬盘,发现被占用的非常满,看到sql版的NC又占用了4.6G的日志,这个sql日志log文件非常大。必须得腾出点空间来。

方案一、
     1.打开查询分析器,输入命令 DUMP TRANSACTION 数据库名 WITH NO_LOG
     2.再打开企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至5M。
  
方案二、最常用的方法,不建议使用。要停止应用服务,还有丢失日志
     1、分离数据库
     2、删除日志文件,既同名的ldf文件(mdf是数据库)
     3、重新附加数据,只指定数据库,无日志。这样会用单文件附加方式附加上去。
  
方案三、直接去企业管理器,在数据库上点属性,把数据库改成单用户模式,再执行收缩数据库-》收缩文件,选择日志。这个方法在客户那里有效,在我这里没有效果。不知道原因。

其他更复杂的方法,需要比较复杂的sql操作,常见的如下:
  BACKUP LOG  库名 WITH NO_LOG
  DBCC SHRINKFILE( '日志文件名',新的大小数值型如1)
  dbcc shrinkdatabase (database_name,[,target_percent])
  等等。以前在东风本田用过。dbcc那个命令要交替使用才有效果。
最后,别忘记了把数据库的属性设置为自动收缩。如果sql数据库跑在性能比较强的硬件上,硬盘够大,这个也可以不设置。

--
郎啊郎别太忙 | langalang.blogspot.com
http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=41726861546759198&page=RSS%3a+Sql+server%e7%bc%a9%e5%b0%8f%e6%97%a5%e5%bf%97%e6%96%87%e4%bb%b6%e7%9a%84%e6%96%b9%e6%b3%95&referrer=http://c.live.com/c.gif?NC=31263&NA=1149&PI=73329&RF=&DI=3919&PS=85545&TP=anuxs.spaces.live.com&GT1=anuxs
页: [1]
查看完整版本: Sql server缩小日志文件的方法