标签:mssql job 备份
创建备份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‘, --步骤的名称 @server=@@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 disk=@Path_MYDB; Backup Log [MYDB] to disk=@@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
标签:mssql job 备份
原文地址:http://mydbs.blog.51cto.com/513727/1745284