當前位置:首頁 » 編程語言 » sql2008定時執行存儲過程
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql2008定時執行存儲過程

發布時間: 2022-09-09 21:05:27

sqlserver2008怎樣定時自動更新

  1. 新增列updatetime,用於記錄flag更改時間。

  2. 新建觸發器,監聽欄位flag更改為0時修改updatetime=getdate()。

  3. 新建存儲過程,檢查表中flag=0且時間相差當前時間5分鍾的,即修改。

  4. 新建作業,定期執行存儲過程(執行頻率根據你的資料庫來酌情決定)。


注意:存儲過程要考慮你的業務處理邏輯,避免死鎖。

㈡ 怎樣讓sqlserver後台定時執行某個存儲過程

SQL代理中添加工作計劃(job)

㈢ MSSQL資料庫中定時存儲的存儲過程

您好!要實現你要的功能;操作如下:
一、可以先寫好存儲過程的內容;放在目標資料庫中
二、在MSSQL的SQL server代理——〉作業——〉新建一個作業 在[常規]選項卡中 設置 名稱AUTOZY——〉在[步驟]選項卡中 點擊[新建作業]
三、在彈出的作業步驟窗口中;填寫步聚名稱(自己取一個)--運行身份選擇SA或者WINDOWS運行都可以---在資料庫處選擇 目標資料庫(這步很關鍵)---
在命令 處 寫 exec 存儲過程的名稱(這個不要寫錯)---點擊[確定] 返回上級窗口
四、選擇[計劃]選項卡 --在計劃窗口中可以具體設置怎麼樣定時運行的方案
五、設置好後 [確定]返回上級窗口---再點擊[確定]保存了這個作業
如有不明之處;歡迎CALL 我

㈣ sql server怎麼自動執行存儲過程

作業里定時執行存儲過程定時作業的制定
企業管理器
--管理
--SQL
Server代理
--右鍵作業
--新建作業
--"常規"項中輸入作業名稱
--"步驟"項
--新建
--"步驟名"中輸入步驟名
--"類型"中選擇"Transact-SQL
腳本(TSQL)"
--"資料庫"選擇執行命令的資料庫
--"命令"中輸入要執行的語句:
EXEC
存儲過程名
...
--該存儲過程用於創建表
--確定
--"調度"項
--新建調度
--"名稱"中輸入調度名稱
--"調度類型"中選擇你的作業執行安排
--如果選擇"反復出現"
--點"更改"來設置你的時間安排
然後將SQL
Agent服務啟動,並設置為自動啟動,否則你的作業不會被執行
設置方法:
我的電腦--控制面板--管理工具--服務--右鍵
SQLSERVERAGENT--屬性--啟動類型--選擇"自動啟動"--確定.

㈤ sql server 怎麼定時執行存儲過程

sql
server中執行帶參數的存儲過程的方法是:
exec
存儲過程名字
'參數1','參數2',數值參數
exec
是一個關鍵字。
字元串參數使用單引號括起來,數值參數不需要使用單引號

㈥ sql2008 如何定時執行存儲(每月1號凌晨2點自動執行存儲proc_Sales_order)

IFEXISTS(SELECT*FROMmsdb.dbo.sysjobsWHEREname='啟用pubs資料庫')
EXECmsdb.dbo.sp_delete_job@job_name='啟用pubs資料庫'

--定義創建作業
DECLARE@jobiniqueidentifier
EXECmsdb.dbo.sp_add_job
@job_name=N'啟用pubs資料庫',
@job_id=@jobidOUTPUT

--定義作業步驟
DECLARE@sqlnvarchar(400),@dbnamesysname
SELECT@dbname=N'master',--資料庫聯機或者離線只能在master資料庫中進行
@sql=N'ALTERDATABASEpubsSETONLINE'--使用pubs資料庫聯機(啟用)
EXECmsdb.dbo.sp_add_jobstep
@job_id=@jobid,
@step_name=N'啟用pubs資料庫處理',
@subsystem='TSQL',
@database_name=@dbname,
@command=@sql

--創建調度(使用後面專門定義的幾種作業調度模板)
EXECmsdb..sp_add_jobschele
@job_id=@jobid,
@name=N'啟用pubs資料庫處理調度',
@freq_type=4,
@freq_interval=1,
@freq_subday_type=0x1,
@freq_subday_interval=1,
@active_start_time=075000--每天07:50分執行

--添加目標伺服器
DECLARE@servernamesysname
SET@servername=CONVERT(nvarchar(128),SERVERPROPERTY(N'ServerName'))
EXECmsdb.dbo.sp_add_jobserver
@job_id=@jobid,
@server_name=@servername


--給你一個例子不懂在問我

㈦ SQL Server 里需要定時執行某個存儲過程,存儲過程怎麼寫

1、管理->SQL Server代理->作業(按滑鼠右鍵)->新建作業->
2、新建作業屬性(常規)->名稱[自定義本次作業的名稱]->啟用的方框內是勾號->
分類處可選擇也可用默認的[未分類(本地)]->所有者默認為登錄SQL Server用戶[也可選其它的登錄]->描述[填寫本次工作詳細描述內容];[ 創建作業分類的步驟:SQL Server代理->作業->右鍵選所有任務->添加、修改、刪除 ]
3、新建作業屬性(步驟)->新建->步驟名[自定義第一步驟名稱]->類型[Transact-SQL(TSQL)腳本]->資料庫[要操作的資料庫]->命令[ 如果是簡單的SQL直接寫進去即可,也可用打開按鈕輸入一個已寫好的*.sql文件如果要執行存儲過程,填exec p_procere_name v_parameter1,[ v_parameter2…v_parameterN]]->確定(如果有多個步驟,可以再次調用下面的新建按鈕;也可以對已有的多個步驟插入、編輯、刪除);
4、建作業屬性(調度)->新建調度->名稱[自定義調度名稱]->啟用的方框內是勾號->調度->反復出現->更改[調度時間表]->確定(如果只要保存此作業,不要定時做可以把啟用的方框內是勾號去掉);
5、建作業屬性(通知)->用默認的通知方法就好[當作業失敗時,寫入Windows應用程序系統日誌] ->確定。

㈧ SQL SERVER2008 中實現每到某時間,就執行特定的存儲過程,如何實現

提供4中方案: 1、可以用sql作業的方式來定時執行。 2、編寫服務,定時執行存儲過程。 3、利用ADO.Net的方式,timmer定時執行來實現。 4、如果是每天的某個時間段來執行的話,可以配置windows計劃任務來執行程序。程序中執行你的存儲過程。

㈨ sql server:如何設置自動執行的存儲過程

--方法1:作業里定時執行存儲過程定時作業的制定 企業管理器 --管理 --SQL Server代理 --右鍵作業 --新建作業 --"常規"項中輸入作業名稱 --"步驟"項 --新建 --"步驟名"中輸入步驟名 --"類型"中選擇"Transact-SQL 腳本(TSQL)" --"資料庫"選擇執行命令的資料庫 --"命令"中輸入要執行的語句: EXEC 存儲過程名 ... --該存儲過程用於創建表 --確定 --"調度"項 --新建調度 --"名稱"中輸入調度名稱 --"調度類型"中選擇你的作業執行安排 --如果選擇"反復出現" --點"更改"來設置你的時間安排 然後將SQL Agent服務啟動,並設置為自動啟動,否則你的作業不會被執行 設置方法: 我的電腦--控制面板--管理工具--服務--右鍵 SQLSERVERAGENT--屬性--啟動類型--選擇"自動啟動"--確定. --方法2:將存儲過程創建在master資料庫中,然後企業管理器中找到這個存儲過程--右鍵--屬性--勾選"每當sql server啟動時執行"。 或在master中創建存儲過程後,執行語句配置為自動啟動 use master exec sp_procoption '存儲過程名','startup','on' 自動執行存儲過程 SQL Server 啟動時能夠自動執行一個或多個存儲過程。這些存儲過程必須由系統管理員創建,並在 sysadmin 固定伺服器角色下作為後台過程執行。這些過程不能有任何輸入參數。 對啟動過程的數目沒有限制,但是要注意,每個啟動過程在執行時都會佔用一個連接。假如必須在啟動時執行多個過程,但無需並行執行,則能夠指定一個過程作為啟動過程,讓該過程調用其他過程。這樣就只佔用一個連接。 在啟動時恢復了最後一個資料庫後,即開始執行存儲過程。若要跳過這些存儲過程的執行,請將啟動參數指定為跟蹤標記 4022。假如以最低配置啟動 SQL Server(使用 -f 標記),則啟動存儲過程也不會執行。有關更多信息,請參見跟蹤標記。 若要創建啟動存儲過程,必須作為 sysadmin 固定伺服器角色的成員登錄,並在 master 資料庫中創建存儲過程。 使用 sp_procoption 能夠: 將現有存儲過程指定為啟動過程。

㈩ 如何讓sql自動定時執行某個存儲過程

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_jobschele @job_name=@jobname!