收缩数据库
请教下各位;
客户服务器上的数据库说越来越大,
备份下来由1个G,
当客户把数据库给我时,
我附加后 再备份下 发现是文件只有450M,
当我有压缩备份后 文件只有200M,
请问下是不是因为服务器上日志的原因,
如果是日志的原因,
以下这段代码是否能够解决
--在sql server 2008上,收缩日志之前必须把数据备份等级设置为simple(简单),切记!ALTER DATABASE your_database_name SET RECOVERY SIMPLEGO-- 收缩 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_LOGBACKUP LOG BigData WITH NO_LOGDBCC SHRINKDATABASE(BigData )方法二:USE BigData;GOBACKUP LOG DATABASENAME TO DISK='d:\test.bak'-- Shrink the truncated log file to 1 MB.DBCC SHRINKFILE (Bigdata_Log, 1);GO方法三:use DB_NAMEsp_dboption DB_NAME, "trunc. log on chkpt.", truecheckpointsp_dboption DB_NAME, "autoshrink", true --每一行指令请单独执行。其中的DB_NAME是指Database Name,在下完语法后的数小时至数十小时,该LOG档会逐渐释放空间,最后大约都会维持在数1024KB左右
[解决办法]
日志文件可以定期shrink,但是数据模式一般不要设置为simple
纯订阅、存放临时性数据的数据库可以设置为simple
[解决办法]
select name from sys.database_files WHERE type_desc = 'LOG'
[解决办法]