澳门皇冠金沙网站-澳门皇冠844网站

热门关键词: 澳门皇冠金沙网站,澳门皇冠844网站

维护计划实现数据库备份,定时作业的设置方法

  实现每周六全量备份的需求

     1. 新建维护计划

    图片 1

 

 

      2. 给维护计划命名, 比如这里我们命名为"Saturday_full_backup"

图片 2

 

 

       3. 拖动工具箱, 创建维护计划的任务

图片 3

 

      4. 对任务进行设置, 参考如下图示(win10下, 设置任务的界面显示有点问题, 这里我截的是服务器的图)

          设置备份类型为:完整(全量)

图片 4

 

      5. 任务设置完成后, 设置子计划

        设置执行时间为:每周的周六, 晚上22点

      图片 5

 

图片 6

 

图片 7

 

      6. 备份策略设置完成后, 在左边的侧边栏里, 找到你创建的备份策略,

       SQL Server 代理 --> 作业 --> Saturday_full_backup.Subplan_1(你自己刚创建的备份策略)

        图片 8

 

      7. 右键点击该作业, 选择"作业开始步骤"

图片 9

 

      8. 作业执行成功后, 进入设置的备份文件夹,查看刚执行的备份任务

图片 10

 

      图片 11

 

 

至此, SQL Server数据库设置自动备份策略已完成~

  如果作业执行失败, 右键该作业, 查看"历史记录", 找到错误原因并修正

  一定要学会看报错日志, 这是以不变应万变的方法!

 

        

sp_delete_maintenance_plan_job

 

一. 简单介绍

SQL Server自带的维护计划是一个非常有用的维护工具,能够完成大部分的数据库的维护任务.

 

数据库的备份也是日常工作中非常重要的一个环节。备份的方法非常的多.

今天给大家介绍最简单的一种方法: 直接通过SQL Server Management Studio的图形界面去设置备份策略.

而且这种操作方式对于即时性的备份需求的响应也是最快的, 不需要写代码, 直接通过图形化界面设置就可以创建备份策略.

图片 12

 

源文来源于

跟作业执行相关的一些SQL Server知识:

三. 动手操作

操作步骤

1. 新建维护计划

2. 给维护计划命名

3. 创建维护计划的任务

4. 设置维护计划的任务

5. 设置子计划

6. 在作业中找到该计划, 并进行测试

7. 执行成功后, 在设置的备份文件中找到备份的bak文件

8. 若执行失败, 查看作业的历史记录并修正(一般可能是执行该作业的账号权限问题, 请自己探索)

 

4) 每个月的最后一个星期日的1:00:00执行数据库的完整备份;

 

二. 需求

下面就结合具体的工作场景来讲解如何创建备份策略.

例如, 对一个生产系统的备份一般是这样要求的:

  • 1. 每周六一个全量备份 (本篇文章只实现这个需求, 另外两个请大家参照需求1去实现)

  • 2. 工作日时间每天一个增量备份

  • 3. 全部的备份在一个月之后自己主动删除

之前写过一篇关于备份的文章:SQL Server 维护计划实现数据库备份,上面文章使用完整备份和差异备份基本上能解决数据库备份的问题,但是为了保障数据更加安全,我们需要再次完善我们的备份计划;

图片 13

Barfoo.Medusa_backup_2012_12_11_120005_8434417.trn

如果想把作业由一台机器迁移到另一台机器,可以先保留好创建作业的脚本, 然后在另一台机器上运行。

(Figure4:子计划Diff)

比如是对TestDB操作,打开查询分析器,把下面的存储过程拷到里面执行下就行了,当然了,命名规则可以自动更改

sp_add_maintenance_plan

 

  1. 设置【清除历史记录】、【清除维护】的保留时间:

下面来创建作业吧。

3) Subplan_Log:保留日志备份文件1周;(16个*7天=112个文件)

最近在看作业历史记录时,发现有的作业记录的历史记录多,有的作业记录的记录的历史记录少。如何能使某些作业按各自的需求,保留一段时间.比如保留一个月的历史记录.看了SQL Server的在线帮助文档,里面介绍说:

图片 14

点作业右键可以查看作业执行的历史记录情况,也可以立即启动作业和停止作业。

图片 15

 

  1. 维护计划的可以通过T-SQL脚本生成嘛?

图片 16

(Figure11:Save文件)

如果SQL Server服务器改过机器名,管理是旧名称时建立的job的时候可能会遇到。错误14274: 无法添加、更新或删除从MSX服务器上发起的作业(或其步骤或调度)。看了Microsoft的文档:http://support.microsoft.com/default.aspx?scid=kb;en-us;281642说SQL Server 2000系统里msdb..sysjobs 里originating_server 字段里存的是原来的服务器的名称。24X7在用的系统肯定不能按上面Microsoft的文档说的那样把名字改回来又改过去。于是想,msdb..sysjobs 能否update originating_server 字段成现在在用的新服务器名?

2) 差异备份文件:Barfoo.Medusa_backup_2012_12_11_020005_8354977.bak

下面的步骤很重要。

SQL Server 维护计划实现数据库备份

这样就创建了一个BackupDatabase的存储过程。

(Figure2:子计划列表)

导出所有作业的创建脚本操作步骤:

  1. 下面的Figure3、Figure4、Figure5、Figure6是具体设置的效果图:

 

图片 17

 

3) Medusa_Log:用于存放日志备份文件;

update sysjobs set originating_server=‘new_server_name‘where job_id=‘B23BBEBE-A 3C1-4874-A4AB-0E2B7CD01E14‘

1. 备份计划中“每个月的最后一个星期日的1:00:00执行数据库的完整备份”这个可以换成“仅复制备份(COPY_ONLY)”,这样就需要在维护计划中使用T-SQL进行备份;

 

图片 18

USE [TestDB]    GO  
SET ANSI_NULLS ON   GO  
  SET QUOTED_IDENTIFIER ON   GO  
  CREATE PROCEDURE [BackupDatabase](
@FolderPath varchar(500)) 
   as   DECLARE @FullPath varchar(1000) 
   set @FullPath = @FolderPath  'TestDB_' convert(VARCHAR(4),year(getdate())) right( '0' convert(VARCHAR(2),MONTH(getdate())),2) right('0' convert(VARCHAR(2),DAY(getdate())),2)  '.bak'   backup database [TestDB] to disk=@FullPath WITH INIT   
 return 

Barfoo.Medusa_backup_2012_12_11_080005_4808937.trn

最后设置下自动备份的时间,也就是调度下即可

图片 19

(Figure3:子计划Full)

管理-SQL Server代理-作业(鼠标右键)-所有任务-生成SQL脚本-保存到下的某个sql文件 [Page]

1) 每周星期日的2:00:00执行数据库的完整备份;

添加步骤的时候,有点很重要,就是执行刚才我们创建的存储过程如图

在使用SSMS的还原的时候,系统会帮你找到最近的备份文件,并且进行了勾选,要完成上面的还原,根据我们之前的备份计划,我们需要文件:

首先要确认SQL Server Agent服务是在启动状态,

4) Medusa_Save:用于存放保留备份文件

 通常备份的方式有两种:手动备份和自动备份,如果数据库服务器中有这么多的数据库需要备份,那么手动备份必定是一个很大的工作量,这个时候我们可以采用另外一种备份方式---定时自动备份

(Figure7:Job列表)

 

Barfoo.Medusa_backup_2012_12_11_100005_6543553.trn

图片 20

Barfoo.Medusa_backup_2012_12_11_090005_4816881.trn

 

Barfoo.Medusa_backup_2012_12_11_110005_7645233.trn

图片 21

本文由澳门皇冠金沙网站发布于数据库研究,转载请注明出处:维护计划实现数据库备份,定时作业的设置方法