創建備份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