• SQL2008镜像,清理log日志


       在做SQL 2008镜像,由于主服务器必须做完整备份,这时log日志很大,必须定期清理log日志,将下列存储过程没6个小时执行一次,其定期会将日志文件缩小到300M

        

    Create  PROC [dbo].[CleanTranLog]
    AS
        
    BEGIN
            
    DECLARE @num TINYINT --执行次数
            DECLARE @backLogName VARCHAR(100) ;--备份日志文件名称
            DECLARE @backLogPath VARCHAR(100) ; --备份日志文件的路径
            SET @num = 0 ;
            
    SET @backLogPath = N'C:\SQLBackup' ;--设定备份日志的路径
            --备份3次镜像日志文件,同时删除
            WHILE@num < 3 )
                
    BEGIN
                    
    DECLARE @LogPath VARCHAR(100)
                    
    SET @backLogName = CAST(@num as VARCHAR(2)) + '.trn' ;
                    
    SET @LogPath = @backLogPath + '\' + @backLogName
                    
    BACKUP LOG DB  TO DISK = @LogPath WITH NOFORMAT, NOINIT,
                        NAME
    = @backLogName, SKIP, REWIND, NOUNLOAD,STATS = 10
                    
    SET @num = @num + 1
                    
    --删除刚备份的trn日志文件结束的备份日志文件
                    EXECUTE master.dbo.xp_delete_file 0@LogPath ;
                
    end
             
    --收缩日志文件到300M
            DBCC SHRINKFILE (DB_log, 300) ;     
            
            
    --注意
            --DB 这里指: 数据库名称
            --DB_log 为日志逻辑名称
        END
       
  • 相关阅读:
    QT类型转换(九种转换)
    QString类的使用(无所不包,极其方便)
    在TreeWidget中增加右键菜单功能 以及TreeWidget的基本用法
    在ubuntu上安装nodejs[开启实时web时代]
    排序和搜索
    new关键字
    Dynamicaly Typed(动态定型), Objective-C Runtime Programming
    图形化机构树
    java-并发之高性能对象
    委托的基本理解与使用
  • 原文地址:https://www.cnblogs.com/zping/p/2076539.html
Copyright © 2020-2023  润新知