【MSSQL】从SQL2000到SQL2008及以上清理日志操作

--查看数据库文件名与大小
select name, convert(float,size) * (8192.0/1024.0)/1024. from dbname.dbo.sysfiles

一、SQL2008清空删除日志
--在SQL2008中清除日志就必须在简单模式下进行,等清除动作完毕再调回到完全模式。
USE [master]
GO
ALTER DATABASE DNName SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE DNName SET RECOVERY SIMPLE --简单模式
GO
USE [DNName]
GO
DBCC SHRINKFILE (N'DNName_Log' ,11,TRUNCATEONLY) 
GO
--这里的DNName_Log 如果不知道在sys.database_files里是什么名字的话,可以用以下注释的语句进行查询
--USE DNName
--GO
--SELECT file_id, name FROM sys.database_files;
--SELECT name FROM SYS.database_files WHERE type_desc='LOG' 
--GO
USE [master]
GO
ALTER DATABASE DNName SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE DNName SET RECOVERY FULL --还原为完全模式
GO

二、SQL2005清空删除日志
backup Log DNName with no_log --这里的DNName是你要收缩的数据库名
go
dump transaction DNName with no_log 
go
USE DNName
DBCC SHRINKFILE (DBName)
Go

三、sqlserver2000压缩日志
--可以将.ldf文件变得很小,方便备份数据库等,在sqlserver查询分析器中执行即可。
DUMP TRANSACTION [dbname] WITH NO_LOG 
BACKUP LOG [dbname] WITH NO_LOG 
DBCC SHRINKDATABASE([dbname])

四、SQL 2008视图下操作

1、右击数据库-->属性-->选项-->恢复模式-->选“简单”-->确定
2、右击数据库-->所有任务-->收缩-->文件(进入界面文件类型选择日志,选择收缩操作选项。将文件收缩到0MB)
3、右击数据库-->属性-->选项-->恢复模式-->选“完全”-->确定

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值