2013-02-07 29 views
4

我有一個存儲過程運行BCP來QUERYOUT一些數據的工作。如何授予對SQL Server代理的訪問權限以便能夠寫入/修改系統文件?

如果我自己運行QUERYOUT命令,它會起作用。

但是,如果我嘗試在作業中運行它,它會創建文件但「掛起」並且數據永遠不會放入文件中。這永遠掛起,所以我通常終止BCP.exe。

我的問題是:

我如何獲得一個SQL作業運行BCP做QUERYOUT和有權限這樣做呢?

QUERYOUT將進入C:\驅動器(因此沒有任何花哨或任何東西)。

這個問題使我瘋狂,從在線閱讀,它看起來像運行作業的用戶需要對文件夾的權限。該文件夾不受保護或任何東西。

SQL作業的所有者是SQL中SYS ADMIN組的一部分。

任何幫助將不勝感激。

回答

12

檢查用戶分配給SQL Server代理服務。打開services.msc,找到SQL Server代理並檢查登錄屬性。將有一個LocalSystem用戶(不太可能,基於你所描述的)或另一個用戶。

檢查用戶是否有「寫入」權限來嘗試寫入BCP轉儲。

+0

好吧,這很奇怪。此用戶已設置爲我們的管理員帳戶。我剛剛創建了另一個工作,使用新的存儲過程,執行BCP查詢,並且它工作正常!你認爲這可能與我原來的工作有交易和其他sprocs嗎? –

+0

是否有可能在您的Job步驟中沒有指定正確的數據庫或登錄? – cha

+0

+1感謝您提供簡單有效的檢查服務登錄詳細信息的答案。 – Pricey

相關問題