日志的压缩与清除技巧
2008-04-26 09:42
162 查看
一般情况下,SQL数据库的收缩并不能很大程度上减小数据库大小,其主要作用是收缩日志大小,应当定期进行此操作以免数据库日志过大: 1、设置数据库模式为简单模式:打开SQL企业管理器,在控制台根目录中依次点开Microsoft-->SQLServer组-->双击打开你的服务器-->双击打开数据库目录-->选择你的数据库名称(如论坛数据库Forum)-->然后点击右键选择属性-->选择选项-->在故障还原的模式中选择"简单",然后按确定保存。
2、在当前数据库上点右键,看所有任务中的收缩数据库,一般里面的默认设置不用调整,直接点确定。
3、收缩数据库完成后,建议将您的数据库属性重新设置为标准模式,操作方法同第一点,因为日志在一些异常情况下往往是恢复数据库的重要依据。
方法二
2、在当前数据库上点右键,看所有任务中的收缩数据库,一般里面的默认设置不用调整,直接点确定。
3、收缩数据库完成后,建议将您的数据库属性重新设置为标准模式,操作方法同第一点,因为日志在一些异常情况下往往是恢复数据库的重要依据。
方法二
SETNOCOUNTON DECLARE@LogicalFileNamesysname, @MaxMinutesINT, @NewSizeINT USE tablename --要操作的数据库名 SELECT @LogicalFileName='tablename_log', --日志文件名 @MaxMinutes=10, --Limitontimeallowedtowraplog. @NewSize=1 --你想设定的日志文件的大小(M) --Setup/initialize DECLARE@OriginalSizeint SELECT@OriginalSize=size FROMsysfiles WHEREname=@LogicalFileName SELECT'OriginalSizeof'+db_name()+'LOGis'+ CONVERT(VARCHAR(30),@OriginalSize)+'8Kpagesor'+ CONVERT(VARCHAR(30),(@OriginalSize*8/1024))+'MB' FROMsysfiles WHEREname=@LogicalFileName CREATETABLEDummyTrans (DummyColumnchar(8000)notnull) DECLARE@Counter INT, @StartTimeDATETIME, @TruncLog VARCHAR(255) SELECT @StartTime=GETDATE(), @TruncLog='BACKUPLOG'+db_name()+'WITHTRUNCATE_ONLY' DBCCSHRINKFILE(@LogicalFileName,@NewSize) EXEC(@TruncLog) --Wrapthelogifnecessary. WHILE @MaxMinutes>DATEDIFF(mi,@StartTime,GETDATE())--timehasnotexpired AND@OriginalSize=(SELECTsizeFROMsysfilesWHEREname=@LogicalFileName) AND(@OriginalSize*8/1024)>@NewSize BEGIN--Outerloop. SELECT@Counter=0 WHILE ((@Counter<@OriginalSize/16)AND(@Counter<50000)) BEGIN--update INSERTDummyTransVALUES('FillLog') DELETEDummyTrans SELECT@Counter=@Counter+1 END EXEC(@TruncLog) END SELECT'FinalSizeof'+db_name()+'LOGis'+ CONVERT(VARCHAR(30),size)+'8Kpagesor'+ CONVERT(VARCHAR(30),(size*8/1024))+'MB' FROMsysfiles WHEREname=@LogicalFileName DROPTABLEDummyTrans SETNOCOUNTOFF
相关文章推荐
- SQL2005、SQL2008如何压缩日志文件(log) 如何清除日志
- SQL 日志清除技巧
- 服务器-定期清除日志-压缩或SQL中的_LOG.LDF文件
- 清除SQL日志压缩文件
- Exchange 2013 管理小技巧三-快速清除日志-利用Powershell
- SQL Server 2000 数据库日志太大!如何管理,清除,变小,压缩它
- MS sql server 数据库日志文件清除(压缩)和恢复日志文件的方法
- SQL Server 2000 数据库日志太大!如何管理,清除,变小,压缩它
- SQL2005压缩清除日志
- SQL2000 日志清除和数据库压缩脚本
- SQL2008压缩清除日志方法
- SQL Server 2000 数据库日志太大!如何管理,清除,变小,压缩它
- mysql主从复制 设置中继日志自动清除 主从同步失败,如何快速同步
- Log4j2的日志配置文件,log4j2.xml文件的配置(实现控制台输出,各级别分别文件输出,自动压缩等)
- sql 2008 镜像清除日志
- 压缩、收缩、备份、删除SQL数据库日志
- py2exe使用方法 (含一些调试技巧,如压缩email 类)
- 同事告诉我们一个查询IMAIL日志技巧
- 如何清除Exchange2010邮件日志
- iOS开发技巧之:iOS录制(或选择)视频,压缩、上传(整理)