zoukankan      html  css  js  c++  java
  • 【转】SQL Server 2005数据库定期备份和删除历史备份记录

    一、SQL Server 2005数据库定期备份

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

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

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

    操作过程:

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

    图1

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

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


    图2

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

    图3

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

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

    图4

    说明:

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

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

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

    图5

    说明:

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

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

    图6

    图7


    说明:

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

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

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

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

    图8

    说明:

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

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

    图9

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

    图10

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



          至此,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. 通过计划任务调用批处理脚本如下图所示:(下图为在网上摘录)

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

  • 相关阅读:
    Tweet信息搜集工具tinfoleak
    Visual Studio 2017为Android APK包签名
    Arduino可穿戴教程之第一个程序——上传运行程序(四)
    基于NMAP日志文件的暴力破解工具BruteSpray
    CSS3边框圆角知识
    渐变的几个效果图
    错误类型
    prompt() 方法
    jQuery 遍历
    jquery的商品首页
  • 原文地址:https://www.cnblogs.com/storymedia/p/4436140.html
Copyright © 2011-2022 走看看