USE [Common]
go
/*
* 创建存储过程---备份数据库
*/
Create PROCEDURE [dbo].[P_BackupDataBase]
AS
begin
declare @livePath varchar(100)
declare @wzhCommPath varchar(100)
declare @oaPath varchar(100)
set @livepath = 'D:\DataBase\Live\Live_' + replace(convert(varchar, getdate(), 111),'/','') + '.bak'
set @wzhCommPath = 'D:\DataBase\WZHComm\WZHComm_' + replace(convert(varchar, getdate(), 111),'/','') + '.bak'
set @oaPath = 'D:\DataBase\OA\OA_' + replace(convert(varchar, getdate(), 111),'/','') + '.bak'
Backup DataBase LiveClient to Disk = @livepath
Backup DataBase WZHComm to Disk = @wzhCommPath
Backup DataBase OA to Disk = @oaPath
end
go
use msdb
go
/*
* 创建自动备份数据库作业
*/
IF EXISTS(SELECT * FROM msdb.dbo.sysjobs WHERE name='BackupData')
EXEC msdb.dbo.sp_delete_job @job_name='BackupData' --删除已存在作业
Exec Sp_Add_Job @Job_Name = 'BackupData', --添加作业
@Enabled = 1,
@Description = '每日00:01:00更新活动状态',
@Start_Step_id = 1,
@Owner_Login_Name = 'tech'
Exec Sp_Add_JobServer @Job_Name = 'BackupData' --创建作业
Go
/* 设置作业 */
Exec Sp_Add_JobSchedule @Job_Name = 'BackupData', --创建调度
@name = 'UpdateActStatus00:01:00', --调度名称
@Freq_type = 4, --4 代表每天
@Freq_interval = 1 , --制定每多少@Freq_Interval执行一次 这里是每天
@Active_Start_Date = null, --作业执行开始日期 为Null时表示当前日期 格式为YYYYMMDD
@Active_End_Date = 99991231, --作业执行的停止日期,默认为99991231 格式YYYYMMDD
@Active_Start_Time = 000100, --作业执行的开始时间,格式为HHMMSS,这里设定为凌晨0点01分 .
@Active_End_Time = 040000 --作业执行的停止时间,格式为HHMMSS,这里是凌晨4点
Go
Exec Sp_Add_JobStep @Job_Name = 'BackupData',
@Step_Name = '备份数据库', --作业步骤名称
@SubSystem = 'TSql', --步骤类型 一般为TSQL
@Command = 'Exec P_BackupDataBase', --作业步骤内容 Sql语句
@DataBase_Name = 'Common' --作业所在数据库
Go