SQL2005清空删除日志:
代码如下:
Backup Log DNName with no_log '这里的DNName是你要收缩的数据库名,自己注意修改下面的数据库名,我就不再注释了。
go
dump transaction DNName with no_log
go
USE DNName
DBCC SHRINKFILE (2)
Go
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, nameFROM sys.database_files;
'GO
USE [master]
GO
ALTER DATABASE DNName SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE DNName SET RECOVERY FULL --还原为完全模式
GO
sqlserver2000压缩日志
可以将jb51.ldf文件变得很小,方便备份数据库等,在sqlserver查询分析器中执行即可。
代码如下:
DUMP TRANSACTION [jb51] WITH NO_LOG
BACKUP LOG [jb51] WITH NO_LOG
DBCC SHRINKDATABASE([jb51])
或者用如下语句 代码 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'LogFileName' , 0,TRUNCATEONLY) GO USE [master] GO ALTER DATABASE DNName SET RECOVERY FULL WITH NO_WAIT GO ALTER DATABASE DNName SET RECOVERY FULL GO SQL Server 2000要清理日志使用的是dump语句,但是在SQL Server2008里,这个语句不管用了,如果日志文件很大,比如超过1G,就需要截断一下日志文件以加快sqlserver的运行速度,在SQL Server2008里,方法改为: 有数据库 xxdb 在 SQL Server 2008 下,日志文件已经超过1G。 以往使用BACKUP语句-BACKUP LOG xxdb WITH NO_LOG 已经失效,在查阅 MSDN 之后发现 MS 提供的标准截断日志语句已经变为了 “BACKUP LOG 语句不指定 WITH COPY_ONLY” 使用语句 BACKUP LOG xxdb to disk='x:\work\1.bak' 成功将日志文件备份,并截断日志文件。这里x:代表你想要备份文件的盘符。 然后使用 DBCC SHRINKFILE (xxdb_log,10) 收缩日志文件到 10M 总结: 完整的收缩日志文件的 T-SQL 语句: BACKUP LOG xxdb to disk='x:\work\1.bak' DBCC SHRINKFILE (xxdb_log,10) GO -- BACKUP LOG <db_name> to disk=<'backupfilename'> DBCC SHRINKFILE (<log_filename>,10) GO 里面的x:\work是随意设置的。当然也可以收缩到比如5M或1M。 在用的: USE[master] GO ALTERDATABASEYHDBSETRECOVERYSIMPLEWITHNO_WAIT GO ALTERDATABASEYHDBSETRECOVERYSIMPLE--简单模式 GO USEYHDB GO DBCCSHRINKFILE(N'YHDB_log', 11,TRUNCATEONLY) GO USE[master] GO ALTERDATABASEYHDBSETRECOVERYFULLWITHNO_WAIT GO ALTERDATABASEYHDBSETRECOVERYFULL--还原为完全模式 GO
如果想新的日志文件不会增长太快可以设置为简单模式:
右击==》属性==》选项==》恢复模式,选择简单模式
手动收缩方法:
右击数据库==》任务==》收缩==》文件,在设置页面的”收缩操作“选择将文件收缩到:10M(可以自行设置大小)
