zoukankan      html  css  js  c++  java
  • MS SQL Server 定时任务实现自动备份

    SQL Server Express 版本是没有SQL 代理服务的,从而导致不能使用SQL Server的定时自动备份功能。真心感觉这就是一个坑,虽然Express是学习的版本,但是精简的也太多了。另外一点不能忍受的是居然没有SQL Profile 监控执行语句数据功能,[手动cry]

    好了,来说一下如果你使用了Express,如何进行SQL Server 的自动备份吧:

    ①方法就是:SQL备份数据库语句  +  windows 定时任务计划

    ②目录结构为:

    ③DBBacUp.bat  备份的脚本

    set YYYYmmdd=%date:~0,4%%date:~5,2%%date:~8,2%
    set PathDir="C:数据库备份"
    set "filename= %PathDir%\%YYYYmmdd%.log"
    
    echo Start BackUp,Time: %date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2% >>%filename%
    
    sqlcmd -S . -i C:UsersJuanFeiDesktopDBBackup.sql >>%filename%
    
    echo. >>%filename%
    View Code

       DeleteTask.bat  删除7天前的,冗余备份,防止备份数据过多,占用空间

    :: 删除7天以前的备份记录
    set YYYYmmdd=%date:~0,4%%date:~5,2%%date:~8,2%
    set PathDir="C:数据库备份"
    
    set "filename= %PathDir%\%YYYYmmdd%.log"
    
    echo Start Delete,Time: %date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2% >>%filename%
    forfiles /p %PathDir% /m *.bak /d -7 /c "cmd /c del /f @path"
    forfiles /p %PathDir% /m *.log /d -7 /c "cmd /c del /f @path"
    
    echo. >>%filename%
    View Code

    DBBackup.sql   重点:备份的SQL语句

    GO 
    DECLARE @backupTime VARCHAR(20)
    DECLARE @fileName VARCHAR(1000)  
    
    SELECT @backupTime=(CONVERT(VARCHAR(8), GETDATE(), 112) +REPLACE(CONVERT(VARCHAR(5), GETDATE(), 114), ':', ''))  
    
    SELECT @fileName='c:数据库备份PX_Traceability_'+@backupTime+'.bak'
    backup database PX_Traceability to disk=@fileName with INIT,COMPRESSION
    View Code

    ④使用windows任务计划创建定时任务

    参考地址:https://jingyan.baidu.com/article/154b463130041128ca8f41c7.html

    网上教程很多,就不赘述了,如果有不懂得,可以评论提问联系我

  • 相关阅读:
    激光打印机基于主机驱动程序、基于 PCL 驱动程序和 PostScript 驱动程序有何区别?
    转贴:打印机语言PostScript和PCL的比较
    编译器相关配置简介
    Graphics View的体系结构
    解决重装Qt后不能编译Examples的问题
    有符号数和无符号数的区别
    51单片机的外设
    AT89S52单片机P3口解惑
    双向端口设计
    AT89s52单片机的掉电测试
  • 原文地址:https://www.cnblogs.com/qyfh/p/9678757.html
Copyright © 2011-2022 走看看