• SQL Server 2005数据库定期备份(非常详细)与 SQL Server 2005数据库备份定期清理


     SQL Server 2005数据库定期备份
    分类: SQL Server 2005 3320人阅读 评论(1) 收藏 举报

    SQLServer2005的定期备份是通过创建“维护计划”来实现的。主要有两种方式:1、维护计划向导。2、新建维护计划(用户手工创建)

    如果想在SQLServer2005中使用维护计划来设计维护备份数据库任务时,有一个前提条件:“SQL Server 代理”服务必须是启用状态

    首先介绍使用维护计划向导来执行数据库的定期备份

    操作过程:

    1、 单击:开始→程序→Microsoft SQL Server 2005→“SQL Server Management Studio”(图1)

     SQL Server 2005数据库定期备份 - jygwb - 千里行屋

    图1

    2、 右键单击:SQL Server 代理→启动(注: 要执行维护计划,SQL Server 代理必须启动!)

    3、 右键单击:管理→维护计划→维护计划向导,单击“下一步”(图2)

     SQL Server 2005数据库定期备份 - jygwb - 千里行屋

    图2

    4、 在“选择目标服务器”窗口,依次设置“名称”、“服务器”、“身份验证”等信息,单击“下一步”(图3),

     SQL Server 2005数据库定期备份 - jygwb - 千里行屋

    图3

    说明:身份验证:安装sqlserver2005时采用的验证方式

    5、 在“选择维护任务”窗口,选择准备执行的任务,单击“下一步”(图4)

     SQL Server 2005数据库定期备份 - jygwb - 千里行屋

    图4

    说明:

    1) 在维护任务列表中勾选需要执行的任务,可多选

    2) 下方黄色区域针对选择的每项任务加以说明

    6、 在“选择维护任务顺序”窗口,可以调整每项任务的执行顺序,单击“下一步”(图5)

     SQL Server 2005数据库定期备份 - jygwb - 千里行屋

    图5

    说明:

    1) 调整多个任务的先后执行顺序可通过上移和下移来实现

    7、 在“定义备份数据库(完整)任务”窗口,勾选需要备份的数据库名称,单击下一步(图6)

     SQL Server 2005数据库定期备份 - jygwb - 千里行屋

    图6

     SQL Server 2005数据库定期备份 - jygwb - 千里行屋

    图7

    说明:

    1) 选择将备份文件备份到磁盘上

    2) 指定备份文件存放的文件夹和位置

    3) 勾选“验证备份完整性”

    8、 在“选择计划属性”窗口,单击“更改”按钮打开“新建作业计划窗口”,设置好各项参数后单击“确定”按钮(图8)

     SQL Server 2005数据库定期备份 - jygwb - 千里行屋

    图8

    说明:

    1) 设置好各项参数后,在摘要说明栏中叙述了本次作业的详细内容

    9、 再次回到“选择计划属性”窗口,单击下一步(图9)

     SQL Server 2005数据库定期备份 - jygwb - 千里行屋

    图9

    10、 在“选择报告选项”窗口,设置报告的保存或分发方式,单击下一步(图10)

     SQL Server 2005数据库定期备份 - jygwb - 千里行屋

    图10

    11、 显示本次维护计划的详细信息,单击完成(图11)

     SQL Server 2005数据库定期备份 - jygwb - 千里行屋

     SQL Server 2005数据库定期备份 - jygwb - 千里行屋

          至此,SQL Server 2005采用维护计划即可以达到定期备份数据库的目的。

    二、SQL Server 2005数据库备份定期清理

          由于采用上述介绍的数据库维护计划,可以到达定期备份数据库的目的,但是产生了一个问题,数据库备份定期一直在生成,如果大的数据库一个备份文件达几 GB,长期备份的话,硬盘将满了,并且保存太长时间的备份也没有太大必要,因此如何定期清理这些备份是我们接下来要介绍的。有很多种方法可以实现定期清理 备份,本文介绍一种实现方法——采用forfiles命令,这个命令在Windows Server 2003系统中存在,在XP中并不存在,因此需要下载安装。
    1. 下载forfiles并安装。 
         下载forfiles,并且拷贝forfiles.exe至具备环境变量的目录下(比如:C:/WINDOWS/system32)。这样你就可以在命令 提示符中用forfiles命令了。 下载地址:http://download.csdn.net/source/1812302
    2. forfiles命令简介
    FORFILES [/P pathname] [/M searchmask] [/S]
            [/C command] [/D [+ | -] {yyyy-MM-dd | dd}]
    描述:
       选择一个文件(或一组文件)并在那个文件上
       执行一个命令。这有助于批处理作业。
    参 数列表:
       /P    pathname      表示开始搜索的路径。默认文件夹是当前工作的
                           目录 (.)。
       /M    searchmask    根据搜索掩码搜索文件。默认搜索掩码是 '*'。
       /S                  指导 forfiles 递归到子目录。像 "DIR /S"。
       /C    command       表示为每个文件执行的命令。命令字符串应该
                           用双引号括起来。
                           默认命令是 "cmd /c echo @file"。下列变量
                           可以用在命令字符串中:
                           @file    - 返回文件名。
                           @fname   - 返回不带扩展名的文件名。
                           @ext     - 只返回文件的扩展。
                           @path    - 返回文件的完整路径。
                           @relpath - 返回文件的相对路径。
                           @isdir   - 如果文件类型是目录,返回 "TRUE";
                                      如果是文件,返回 "FALSE"。
                           @fsize   - 以字节为单位返回文件大小。
                           @fdate   - 返回文件上一次修改的日期。
                           @ftime   - 返回文件上一次修改的时间。
                           要在命令行包括特殊字符,字符请以 0xHH
                           形式使用十六进制代码(例如,0x09 为 tab)。
                           内部 CMD.exe 命令前面应以 "cmd /c" 开始。
       /D    date          选择文件,其上一次修改日期大于或等于 (+),
                           或者小于或等于 (-) 用 "yyyy-MM-dd" 格式指定的日
                           或选择文件,其上一次修改日期大于或等于 (+)
                           当前日期加 "dd" 天,或者小于或等于 (-) 当前
                           日期减 "dd" 天。有效的 "dd" 天数可以是
                           0 - 32768 范围内的任何数字。如果没有指定,
                           "+" 被当作默认符号。
       /?                  显示帮助消息。
    例如:
    FORFILES /?
    FORFILES
    FORFILES /P C:/WINDOWS /S /M DNS*.*
    FORFILES /S /M *.txt /C "cmd /c type @file | more"
    FORFILES /P C:/ /S /M *.bat
    FORFILES /D -30 /M *.exe
                /C "cmd /c echo @path 0x09 在 30 前就被更改。"
    FORFILES /D 2001-01-01
                /C "cmd /c echo @fname 在 2001年1月1日就是新的。"
    FORFILES /D +2006-12-12 /C "cmd /c echo @fname 今天是新的。"
    FORFILES /M *.exe /D +1
    FORFILES /S /M *.doc /C "cmd /c echo @fsize"
    FORFILES /M *.txt /C "cmd /c if @isdir==FALSE notepad.exe @file"
         不熟悉的可以根据上面的例子,逐个联系,看看执行结果。
    3. 删除备份的批处理脚本 
          FORFILES /P D:/sqldataup /M *.bak /C "cmd /C del /Q @path" /d –5
         上述脚本的意思是:备份文件夹为D:/sqldataup,/d –5表示删除5天前的数据库备份,这个可以根据实际需要设定。

          注意:如果路径有空格,则应用""将路径引起来。如:"C:/my documents/database backup",否则出错。
    4. 通过计划任务调用批处理脚本如下图所示:(下图为在网上摘录)

     SQL Server 2005数据库定期备份 - jygwb - 千里行屋

          至此,数据库定期备份和清理备份可以实现了。清理备份还有其他方法,此文并不介绍。

     

  • 相关阅读:
    BUUCTF-[强网杯 2019]随便注
    Oracle 存储过程
    java.lang.OutOfMemoryError: Java heap space
    Oracle 约束
    Docker 学习1 容器技术基础入门
    Kubernetes 学习1 Devops 核心要点和k8s架构概述
    mysql Sql语句
    Shell 编程详解
    git 学习
    Linux awk学习
  • 原文地址:https://www.cnblogs.com/meimao5211/p/3337180.html
Copyright © 2020-2023  润新知