2011-02-01 45 views
1

我有一個包含使用徽章的圖像的文件夾。我有另一個包含圖像重命名版本的文件夾(該文件夾位於另一臺機器上)。確定這是SQL Server作業嗎?

我需要創建一個進程來複制和重命名找到的任何新圖像。名稱之間的映射位於SQL Server數據庫中。

將它創建爲SQL Server作業並使用xp_cmdshell來複制文件是不是一個好主意?這是我的第一本能,但我沒有這樣做過,所以我很好奇,如果有任何gottchas我應該知道...

回答

4

考慮到都回答對SO最簡單的問題,你 53分鐘前(當時我正在寫這篇文章的時候)問這個問題,但沒有答案表明沒有人做過,或者沒有人有任何強烈的感覺。

根據我自己的經驗,我有時會發現自己在考慮這一點,並總是選擇反對它。原因總是相同,相關操作隨着時間的推移變得更加複雜,並且在應用程序代碼中處理得更好。因此,在應用程序代碼中更容易處理它,並將結果存儲在數據庫中。

幾年前,我不再考慮這個問題,並將此選項從常規練習列表中刪除,因爲這種模式。

編輯:還有一件事(記得我說過我再也不想這麼做了?),這在回答你的另一個問題時我記得。這是因爲shell正在執行服務器的權限。你經常需要給服務器通常不會有的權限,這是不好的做法。

+2

我會繼續Ken的回答,並補充一點:如果你是一名SQL開發人員,但至少有一種中等重量的GP語言(我喜歡C#)並不舒服,你需要選擇一個並開始學習。 SQL很擅長它,但對於數據庫外的任務,比如簡單的ETL,它對於自動化你的工作是一個巨大的幫助。祝你好運! – 2011-02-02 00:09:07