/*--建立作業
--鄒建 2003.10--*/
/*--呼叫示例
--每月執行的作業
exec p_createjob @jobname='mm',@sql='select * from syscolumns',@freqtype='month'
--每週執行的作業
exec p_createjob @jobname='ww',@sql='select * from syscolumns',@freqtype='week'
--每日執行的作業
exec p_createjob @jobname='a',@sql='select * from syscolumns'
--每日執行的作業,每天隔4小時重複的作業
exec p_createjob @jobname='b',@sql='select * from syscolumns',@fsinterval=4
--*/
if exists (select * from dbo.sysobjects where id = object_id(n'[dbo].[p_createjob]') and objectproperty(id, n'isprocedure') = 1)
drop procedure [dbo].[p_createjob]
gocreate proc p_createjob
@jobname varchar(100),--作業名稱
@sql varchar(8000),--要執行的命令
@dbname sysname='',--預設為當前的資料庫名
@freqtype varchar(6)='day',--時間週期,month 月,week 周,day 日
@fsinterval int=1,--相對於每日的重複次數
@time int=170000--開始執行時間,對於重複執行的作業,將從0點到23:59分
asif isnull(@dbname,'')='' set @dbname=db_name()
--建立作業
exec msdb..sp_add_job @job_name=@jobname
--建立作業步驟
exec msdb..sp_add_jobstep @job_name=@jobname,
@step_name = '資料處理',
@subsystem = 'tsql',
@database_name=@dbname,
@command = @sql,
@retry_attempts = 5, --重試次數
@retry_interval = 5 --重試間隔
--建立排程
declare @ftype int,@fstype int,@ffactor int
select @ftype=case @freqtype when 'day' then 4
when 'week' then 8
when 'month' then 16 end
,@fstype=case @fsinterval when 1 then 0 else 8 end
if @fsinterval<>1 set @time=0
set @ffactor=case @freqtype when 'day' then 0 else 1 end
exec msdb..sp_add_jobschedule @job_name=@jobname,
@name = '時間安排',
@freq_type=@ftype , --每天,8 每週,16 每月
@freq_interval=1,--重複執行次數
@freq_subday_type=@fstype,--是否重複執行
@freq_subday_interval=@fsinterval, --重複週期
@freq_recurrence_factor=@ffactor,
@active_start_time=@time --下午17:00:00分執行
-- 新增目標伺服器
exec msdb.dbo.sp_add_jobserver
@job_name = '資料處理' ,
@server_name = n'(local)'
go
讓SQL自動備份並壓縮
可以參看 這裡就講如何讓產生後的備份檔案自動壓縮並刪除原始檔的方法 其實這裡利用的是winrar的命令列來執行壓縮並刪除原始檔的方法的 winrar命令列的壓縮命令是 winrar路徑 a 引數 壓縮後的路徑 需要壓縮的檔案路徑 這是本文需要用到的命令格式 之後我們就要解決如何讓sql來執行這個命令...
如何讓程式自動管理執行緒
private handle m handle 顯然,我們僅有這一個類還不能完成我們所需的工作,我們還要一個負責具體監控的threadtask類,threadtask類中有一個監控執行緒threadtaskfunc 負責監控並刪除執行緒。該類定義如下 class cthreadtask public...
如何讓程式隨開機自動啟動
if 需要開機啟動 得到程式自身的全路徑 dword dwret getmodulefilename null,pfilename,max path 新增一個子key,並設定值 下面的 test 是應用程式名字 不加字尾.exe lret regsetvalueex hkey,test 0,reg ...
如何讓SQL Server 2005自動備份資料庫
sql server 2005中可以使用維護計劃來為資料庫自動備份,減少資料庫管理員的工作負擔,下文就主要為大家介紹一下sql2005資料庫自動備份的具體操作步驟。首先開啟sql server configuration manager,啟用sql server agent 例項名 sql serv...
如何讓textarea自動換行 注意wrap屬性
html的textarea控制元件的自動換行是由wrap控制的。wrap屬性定義了輸入內容大於文字域時顯示的方式,其實我們無法使textarea自動換行很多情況都是自己沒有加了不該加的屬性限制。你可能沒有注意到的它三個屬性 預設值是文字自動換行 當輸入內容超過文字域的右邊界時會自動轉到下一行,而資料...