欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

MSSQL 2005/2008日志文件瘦身

程序员文章站 2024-01-29 16:55:22
...

在SQL2000/2005中可以快速压缩日志log文件,对于SQL2008以上命令不能运行,SQL2008说明:BACKUP LOG WITH NO_LOG 和 WITH TRUNCAT

在SQL2000/2005中可以快速压缩日志log文件,,通过SQL:

--myDbName是需要瘦身的数据库名

backup log myDbName with no_log;
backup log myDbName with truncate_only;
dbcc SHRINKDATABASE(myDbName);

对于SQL2008以上命令不能运行,SQL2008说明:BACKUP LOG WITH NO_LOG 和 WITH TRUNCATE_ONLY 选项已废止。使用完整恢复模式或大容量日志恢复模式时,如果必须删除数据库中的日志备份链,请切换至简单恢复模式。有关详细信息,请参阅有关从完整恢复模式或大容量日志恢复模式切换的注意事项。

操作语句如下:

USE [master]
GO
ALTER DATABASE MyDbName SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE MyDbName SET RECOVERY SIMPLE --简单模式
GO
USE MyDbName
GO
DBCC SHRINKFILE (N'MyDbName_LogFileName' , 1, TRUNCATEONLY)
GO
USE [master]
GO
ALTER DATABASE MyDbName SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE MyDbName SET RECOVERY FULL --还原为完全模式
GO


其中DBCC SHRINKFILE (N'MyDbName_LogFileName' , 1, TRUNCATEONLY)中的

第一个参数可以用以下语句获取:select name from sys.database_files where type=1

第二个参数代表最终日志文件大小,1即1M.

MSSQL 2005/2008日志文件瘦身