• 生活
  • 娱乐
  • 健康
  • 教育
  • 站长SQLServer日志清除的两种

    2019-07-09 16:50:03 来源: 襄阳ope手机版

    14:02 来源:新云 :申瑞瑞【纠错】人评论

    A-A+ 怎么开淘宝店 站优化方法 创业如何获得投资 小米note顶配版评测 LOL活动

    方法一

    一般情况下,SQL数据库的收缩并不能很大程度上减小数据库大小,其主要作用是收缩日志大小,应当定期进行此操作以免数据库日志过大1、设置数据库模式为简单模式:打开SQL项--在故障还原的模式中选择简单,然后按确定保存2、在当前数据库上点右键,看所有任务中的收缩数据库,一般里面的默认设置不用调整,直接点确定3、收缩数据库完成后,建议将您的数据库属性重新设置为标准模式,操作方法同点,因为日志在一些异常情况下往往是恢复数据库的重要依据

    方法二

    以下为引用的内容:SET NOCOUNT ONDECLARE @LogicalFileName sysname @MaxMinutes INT @NewSize INT

    USE tablename -- 要操作的数据库名SELECT @LogicalFileName = 'tablename_log' -- 日志文件名@MaxMinutes = 10 -- Limit on time allowed to wrap log. @NewSize = 1 -- 你想设定的日志文件的大小(M)

    -- Setup / initializeDECLARE @OriginalSize intSELECT @OriginalSize = size FROM sysfiles WHERE name = @LogicalFileNameSELECT 'Original Size of ' + db_name() + ' LOG is ' + CONVERT(VARCHAR(30)@OriginalSize) + ' 8K pages or ' + CONVERT(VARCHAR(30)(@OriginalSize*8/1024)) + 'MB' FROM sysfiles WHERE name = @LogicalFileNameCREATE TABLE DummyTrans (DummyColumn char (8000) not null)

    DECLARE @Counter INT @StartTime DATETIME @TruncLog VARCHAR(255)SELECT @StartTime = GETDATE() @TruncLog = 'BACKUP LOG ' + db_name() + ' WITH TRUNCATE_ONLY'

    DBCC SHRINKFILE (@LogicalFileName @NewSize)EXEC (@TruncLog)-- Wrap the log if ILE @MaxMinutes DATEDIFF (mi @StartTime GETDATE()) -- time has not expired AND @OriginalSize = (SELECT size FROM sysfiles WHERE name = @LogicalFileName) AND (@OriginalSize * 8 /1024) @NewSize BEGIN -- Outer loop. SELECT @Counter = 0 WHILE ((@Counter @OriginalSize / 16) AND (@Counter 50000)) BEGIN -- update INSERT DummyTrans VALUES ('Fill Log') DELETE DummyTrans SELECT @Counter = @Counter + 1 END EXEC (@TruncLog) END SELECT 'Final Size of ' + db_name() + ' LOG is ' + CONVERT(VARCHAR(30)size) + ' 8K pages or ' + CONVERT(VARCHAR(30)(size*8/1024)) + 'MB' FROM sysfiles WHERE name = @LogicalFileNameDROP TABLE DummyTransSET NOCOUNT OFF

    查看更多相似文章

    免费自己制作小程序
    SEO关键词排名不稳定的原因有哪些?
    如何微信开店
    本文标签: