zoukankan      html  css  js  c++  java
  • SQL server 日志文件收缩 与日志文件备份

    在完整恢复模式下,SQL server需要定期备份日志,否则,日志文件会一直扩大,直到占满硬盘大小,在进行一次完整备份之后,可以定期备份日志文件

    脚本如下:

    DECLARE @strbackup NVARCHAR(100)
     --改为日期加时间的
     SET @strbackup = 'F:akTest_bak_log_'
         + REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR, GETDATE(), 120), '-', ''), ' ',
                          ''), ':', '') + '.bak'
     BACKUP LOG MainTest TO DISK = @strbackup WITH INIT;
     GO

    查看日志使用情况

    命令

    dbcc sqlperf(logspace)

    查看单个库的VLF文件详情,

    use  DatabaseXX
    DBCC LOGINFO;

    如果日志文件过大,需要收缩,请执行如下脚本

    USE [master]
    GO
    
    ALTER DATABASE 数据库名称 SET RECOVERY SIMPLE WITH NO_WAIT
    GO
    
    ALTER DATABASE 数据库名称 SET RECOVERY SIMPLE
    GO
    
    USE 数据库名称
    GO
    
    declare @dbName nvarchar(100)
    
    set @dbName = (SLEECT name FROM sys.database_files WHERE type=1)
    GO
    
    DBCC SHRINKFILE(@dbName,1,TRUNCATEONLY)
    GO
    
    USE [master]
    GO
    
    ALTER DATABASE 数据库名称 SET RECOVERY FULL WITH NO_WAIT
    GO
    
    ALTER DATABASE 数据库名称 SET RECOVERY FULL

    需要注意的是,将数据库由简单模式切换到完整模式后,需要做一次完整或者差异备份,日志才会按照完整模式的形式增长。

    参考地址:

    https://www.cnblogs.com/woodytu/p/4935887.html

  • 相关阅读:
    32位二进制IP地址与十进制IP地址互相转换
    在安装AndroidStudio时产生的问题
    Java 数列求和
    Java throws Exception、try、catch
    Java 语句循环
    Oracle OEM
    数据泵Expdp和Impdp
    java查询高斯数据库表某个字段值
    安全测试笔记(未更新完)
    工作笔记
  • 原文地址:https://www.cnblogs.com/niceletter/p/11993049.html
Copyright © 2011-2022 走看看