WEB开发网
开发学院数据库MSSQL Server SQL Server 2005 实现自动化管理 阅读

SQL Server 2005 实现自动化管理

 2010-10-01 10:20:57 来源:WEB开发网   
核心提示: 常用参数:@JOB_ID作业ID@JOB_NAME 作业名称@NAME 调度名称@ENABLED调度的当前状态@FREQ_TYPE用于指明何时将执行作业的值值 描述 1 一次 4 每天 8 每周 16 每月 32 每月,与 freq interval 相关 64 当 SQLServerAgent

常用参数:

@JOB_ID 作业ID

@JOB_NAME 作业名称

@NAME   调度名称

@ENABLED 调度的当前状态

@FREQ_TYPE 用于指明何时将执行作业的值

值 描述

1 一次

4 每天

8 每周

16 每月

32 每月,与 freq interval 相关

64 当 SQLServerAgent 服务启动时运行

128 计算机空闲时运行

@FREQ_INTERVAL 作业执行的天数

@FREQ_SUBDAY_TYPE 

创建步骤: SP_ADD_JOBSTEP

将一个步骤添加到作业中

常用参数:

@JOB_ID 作业ID

@JOB_NAME 作业名称

@STEP_NAME 步骤的名称

@SUBSYSTEM  此计划所适合的类型

@COMMAND  此计划所使用的命令

@ON_SUCCESS_ACTION  成功时的操作

@ON_FAIL_ACTION   失败时的操作

值 描述(操作)

1 成功后退出  成功默认值

2 失败后退出  失败默认值

3 转到下一步

4 转到步骤 on_success_step_id 或是 on_fail_step_id

我们看一个综合的例子:定义每天晚上18:00自动对DUFEI数据库进行完全备份,每天的中午12:00差异备份

-- 定义操作员:

EXEC MSDB..SP_ADD_OPERATOR

@NAME='DUFEI',@NETSEND_ADDRESS='192.168.1.101'

--如果此操作员存在就删除

EXEC MSDB..SP_DELETE_OPERATOR @NAME='DUFEI'

--创建作业:

declare @jobid uniqueidentifier

exec msdb.dbo.sp_add_job @job_name=N'ITET数据库备份' ,

@ENABLED=1,@OWNER_LOGIN_NAME='server1ADMINISTRATOR',@NOTIFY_LEVEL_NETSEND=3,@NOTIFY_NETSEND_OPERATOR_NAME='DUFEI',@NOTIFY_LEVEL_EVENTLOG=3,

@job_id=@jobid output

--定义作业步骤:

DECLARE @SQL NVARCHAR(200),@DBNAME SYSNAME

SELECT @DBNAME=DB_NAME() --当前数据库名

SELECT @SQL=N'BACKUP DATABASE ITET TO DISK=''C:ITET.BAK''' --注意双引号

EXEC MSDB.DBO.SP_ADD_JOBSTEP @JOB_ID=@JOBID,@STEP_NAME=N'STEP1',

@SUBSYSTEM='TSQL',@DATABASE_NAME=@DBNAME,@COMMAND=@SQL

--定义作业调度:

EXEC MSDB..SP_ADD_JOBSCHEDULE @JOB_ID=@JOBID,@NAME=N'SCH1',@FREQ_TYPE=4,

@FREQ_INTERVAL=1,@FREQ_SUBDAY_TYPE=0X8,@FREQ_SUBDAY_INTERVAL=1,

@ACTIVE_START_DATE=NULL,@ACTIVE_END_DATE=99991231,@ACTIVE_START_TIME=000000,

@ACTIVE_END_TIME=235959

--  添加目标服务器 

 EXEC  msdb.dbo.sp_add_jobserver @job_id=@jobid,@server_name= N'(local)'  

--删除作业

EXEC MSDB.DBO.SP_Delete_JOB @JOB_NAME=N'ITET数据库备份'

文章来源:http://dufei.blog.51cto.com/382644/81326

上一页  2 3 4 5 6 7 

Tags:SQL Server 实现

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接