2013-10-01 38 views
1

我正在用C#,.NET Framework 4.0和SQL Server開發WCF RESTful服務。從SQL Server表中刪除行的批處理

我必須在數據庫上每小時進行一次維護。我必須從表格中刪除一些行並更新另一個表格:

用戶可以每24小時發佈一天中的三個引號。我必須刪除24小時以前的每日報價。而且我必須更新用戶表格以及他當天的報價數量。

我的問題是,我不知道該怎麼做。我想我需要一個每小時運行一次的批處理過程並進行維護,但我不確定是否可以將此批處理過程添加到數據庫中,或者我必須將其添加到WCF RESTful服務中,否則我必須實現一個程序來執行此操作。

我該怎麼辦?我必須從表中刪除一些行並更新另一個表。

我認爲SQL Server數據庫和WCF RESTful服務將託管在亞馬遜上。

回答

1

有多種方式可以選擇這樣做。涌現在我的腦海裏有兩個選項: -

  1. 創建SQL Server作業 - 調用一個過程,將做要緊 - 並安排該作業運行每隔一小時

  2. 創建一個Windows服務 - 定期 - 在你的情況下每小時 - 做需要。

由於邏輯相對簡單,我寧願SQL Server作業。 如果您期望邏輯在一段時間內變得更加複雜,並且不希望處理長SQL過程,那麼可以考慮Windows服務選項。

0

如果您有權訪問Sql Server,請嘗試創建一個Job以刪除並更新所需的De行。 一個Sql Server作業可以運行你需要的任何東西。 您可以安排它的執行時間。 要創建一個Sql Server作業,只需執行sql server管理,connecto到sql server並轉到Sql Server Agent。

創建一份工作,然後創建工作步驟並對其進行編程。 如何創建一個SQL Server作業 http://technet.microsoft.com/en-us/library/ms190268.aspx 如果您不能查看在SQL Server代理來創建一個作業,problably你應該程序在你的服務使用SQLCMD創建一個批處理文件。

sqlcmd -S myServer\instanceName -i C:\myScript.sql 

然後使用Windows任務計劃程序進行計劃。 http://technet.microsoft.com/en-us/library/cc766428.aspx