第一步:新建存儲過程gsgl
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[gsgl]?? AS??? --
sdgsDbBackUp存儲過程名稱
declare
@filename nvarchar(100),--文件名
@NowDay int --設(shè)置時間
set @filename='F:\Data\sdgs_DB'+ convert ( nvarchar(11) ,getdate() , 112 ) +'.bak' --文件路徑及文件名
print @filename BACKUP DATABASE [sdgs] TO DISK = @filename WITH INIT , NOUNLOAD , NAME = N'sdgs數(shù)據(jù)備份', NOSKIP , STATS = 10, NOFORMAT
--啟用xp_cmdshell
EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;
--刪除一周前的備份
declare @cmd varchar(40)
set @cmd='del F:\Data\sdgs_DB'+ convert ( nvarchar(11) ,getdate()-7 , 112 ) +'.bak'
exec xp_cmdshell @cmd
第二步新建存儲過程sdgs_BackUp
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
CREATE PROCEDURE [dbo].[sdgs_BackUp] AS
DECLARE @jobid uniqueidentifier, @jobname sysname
SET @jobname = N'sdgs_BackUp'
IF EXISTS(SELECT * FROM msdb.dbo.sysjobs WHERE
name=@jobname
)
EXEC msdb.dbo.sp_delete_job @job_name=@jobname
EXEC msdb.dbo.sp_add_job
@job_name = @jobname,
@job_id = @jobid OUTPUT
--定義作業(yè)步驟
DECLARE @sql nvarchar(4000),@dbname sysname
SELECT @dbname=DB_NAME(), --作業(yè)步驟在當(dāng)前數(shù)據(jù)庫中執(zhí)行
--執(zhí)行存儲過程gsgl
@sql=N'exec (''gsgl'') '
--一般定義的是使用TSQL處理的作業(yè),這里定義要執(zhí)行的Transact-SQL語句
EXEC msdb.dbo.sp_add_jobstep
@job_id = @jobid,
@step_name = N'sdgs_BackUp',
@subsystem = 'TSQL', --步驟的類型,一般為TSQL
@database_name=@dbname,
@command = @sql
--創(chuàng)建調(diào)度(使用后面專門定義的幾種作業(yè)調(diào)度模板)
EXEC msdb..sp_add_jobschedule
@job_id = @jobid,???????????
@name = N'dd',?????????????? --作業(yè)計劃屬性,名稱
@freq_type=4,??????????????? --頻率,執(zhí)行 每天
@freq_interval=1,??????????? --頻率,執(zhí)行間隔 1天。即:指定每一天發(fā)生一次.
@freq_subday_type=0x4,?????? --重復(fù)方式,0x1=在指定的時間,0x4=多少分鐘,0x8=多少小時執(zhí)行一次
@freq_subday_interval=6,???? --重復(fù)周期數(shù),這里6分鐘執(zhí)行一次
@active_start_date = NULL,?? --作業(yè)執(zhí)行的開始日期,為NULL時表示當(dāng)前日期,格式為YYYYMMDD
@active_end_date = 99991231, --作業(yè)執(zhí)行的停止日期,默認(rèn)為99991231,格式為YYYYMMDD
@active_start_time = 00000, --作業(yè)執(zhí)行的開始時間,格式為HHMMSS
@active_end_time = 235959??? --作業(yè)執(zhí)行的停止時間,格式為HHMMSS
EXEC?? msdb.dbo.sp_add_jobserver????
@job_name?? =?? 'sdgs_BackUp'?? ,??
@server_name?? =?? N'(local)'
第三步,在前臺頁面代碼中執(zhí)行存儲過程:[sdgs_BackUp] ,自動創(chuàng)建作業(yè)!!作業(yè)的機制使軟件自動進(jìn)行數(shù)據(jù)庫備份
轉(zhuǎn)自: http://hi.baidu.com/%BC%D2%C0%EF%B5%C4%B3%A4%BD%AD%CB%AE/blog/item/06b21f6122aa464eeaf8f858.html
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
