none
關於排程與網芳檔案問題 RRS feed

  • 問題

  • 請問小弟的SQL Server, 要定期匯入1個放在 FileServer上的檔案,

    目前已經用 DTS的方式,設定好了, 目前手動 Run DTS都OK,

    但是在排程裡都是失敗, 這是權限問題嗎? 有辦法解決嗎?

     

    PS:檔案一定要放在 FileServer的資料匣上,

    而小弟沒有權限從 FileServer, 建立網路磁碟機將資料匣對應到SQL Server上

    2007年10月17日 上午 02:10

解答

  • 這是由於你手動執行時是以你們登入的使用者身份來執行,所以大部份是可以執行的,但是用排程的時候,則是以SQL Agent的啟動身份來執行,所以你要確認一下,你的啟動身份是否有足夠的權限執行此排程。

     

    另外你也可以參考這篇文章看一下,應該可以解決你的問題。

    http://support.microsoft.com/kb/298725/zh-tw

    2007年10月18日 下午 05:48

所有回覆

  • 這是由於你手動執行時是以你們登入的使用者身份來執行,所以大部份是可以執行的,但是用排程的時候,則是以SQL Agent的啟動身份來執行,所以你要確認一下,你的啟動身份是否有足夠的權限執行此排程。

     

    另外你也可以參考這篇文章看一下,應該可以解決你的問題。

    http://support.microsoft.com/kb/298725/zh-tw

    2007年10月18日 下午 05:48
  •  

    謝謝您的回覆,這個問題已經決解了

    目前有另1個問題, 如果是用程式(ASP),去 Run SQL Server 排程,

    那如何可以得知作業是否完成?成功與否

    2007年10月19日 上午 09:10
  • 這個問題屬於程式開發的範疇,在此簡單地說明可行的作法:

     

    在執行排程完畢之後,產生一個 log 檔案,然後於執行排程的 ASP 程式加上如下的 Metadata 宣告:

     

    <META HTTP-EQUIV=Refresh CONTENT="秒數; URL=http://xxx.xxx.xxx/xxx.asp">

     

    以便定時去執行某個 ASP 程式,來檢查 log 檔的內容,判斷作業是否完成,是否成功。

     

    可是這種作法會有一個問題,那就是當使用者關閉瀏覽器之後,就無法得知執行結果,這時候應該考慮讓執行排程的 ASP 程式只負責去執行排程,再用另外一支 ASP 程式讓使用者去執行它,以便檢查作業執行成功與否。

     

    PS:

    建議將此問題轉到 MSDN 論壇的「資料庫與程式開發」去發問。

    2007年10月20日 上午 03:26
    版主
  •  

    你可以檢查一下是否在SQL Server Agent的Log File Viewer 可以檢查執行的歷程,如果沒有的話,你只好在程式執行完成後自已寫一個資料表中,當做檢查用。

     

    Log File Viewer參考:http://www.mssqltips.com/tip.asp?tip=1021

    2007年10月20日 上午 08:38