第三步,创建“数据库维护计划”。鼠标右键单击“数据库维护计划”项目,选择“新建维护计划(P)”功能,将打开“数据库维护计划向导”窗体,依照此向导能够创建一个新的“数据库维护计划”。
步骤1,单击“下一步(N)”按钮,打开“选择数据库”窗体。在此窗体中可以选定一个或多个的数据库作为操作对象。为了叙述方便,在此只选择了一个数据库“regie”。
步骤2,单击“下一步(N)”按钮,打开“更新数据优化信息”窗体。
在此窗体中可以对数据库中的数据和索引重新进行组织,以及能够设定在满足一定条件的情况下,维护计划自动删除数据库中的未使用的空间,以便提高性能。
但要注意的是,在此窗体中,只要选定了“重新组织数据和索引页[R]”复选框,“更新查询优化器所使用的统计。示例[D]”复选框将失效(变成灰色,不能选择)。而且“重新组织数据和索引页[R]”复选框和“从数据库文件中删除未使用的空间[M]”复选框二者只要有一个被选中,其下的“调度[s]”功能才有效。单击“更改[C]”按钮可以对“调度”进行自定义。
各位读者可以根据自身情况决定是否选用其中的功能。当然也可以通过单击“帮助”按钮来查看各功能的具体含义。
在此窗体中能够便捷地设定每项作业的持续运行时间和运行的频率。完成自己的设置后,一定要选定右上角的“启用调度[B]”复选框,这样一个作业调度才算真正完成了。
步骤3,单击“下一步(N)”按钮,打开“检查数据库完整性”窗体。
在此窗体中可以设定维护计划在备份数据库前自动检查数据库的完整性,以便检测由于硬件或软件错误而导致数据的不一致。在此窗体中只有先选定了“检查数据库完整性[H]”复选框,其下的“备份之前执行这些检查[R]”和“调度[S]”功能才有效。单击“更改[C]”按钮可以对“调度”进行自定义。
各位读者可以自主决定,较好的一种做法就是选中“检查数据库完整性[H]”复选框(推荐,因为有可能会修正一些错误)。
步骤4:在“检查数据库完整性”窗体中的“下一步(N)”按钮,打开“指定数据库备份计划”窗体。如需对数据库进行备份,则必须选定“作为维护计划的一部分来备份数据库[A]”复选框,而且必须指定存储备份文件的位置:磁带[P]或磁盘[K]。
如果选择“磁盘[K]”作为数据库备份的位置,设定“调度”后单击“下一步(N)”按钮则显示“指定备份磁盘目录”窗体。
可以具体指定存储备份文件的目录(可以使用默认的目录,也可自定义)、备份文件扩展名,而且能够指示备份计划自动地删除早于某个时间(图4中设定的是“2天”,也就是说两天前的所有备份文件将被自动地删除,只留下最近两天的备份)的备份文件。而“为每个数据库创建子目录[C]”功能只是在步骤1中选择了多个数据库时才有用,对于一个数据库作用不大。设定后,单击“下一步(N)”按钮则显示“指定事务日志备份计划”窗体。
如果选择“磁带[P]”作为数据库备份的位置,设定“调度”后单击“下一步(N)”按钮则直接显示“指定事务日志备份计划”窗体。
步骤5,指定“事务日志备份计划”的过程与步骤4的过程完全相同,只是在设定“调度”上稍有差别(因为笔者的要求是数据库每天备份一次,事务日志每1小时备份一次)。
步骤6,对事务日志的备份计划全部设定后,单击“下一步(N)”按钮则显示“要生成的报表”窗体。在此窗体中可以指定用于存放整个备份计划执行过程中的日志的目录。
步骤7,完成步骤6后,单击“下一步(N)”按钮则显示“维护计划历史纪录”窗体。在此窗体中可以指定如何存储此维护计划的历史记录(是存放在“本地服务器”上,还是在“远程服务器”上),而且通过指定表中的行数可以限定历史记录的存储大小。
步骤8,完成步骤7后,单击“下一步(N)”按钮则显示“正在完成数据库维护计划向导”窗体。
在此窗体中可以自定义一个“计划名[P]”(推荐,这样便于管理和识别),当然也可使用默认的“计划名[P]”。而且还可以通过对“计划名[P]”下的文本框中的内容进行确认,如有误,则可通过单击窗体中的“上一步[B]”按钮退回到相应的窗体进行修改。
步骤9,完成步骤8后,单击“完成”按钮,则显示“维护计划已创建成功。”的提示框,再单击“确定”按钮即成功地设定了一个新的数据库维护计划。
已经成功地创建了一个新的数据库维护计划——“regie备份”。
第四步,维护和管理“数据库维护计划”。第三步完成后,对各个“数据库维护计划”的日常维护和管理都非常方便,只需要双击“数据库维护计划”即可对第三步中所涉及的内容进行变更、修正。
鼠标右键单击“regie备份”,单击“属性[R]”,或者直接双击“regie备份”,打开“数据库维护计划”窗体。在此窗体中集成了第三步中涉及的所有功能,每项功能都能任意修改,修改过程与第三步中的相应步骤一样。
但需要说明的是,在设定图4.1-9中的“报表”选项卡下的“文本报表”中的“删除早于此时间的文本报表文件[F]”选项时,也就是第三步中的步骤6中的内容,无论将其设定成“分钟”、“小时”、“天”,还是“月”,创建成功后都将被自动地更正为“周”,而且以后无论如何修改,保存后再去查看时它仍将显示为“周”,但这并不意味着其他选项无效,其他选项仍然有效。
第五步,启动SQL Server 2000代理以便执行“作业”。完成第三步后,还需启动SQL Server 2000 Agent(代理),以便执行“数据库维护计划”作业。
与展开SQL Server 2000“数据库维护计划”的步骤一样,在“管理”项目中,可以发现存在一个“SQL Server代理”。
单击“SQL Server代理”下的“作业”子菜单,在“企业管理器”窗口右侧将会显示出已经存在的作业项目。每个作业项目均包括以下数据列:
(1)名称。当然是指作业的名称,可以自定义,中英文皆可。为了理解方便,建议用中英文结合。每当新建立一个“数据库维护计划”,将自动生成以下默认名称的作业:
1)当新建的“数据库维护计划”中设定了“备份数据库”功能时,将生成默认名为“DB维护计划‘******’的DB备份作业”的作业。
2)当新建的“数据库维护计划”中设定了“备份事务日志”功能时将生成默认名为“DB维护计划‘******’的事务日志备份作业(多服务器)”的作业。
以上1)和2)中的“******”处将显示“数据库维护计划”中的“计划名”(也就是第三步步骤8中设定的“计划名”)。
(2)分类。指明该作业当前所属的类别。默认值为“[未分类(本地)]”。
(3)启用。指明该作业是否处于“启用”状态。
(4)可运行。指明该作业是否处于“可运行”状态。
(5)已调度。指明该作业是否处于“已调度”状态。
(6)状态。指明该作业当前的运行状态——不在运行、正在运行。
7)上次运行状态(开始日期):显示最近一次运行该作业后的状态(“已成功”、“失败”,还是“未知”),以及运行时的日期和时间。
(8)下次运行日期:指明下一次运行该作业的日期和时间。
鼠标右键单击“regie完全备份”作业,单击“属性[R]”,或者直接双击“regie完全备份”作业,打开作业的“属性”窗体。在此窗体中集成了该作业的详细的配置项。每个配置项都能任意修改。“属性”窗体中有四个选项卡:
1)常规。在此选项卡中可以重新设定作业名称(“名称[N]”文本框)、修改作业的分类(“分类[Y]”下拉框)、指定作业的所有者(“所有者[W]”下拉框)、简单地对作业进行描述(“描述[R]”文本框),以及决定是否启用此作业(“启用[E]”复选框)。
2)步骤。在此选项卡中可以新建、插入新的步骤,删除、编辑已有的步骤。
单击“编辑[E]”按钮,在“编辑作业步骤”窗体中的“常规”选项卡中的“命令[M]”文本框中可以查阅到该作业的执行语句。
3)调度。在此选项卡中可以新建调度、新建警报,删除、编辑已有的调度。
4)通知。在此选项卡中可以设定作业完成时(即当作业成功时、作业失败时)执行的操作,即发送电子邮件、传呼操作员、发出网络警报信息、写入Windows应用程序事件日志、自动删除等操作。
第六步,检查结果。经过上述五个步骤后,一个完整的备份数据库的计划就建立起来了。可以通过“资源管理器”来检查备份目录下是否存在相应地备份文件。
经过长时间的使用,如果以“保留2天的数据库完全备份和2天的每个一小时的事务日志备份”的备份策略来正确地建立了一个完整的数据库维护计划的话,无论何时查看相应备份目录下的文件,都应该存在102个文件:
(1)2个数据库的完整备份,即2个以“数据库名_db_yyyy mmddhhss.bak”格式为文件名的文件;
(2)3个与数据库完整备份相对应的操作过程的记录报告文件,即以“数据库名”+“备份4_yyyymmddhhss.txt”格式为文件名的文件;
(3)48个事务日志的差异备份,即2天各24个以“数据库名_tlog_yyyymmddhhss.trn”格式为文件名的文件;
(4)49个与事务日志的差异备份对应的操作过程的记录报告文件,即以“数据库名”+“备份6_vyyymmddhhss.txt”格式为文件名的文件。
以上文件名中,“数据库名”为第三步的步骤一中选定的数据库的名称;“yyyym mddhhss”是时间戳,其格式为:“YYYY”指“年”(4位数值),“mm”指“月”(2位数值,不足2位的补“0”),“dd”指“日”(2位数值,不足2位的补“O”),“hh”指“时”(2位数值,不足2位的补“0”),“ss”指“分”(2位数值,不足2位的补“0”)。
3.结束语
对于一个企业而言,日常运作中发生的各种业务所产生的所有数据,经过计算机不断地日积月累,逐渐成为公司的一种财富和资本。利用计算机,可以便捷地统计分析部分或全部的数据,通过各种形式的反馈(如图表、表格等),给公司的决策层用于参考,便于为公司的今后决策提供指导和帮助。正基于此,这些数据的价值随着时间的延续正呈现出几何速度的增长。因此笔者认为,对于数据的备份工作是网管员日常工作中最重要的工作之一。
通过这次“数据库维护计划”的创建,笔者略有感受:
(1)经过这么长时间的运用,“数据库维护计划”仍然存在不足之处,虽说“数据库维护计划”功能很强大,但是它最终的结果是生成一项作业,由“SQL Server 2000 Agent”服务定期执行它来完成对数据库的备份工作。这就要求“SQL Server 2000 Agent”服务能够正常地“运行”。从多次安装来看,在Windows 2000系统中“SQL Server 2000 Agent”服务能够正常运行,而且能随Windows 2000的启动自动运行。但是在Window 98系统(包括第二版)中,却不能正常运行。所以说,在Windows 98系统中即使依照上述步骤成功地创建了“数据库维护计划”,也会因为“SQL Server 2000 Agent”服务无法启动而变得没有任何作用。
(2)之所以选择“完全备份”,主要在于,在进行完全备份时,SQL Server将.mdf与其对应的.1df文件进行对比,删除一些旧的、不必要的日志,然后将.mdf和.1df文件进行合并、压缩后一起存储。其优点是能最大可能地、完整地保存数据库;缺点是存储量随着数据库的增大而增大,存储时间也将随着数据库的增大而延长。
(3)在建立“数据库维护计划”过程,各位读者应该尽可能地去使用各种选项、功能,以便加深对“数据库维护计划”的理解和掌握。
(4)虽然Intemet上有许多第三方备份软件和工具,但是大多数是共享版。由于担心知识产权问题、病毒问题和其他问题,所以笔者没有试用这些第三方软件。这样的话,它们的性能就不清楚了。也许这些软件的功能非常强大,能够满足更多的、更高的要求。在这里仅就Windows 2000和SQL Server 2000自带的“备份”工具和软件进行一个比较。