天天看点

sqlserver清理收缩日志文件方法

sqlserver2000压缩日志

在sqlserver查询分析器中执行即可。

代码如下:

DUMP TRANSACTION [YourDB] WITH NO_LOG 
BACKUP LOG [YourDB] WITH NO_LOG 
DBCC SHRINKDATABASE([YourDB]) 
           

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           
'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           
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