MS SQL Server事务日志压缩与删除

原创 2006年06月05日 23:34:00

    方法一:

    第一步:
    backup log database_name with no_log
    或者 backup log database_name with truncate_only 
    -- no_log和truncate_only是在这里是同义的,随便执行哪一句都可以。

    第二步:
    1.收缩特定数据库的所有数据和日志文件,执行:
       dbcc shrinkdatabase (database_name,[,target_percent])
        -- database_name是要收缩的数据库名称;target_percent是数据库收缩后的数据库文件中所要的剩余可用空间百分比。

    2.收缩一次一个特定数据库中的数据或日志文件,执行
       dbcc shrinkfile(file_id,[,target_size])
       -- file_id是要收缩的文件的标识 (ID) 号,若要获得文件 ID,请使用 FILE_ID 函数或在当前数据库中搜索 sysfiles;target_size是用兆字节表示的所要的文件大小(用整数表示)。如果没有指定,dbcc shrinkfile 将文件大小减少到默认文件大小。两个dbcc都可以带上参数notruncate或truncateonly,具体意思查看联机帮助.

    方法二:

    第一步:
    先备份整个数据库以备不测  。
                                                                    
    第二步:
    备份结束后,在Query Analyzer中执行如下的语句:
    exec sp_detach_db yourDBName,true
    --卸除这个DB在MSSQL中的注册信息

    第三步:  
    到日志的物理文件所在的目录中去删除该日志文件或者将该日志文件移出该目录

    第四步:
    在Query Analyzer中执行如下的语句:
    exec sp_attach_single_file_db yourDBName,'d:/mssql/data/yourDBName_data.mdf '
     --以单文件的方式注册该DB,如果成功则MSSQL将自动为这个DB生成一个500K的日志文件。
 
    方法三:

    1. 进入企业管理器,选中数据库,比如demo

    2. 所有任务->分离数据库

    3. 到数据库文件的存放目录,将MuOnline_log.LDF文件删除,以防万一,你可以拷出去

    4. 企业管理器->附加数据库,选muonline,这个时候你会看见日志文件这项是一个叉,不要紧,继续,此时数据库就会提示你该数据库无日志是否创建一个新的,确定就是了。

    5. 记得数据库重新附加后用户要重新设置一下。

    如果以后,不想要它变大:

  SQL2000下使用:

  在数据库上点右键->属性->选项->故障恢复-模型-选择-简单模型。

  或用SQL语句:

  alter database 数据库名 set recovery simple


压缩数据库日志文件(存储过程)

最近数据库日志文件增加太快,其中一个数据库的日志文件在短短一个星期居然从600多MB增加到40多G,为了偷懒所以写了这个存储过程压缩日志文件,不然30多个数据库每天光点收缩就要10几分钟,想想还是很值...
  • hb_gx
  • hb_gx
  • 2007年05月19日 16:48
  • 3575

压缩数据库日志

经常在CSDN上看到网友发帖说,压缩日志文件处理不当,导致数据库损坏,甚至不能恢复数据,于是就写了一个通用的数据库日志文件压缩的存储过程来解决此问题:/*--压缩数据库的通用存储过程  压缩日志及数据...
  • zjcxc
  • zjcxc
  • 2004年03月08日 11:30
  • 4853

SQL2005中查看事务日志方法-MS-SQLServer

DBCC log ( {dbid |dbname}, [, type={0 |1 |2 |3 |4}] )    参数: Dbid or dbname - 任一数据库的ID或名字    typ...
  • kalman2008
  • kalman2008
  • 2015年01月29日 08:20
  • 722

SQLServer事务日志清理

1:截断事务日志:BACKUP LOG 数据库名 WITH NO_LOG2:清空日志DUMP  TRANSACTION  库名  WITH  NO_LOG    再:企业管理器--右键你要压缩的数据库...
  • cui55
  • cui55
  • 2006年08月09日 09:52
  • 2061

备份所有数据库及压缩日志

  • 2008年06月09日 14:31
  • 1KB
  • 下载

MS SQL Server事务日志压缩与删除

    方法一:    第一步:    backup log database_name with no_log    或者 backup log database_name with truncat...
  • feng19821209
  • feng19821209
  • 2006年06月05日 23:34
  • 1853

SQL Server 2008 压缩日志文件

1.     收缩数据库方法 1) 在查询分析器中执行如下代码来查看日志信息: DBCC loginfo('MyDatabase') 可以看到status=0的日志,代表已经备份到磁盘的...
  • bittanxiaochen
  • bittanxiaochen
  • 2015年10月28日 13:39
  • 1227

SQL Server 2008压缩数据库日志文件

 ALTER DATABASE 数据
  • jjhua
  • jjhua
  • 2014年08月22日 16:59
  • 2177

压缩数据库及日志

压缩数据库及日志
  • jefftomjack
  • jefftomjack
  • 2016年11月09日 13:49
  • 938

sqlserver2008日志压缩

---设为简单恢复模式 use [master]  go alter database puyun_rds2 set recovery simple with no_wait alter da...
  • coolybq
  • coolybq
  • 2015年09月11日 10:52
  • 413
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MS SQL Server事务日志压缩与删除
举报原因:
原因补充:

(最多只允许输入30个字)