日期:2014-05-18 浏览次数:20540 次
--在sql server 2008上,收缩日志之前必须把数据备份等级设置为simple(简单),切记! ALTER DATABASE your_database_name SET RECOVERY SIMPLE GO -- 收缩 DBCC SHRINKFILE (2,30) --30单位为M,日志文件的大小 GO -- 更改模式为FULL ,再改回来,如果本身就已是simple,那就不必要了 ALTER DATABASE your_database_name SET RECOVERY FULL GO
LZ上面的方法可以,我下面還有幾種方法,LZ可以看看 方法一: --BigData为数据库名(該方法在SQL2008無效) DUMP TRANSACTION BigData WITH NO_LOG BACKUP LOG BigData WITH NO_LOG DBCC SHRINKDATABASE(BigData ) 方法二: USE BigData; GO BACKUP LOG DATABASENAME TO DISK='d:\test.bak' -- Shrink the truncated log file to 1 MB. DBCC SHRINKFILE (Bigdata_Log, 1); GO 方法三: use DB_NAME sp_dboption DB_NAME, "trunc. log on chkpt.", true checkpoint sp_dboption DB_NAME, "autoshrink", true --每一行指令请单独执行。其中的DB_NAME是指Database Name,在下完语法后的数小时至数十小时,该LOG档会逐渐释放空间,最后大约都会维持在数1024KB左右
------解决方案--------------------
日志文件可以定期shrink,但是数据模式一般不要设置为simple
纯订阅、存放临时性数据的数据库可以设置为simple
------解决方案--------------------
select name from sys.database_files WHERE type_desc = 'LOG'
------解决方案--------------------