SQL SERVER 2008 中 BACKUP LOG WITH TRUNCATE_ONLY 已不再被支持,要收缩数据库日志,首先需要通过将数据库恢复模式设置为 SIMPLE 来截断该文件. 语句如下: USE DATABASENAME; GO-- Truncate the log by changing the database recovery model to SIMPLE. ALTER DATABASE DATABASENAME SET RECOVERY SIMPLE; GO-- Sh
--先查询DBName_Log在sys.database_files里的名称,此处暂用XXX代替 USE DBName GO SELECT file_id, name FROM sys.database_files; GO --真正的收缩语句.Sql Server 2008要先将模式改为简单模式,收缩后再改回完全模式. SE [master] GO ALTER DATABASE DBName SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE D
SQL2008 的收缩日志 由于SQL2008对文件和日志管理进行了优化,所以以下语句在SQL2005中可以运行但在SQL2008中已经被取消: (SQL2005) BackupLog DNName with no_log go dump transaction DNName with no_log go USE DNName DBCC SHRINKFILE (2) Go --------------------------------------------------------------
1 USE TestDB; 2 GO 3 ALTER DATABASE TestDB 4 SET RECOVERY SIMPLE; --设置简单恢复模式 5 GO 6 7 DBCC SHRINKFILE (TestDB_Log, 1); 8 GO 9 10 ALTER DATABASE TestDB 11 SET RECOVERY FULL; --恢复为原模式 12 GO
sql 在使用中每次查询都会生成日志,但是如果你长久不去清理,可能整个硬都堆满哦,笔者就遇到这样的情况,直接网站后台都进不去了.下面我们一起来学习一下如何清理这个日志吧 SQL2008清空删除日志: 方法一: USE [master] GO ALTER DATABASE AFMS SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE AFMS SET RECOVERY SIMPLE GO USE AFMS GO DBCC SHRINKFILE (N
SQL2005清空删除日志: Backup Log DNName with no_log '这里的DNName是你要收缩的数据库名,自己注意修改下面的数据库名,我就不再注释了. go dump transaction DNName with no_log go USE DNName DBCC SHRINKFILE (2) Go SQL2008清空删除日志: USE [master] GO ALTER DATABASE DNName SET RECOVERY SIMPLE WITH NO_WAIT