sql维护计划自动操作_第1页
sql维护计划自动操作_第2页
sql维护计划自动操作_第3页
sql维护计划自动操作_第4页
sql维护计划自动操作_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

在 SQL Server 中出于数据安全的考虑 所以需要定期的备份数据库 而备份数据库一般又是在凌晨时 间基本没有数据库操作的时候进行 所以我们不可能要求管理员每天守到晚上 1 点去备份数据库 要实现 数据库的定时自动备份 最常用的方式就是使用 SQL Server 代理中的作业 启动 SQL Server Agent 服务 然后在其中新建作业 作业中添加 1 个备份步骤 类型是 T SQL 脚本 然后在命令中输入如下 S QL 语句 该语句实现了对数据库 TestDB1 的完整备份 备份文件在 C 盘 Backup 文件夹中 文件名就 是 TestDB1 当时备份的日期字符串 bak declare name varchar 250 set name C Backup TestDB1 convert varchar 50 getdate 112 bak BACKUP DATABASE TestDB1 TO DISK name WITH NOFORMAT NOINIT NAME N TestDB1 完整 数据库 备份 SKIP NOREWIND NOUNLOAD 创建好步骤以后 接下来就是创建计划 创建计划的操作十分简单 界面上说明的很详细了 我就不多说 了 另外还可以配置警报和通知 不过一般很少用这个 使用 SQL 作业中执行 SQL 脚本进行备份的方法虽然已经很简单了 但是至少还是要去写 BACKUP 脚本 这点有些人觉得不爽 那有没有更简单 更懒的方法来实现数据库的自动定时备份呢 有 那就是 维 护计划 维护计划 是在 SSMS 的对象资源管理中 管理 节点下面 使用维护计划可以通过可视化的操作 只点 点鼠标就可以创建数据库维护的 SSIS 包 然后仍然是通过 SQL Server 作业的方式来运行 维护计划 与前面说到的备份方法本质的不同就是 维护计划是 SSIS 包 上面的是 T SQL 脚本 假设我们现在有一个生产系统的数据库需要进行备份 由于数据库中的数据很多 数据文件很大 如果每 次都进行完整备份那么硬盘占用了很大空间 而且备份时间很长 维护起来也很麻烦 对此我们可以采用 完整备份 差异备份的方式 每周日进行一次完整备份 每天晚上进行一次差异备份 使用差异备份可以 减小备份文件的大小 同时还可以提高备份的速度 不过缺点就是必须使用上一次完整备份的文件和差异 备份的文件才能还原差异备份时刻的数据库 单独只有差异备份文件是没有意义 下面我来讲一下如何通过维护计划来实现完整备份 差异备份 1 在 SSMS 的对象资源管理器中右击 维护计划 选择 维护计划向导 系统将弹出向导窗口 如图 这里向导已经告诉我们维护计划到底能够干什么了 其中最后一项 执行数据库备份 正是我们所需要的 2 点击 下一步 按钮 进入选择计划属性窗口 输入计划的名称 由于我们的计划包括 2 部分 完整 备份和差异备份 这 2 部分的执行计划是不一样的 一个是一周执行一次 另一个是一天执行一次 所以 要选择 每项任务单独计划 如图 3 单击 下一步 按钮 选择维护任务 这里就是可以在维护计划中执行的任务 如果你想执行的任务 在这里没有 那就还是不用维护计划来做 自己写 SSIS 包或者 SQL 语句吧 我们要执行的任务都在这 里 选中这 2 个任务 如图 4 单击 下一步 进入选择维护任务顺序的界面 这里我们可以看到选中的任务出现在列表中 但是我 们并不能调整其顺序 那是因为在步骤 2 中我们选择的是每项任务单独计划 所以这 2 个任务是独立的 没有先后顺序可言 如果当时选择的是另一个选项 那么这里就可以调整顺序了 5 选中 备份数据库 完整 然后单击 下一步 按钮 系统将转到定义完整备份任务的界面 如图 这个界面实在太长了 我把任务栏隐藏了都显示不完 出现了滚动条 这里我们选择要进行备份的数据库 选择为每个数据库创建备份文件 文件保存在 C 盘 Backup 目录下 扩展名是 bak 出于安全起见 我们可以选中 验证备份完整性 当然也可以不选 在 SQL2008 中提供了压缩备份的新特性 使得备份 文件更小 备份速度更快 这里我们就是由压缩备份 最后是选择执行计划 我这里选的是每周日晚上 0 点的时候执行 6 单击 下一步 按钮 进入差异备份任务的设置界面 和上一步的界面是一样的 操作也是一样的 计划这里我们可以选择除了周日以外的每天进行差异备份 如图 7 单击 下一步 按钮 进入选择报告选项 这里我们可以将这个维护计划的执行报告写入文本文件中 也可以讲报告通过电子邮件发送给管理员 如果要发送邮件的话 那么需要配置 SQL Server 的数据 库邮件 另外还要设置 SQL Server 代理中的操作员 关于邮件通知操作员的配置网上也讲的比较多 我这里就不详述了 8 单击 下一步 按钮 进入 完成该向导 的界面 系统列出了向导要完成的工作 如图 9 单击 完成 按钮 向导将创建对应的 SSIS 包和 SQL 作业 10 完成后 我们再刷新下对象资源管理器 我们可以看到对应的维护计划和该计划对应的作业 现在维护计划是创建好了 急着想看看执行后的效果如何 不需要等到晚上 12 点去了 在 作业 下面 右击 DbBackupPlan Subplan 1 选择 作业开始步骤 系统便立即执行该作业 系统运行完成后 我们 便可在 C Backup 文件夹下面有我们做的完整备份的备份文件 以上的操作可以是纯粹的无键盘操作 不用写任何脚本 只需要点点鼠标即可 这里需要注意的是 我们如果不是周日制定的该维护计划 那么制定该维护计划前一定要做个完整备份 而且该备份至少要保留到下周 不然到时候出了问题 发现只有这几个工作日的差异备份 而上一次的完 整备份又被删了 那就郁闷了 除了使用维护计划向导以外 我们还可以直接新建维护计划 也可以修改意见创建的维护计划 我们就以 修改维护计划为例 对于前面创建好的完整备份 差异备份维护计划 现在我们需要每周对数据库备份 进行一次清理 在完整备份完成后 要将 1 个月前的备份删除掉 那么我们只需要修改一下维护计划即可 具体操作如下 1 右击我们的维护计划 在弹出式菜单中选择 修改 选项 系统将新建一个选项卡来显示当前的维护 计划 如图 左下角是可用的维护计划组件 右下面板是维护计划的流程设置面板 其上面就是该计划的子计划列表 2 选中 Subplan 1 子计划 也就是每周完整备份的子计划 将 清除历史记录 任务从工具箱中拖拽 到计划面板中 然后在面板中单击 备份数据库 完整 组件 系统将显示一个绿色的箭头 将绿色箭头 拖拽到 清除历史记录 组件上 如图 也就是说在成功完整备份了数据库后 接下来才执行清除历史记录任务 3 右击 清除历史记录 任务 在弹出式菜单中选择 编辑 选项 系统将弹出清除历史记录任务设置窗 口 如图 这里既可以清除历史记录日志 也可以删除硬盘上的历史数据 这里我们要删除 4 周前的历史备份数据 单击 确定 回到计划面板 我们可以看到原本 清除历史记录 任务上的小红叉不见了 单击 保存 按钮 该计划便保存起来 说明 我在 SQL2008 中文版虚拟机里面做的时候一旦修改维护计划 保存的时候 就报错灾难性故障 不过我本机的英文版是正常的 不知道是我虚拟机的问题还是中文版的 Bug 反正 在英文版里面是对的 这样修改后 以后我们都不用手动去删除那些很久以前的数据库备份了 系统在执行完备份后就会删除那 些满足条件的备份数据 另外如果用过

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论