2012-04-02 61 views
0

我知道如何從這個create-sql-server-job-automatically更改SQL作業動態

我有這種技術的問題,動態創建工作是清理被要求刪除所有這些工作,我創建 我所尋找的是一個方式將參數傳遞給作業或動態地更改作業步驟

背景 我有一系列SSIS作業,我需要測試人員來運行。我被擊落創建一個網頁來調用位於數據庫服務器上的WCF服務來執行該程序包。我無法使用xp_cmdshell。所以第三個選項是通過一個sql作業來調用這個包。現在,儘管我可以在每個包中創建一個作業,但理想情況下,我希望有一個作業可以傳入包名稱,配置文件以及一些動態變量。

看着這篇文章Calling SSIS Package from Stored Procedure in SQL Server 2008 我可以看到我是如何創建動態包的,同樣關心的是清理作業。

約束 我下去動態創建工作的道路的原因是以下約束的結果

The testers do not have Sql installed on there machine so they do not have access 
to the BIDS environment nor DTEXEC 

For reasons not completely logical I am restricted from using c# and building a 
WCF service that would call the package through code 

I can not use xp_cmdshell due to permission and security issues. 

現在,如果有更好的方法來處理這不SQL作業我開放的可能性,但主要目標是創建一個表單(網頁或窗口),測試人員可以選擇一個包,運行它並查看我們記錄的包運行的內部日誌。

+1

您是否在尋求解決您的基本需求(允許測試人員運行一系列SSIS軟件包)還是您正在尋找解決方案來清理動態作業? – billinkc 2012-04-02 16:01:03

+0

我猜,第一,理解,它不能用xp_cmdshell或.net – Mike 2012-04-02 16:56:54

+1

@Mike完成爲什麼測試人員不能安裝SQL Server工具?如果他們參與任何類型的技術測試,他們需要適當的工具。我認爲你最好的解決方案是去除妨礙你和你的測試人員高效工作的限制。你已經建議這些約束有些武斷,所以如果你還沒有這樣做,我會開始記錄你和測試者花費在這個任務上的時間,以便讓你的經理/客戶明白這些約束成本真錢。 – Pondlife 2012-04-03 12:40:38

回答

3

對於初學者,我提出了一個關於如何解決你所關聯問題的'更清晰'版本。去從那裏,這只是一小步到這裏:sp_add_job在這裏您可以找到@delete_level

Value Description 
----- ----------- 
0  Never 
1  On success 
2  On failure 
3  Always 

因此,在短期的解釋,如果你想工作後自己清理,根據使用@delete_level 1或3您的需求。

+0

謝謝,我第一次沒有看到。 – Mike 2012-04-02 17:29:40

0

您似乎在這裏混淆了兩個問題,但由於您的真正優先級似乎在執行軟件包,爲什麼不使用dtexec or dtexecui?您的測試人員可以輕鬆將其構建到測試腳本中,這似乎比使用作業更容易。

如果因爲任何原因這是不可能的,那麼我認爲你將不得不解釋你有什麼限制和爲什麼(可能在一個新的問題)。運行軟件包通常很容易,但似乎你沒有完全自由的手來實現你想要的東西。

+0

我加了限制 – Mike 2012-04-03 12:23:07