创建作业的SQL

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建作业的SQL相关的知识,希望对你有一定的参考价值。

创建备份MYDB的备份脚本,并删除5天前备份

USE msdb ;
GO
EXEC dbo.sp_add_job
    @job_name = ‘Job_backup_DB‘,  --作业的名称
    @enabled = 1, --指示添加的作业的状态(默认值为(启用))
    @description = ‘数据库定期备份作业!‘, --作业的说明
    @owner_login_name = ‘sa‘, --拥有作业的登录名
    @notify_level_eventlog = 2, --0 从不成功后(默认值)失败后始终
    @notify_level_email = 2, --默认值为,指示从不发送
    @notify_level_netsend = 2, --默认值为,指示从不发送
    @notify_level_page = 2, --默认值为,指示从不发送
    @category_id=3,    --作业的类别ID
    @delete_level = 0 ; --默认值为,不删除,用于指示何时删除作业
GO

USE msdb ;
GO
EXEC sp_add_jobstep
    @job_name = ‘Job_backup_DB‘, --步骤的作业的名称
    @step_name = ‘Job_backup_DB_step‘, --步骤的名称
    @[email protected]@servername,--服务器名称
    @database_name=‘master‘,--数据库名
    @subsystem = ‘TSQL‘, --Transact-SQL 语句\制表符--CHAR(9) 换行符CHAR(10) 回车CHAR(13) 
    @command =‘/*****完全备份******/
DECLARE @Path_MYDB Nvarchar(2000),@Path_MYDB_log Nvarchar(2000)
DECLARE @olddate datetime
Set @Path_MYDB =‘‘D:\DataBak\MYDB‘‘+CONVERT(NVARCHAR(10),getdate(),112)+‘‘.bak‘‘
Set @Path_MYDB_log =‘‘D:\DataBak\MYDB_log‘‘+CONVERT(NVARCHAR(10),getdate(),112)+‘‘.bak‘‘
--PRINT @bak_name
USE master
Backup Database [MYDB] to [email protected]_MYDB;
Backup Log [MYDB] to [email protected]@Path_MYDB_log
Use [MYDB]
DBCC SHRINKFILE (N‘‘MYDB_log‘‘ , 0, TRUNCATEONLY);
select @olddate=getdate()-5
execute master.dbo.xp_delete_file 0,N‘‘D:\DataBak\‘‘,N‘‘bak‘‘,@olddate‘, --添加要执行的SQL
    @retry_attempts = 2,--该步骤失败时的重试次数
    @retry_interval = 0.05 ; --两次重试之间的间隔时间(分钟)
GO
USE msdb ;    
GO
EXEC sp_add_schedule
    @schedule_name = ‘Job_backup_DB_plan‘ ,--计划的名称
    @freq_type = 4 , --指示作业执行时间的值为一次,为每天(,8,16,32等参考帮助文档)值为的次方
    @freq_interval = 1,--作业执行的天数说明同上
    @active_start_time = 010000 ;--数据类型为int,默认值为,指示小时制的上午:00:00,并且必须使用HHMMSS 的格式输入
GO
EXEC sp_attach_schedule
   @job_name = ‘Job_backup_DB‘, --计划的作业的名称
   @schedule_name = ‘Job_backup_DB_plan‘ ; --作业设置的计划的名称
GO

USE msdb ;
GO
EXEC dbo.sp_add_jobserver
    @job_name = ‘Job_backup_DB‘, --作业的名称
    @server_name = @@servername ; --该作业的目标服务器的名称
GO


本文出自 “枯叶” 博客,请务必保留此出处http://mydbs.blog.51cto.com/513727/1745284

以上是关于创建作业的SQL的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式创建 SQL Server 代理作业

sql sql里面的代码片段

如何在 pl/sql 中安排作业?

HTML5期末大作业:餐饮美食网站设计——咖啡(10页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 咖啡网页设计 美食餐饮网页设计...(代码片段

Microsoft SQL Server 代码片段收集

sql 代理创建一个新的作业 执行SISS包