我不知道預存程序等能否實現,但是SQL Server 2000的作業調度確實有這樣的功能,怎樣使某些SQL語句定時執行呢,依次進行下面的操作:
企業管理器
--管理
--SQL Server代理
--右鍵作業
--新增作業
--“常規”項中輸入作業名稱
--“步驟”項
--建立
--“步驟名”中輸入步驟名
--“類型”中選擇“Transact-SQL 指令碼(TSQL)”
--“資料庫”選擇執行命令的資料庫
--“命令”中輸入要執行的語句:
INSERT / DELETE ...
--確定
--“調度”項
--建立調度
--“名稱”中輸入調度名稱
--“調度類型”中選擇你的作業執行安排
--如果選擇“反覆出現”
--點“更改”來設定你的時間安排
(我們可以看到,最高的頻率是在“每日頻率”中將發生周期設定為1分鐘,也就是說用這種方法可以保證1分鐘的即時性,對於即時性要求不高的應用來說,這就足夠了)
最後要將SQL Agent服務啟動,並設定為自動啟動,否則你的作業不會被執設定SQL Agent服務自動啟動的方法:我的電腦--控制台--管理工具--服務--右鍵 SQLSERVERAGENT--屬性--啟動類型--選擇“自動啟動”--確定。
設定完之後呢,就可以在企業管理器中的“作業”中看到建立的作業名稱了,如果作業的“啟用”狀態是“否”,則在作業那一行點“右鍵”-“啟動作業”即可。
第二種方法:下面我們來介紹下如何通過bat來實現,上面的配置確實繁瑣。
1.把要執行的SQL語句準備好,例如:
use ttNew //使用ttNew資料庫
Go
insert into Users(name) values(" ") //往表Users插入一條記錄
將該語句儲存在檔案user.sql裡,放在d盤跟目錄下。
2.寫一個批次檔,例如:
再建立一個記事本,裡邊寫上語句osql -E -i d:\user.sql,儲存為11.bat
3.利用系統任務計劃調用批次檔,執行SQL語句
在系統程式->附件->系統工具->任務計劃
添加新任務計劃,點下一步,再點瀏覽,找到11.bat檔案,後,選擇執行時間,點下一步。一直點,最後輸入原生密碼,點完成。