• 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
       
  • 相关阅读:
    linux部署zookeeper
    docker+fastdfs+springboot一键式搭建分布式文件服务器
    IDEA 设置springboot项目热部署
    定时备份docker部署的mysql数据
    离线安装docker
    PLSQL安装、PLSQL汉化、激活
    Mysql添加用户与授权
    MySql定时备份脚本
    mysql数据库定时备份
    实战申请Let's Encrypt永久免费SSL证书过程教程及常见问题
  • 原文地址:https://www.cnblogs.com/zping/p/2076539.html
Copyright © 2020-2023  润新知