分类: SQL Server 20052011-01-06 16:25 3320人阅读 评论(1) 收藏 举报

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

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

SQL Server 2005数据库定期备份(非常详细)与 SQL Server 2005数据库备份定期清理的更多相关文章

  1. MS SQL数据批量备份还原(适用于MS SQL 2005+) 分类: SQL Server 数据库 2015-03-10 14:32 103人阅读 评论(0) 收藏

    我们知道通过Sql代理,可以实现数据库的定时备份功能:当数据库里的数据库很多时,备份一个数据库需要建立对应的定时作业,相对来说比较麻烦: 还好,微软自带的osql工具,比较实用,通过在命令行里里输入命 ...

  2. SQL Server 2008创建定期自动备份任务

    首先需要启动SQL Server Agent服务,这个服务如果不启动是无法运行新建作业的,点击“开始”–“所有程序”–“Microsoft SQL Server 2008”–“启动SQL Server ...

  3. SQL Server 2005 版本的操作系统兼容性详细列表

    操作系统要求(32 位) 此表显示对于每种 32 位版本的 SQL Server 2005,操作系统是否可以运行其服务器软件. 有关如何在 Windows Server 2008 上安装 SQL Se ...

  4. SQL Server中使用数据库快照的方式来完成测试环境中数据库的轻量级备份还原操作

    在开发或者测试环境的数据库中,经常会发现有开发或者测试人员误删除表或者数据的情况,对于开发或者测试库,一般都没有安排定时的备份任务去备份数据库,一方面是由于存储资源有限,不太可能给开发或者测试环境准备 ...

  5. 第16周翻译:SQL Server中的事务日志管理,级别3:事务日志、备份和恢复

    源自: http://www.sqlservercentral.com/articles/Stairway+Series/73779/ 作者: Tony Davis, 2011/09/07 翻译:刘琼 ...

  6. SQL8数据库定期自动备份

    我们知道,利用SQL Server 2008数据库可以实现数据库的定期自动备份.方法是用SQL SERVER 2008自带的维护计划创建一个计划对数据库进行备份, 下面我们将SQL SERVER 20 ...

  7. SQL2000数据库定期自动备份与修改

    SQL2000数据库定期自动备份与修改 http://www.veryhuo.com 2009-11-19 烈火网 投递稿件 我有话说   在SQL server企业管理器中,可以设置数据库的定期自动 ...

  8. SQL Server日志文件过大 大日志文件清理方法 不分离数据库

    SQL Server日志文件过大    大日志文件清理方法 ,网上提供了很多分离数据库——〉删除日志文件-〉附加数据库 的方法,此方法风险太大,过程也比较久,有时候也会出现分离不成功的现象.下面的方式 ...

  9. 在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连

    在建立与服务器的连接时出错.在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连 sql server服务器sqlserver远程连接数据库防火墙在建立 ...

随机推荐

  1. JS——冒泡排序

    核心思想: 1.外层for循环控制比较的轮数 2.内层for循环控制每轮比较的次数 3.外层每进行一轮比较,内层就少一次比较,因为外层每进行一轮比较都会产生一个最大值 <script> v ...

  2. JS——设置cookie

    cookie 用来识别用户. <html> <head> <script type="text/javascript"> function ge ...

  3. dubbo之令牌验证

    防止消费者绕过注册中心访问提供者 在注册中心控制权限,以决定要不要下发令牌给消费者 注册中心可灵活改变授权方式,而不需修改或升级提供者 可以全局设置开启令牌验证 <!--随机token令牌,使用 ...

  4. Python基础——列表、元组操作

    列表.元组操作 列表: 列表是Python中最基本的数据结构,列表是最常用的Python数据类型,列表的数据项不需要具有相同的类型.列表中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0 ...

  5. java_servlet执行流程和生命周期

        

  6. windows上关闭Nagle算法

    下面的设置可以调整或禁用 nagel 算法.禁用 nagel 算法以后, 允许很小的包没有延迟立即发送.建议对某些游戏关闭 nagel 算法, 这样做对文件传输/吞吐量有负面影响.默认状态( 开启na ...

  7. 7-9 旅游规划 (25 分)(Dijkstra算法)

    题意: ​ 思路:单源最短路问题,Dijkstra算法搞定就可以了,因为要找出最便宜的最短路,所以需要在更新最短距离的时候加一个条件(即当最短距离相等的时候,如果该路径的花费更小,就更新最小花费)就可 ...

  8. UVALive 3026(KMP算法)

    UVALive 3026     KMP中next[]数组的应用: 题意:给出一个字符串,问该字符串每个前缀首字母的位置和该前缀的周期. 思路:裸KMP直接上就是了: 设该字符串为str,str字符串 ...

  9. uva1584 Circular Sequence(Uva-1584)

    vj:https://vjudge.net/problem/UVA-1584 这个题讲的是一个圆环,圆环上面有一堆字母,找出字典序最小的那一圈 这个题我觉得直接用c语言的strcmp那一套感觉真是用不 ...

  10. ES6 基础学习

    ECMAScript 6 标准入门 一.let和const let命令 let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效:是块级作用域,且let不允许 ...