2011-12-14 61 views
1

我正在獲取對象'xp_cmdshell'上的執行權限被拒絕。權限在對象上被拒絕xp_cmdshell

這裏的情況,我有一個名爲導出文件的存儲過程。 我從一個虛擬PC .. Web應用程序這個命令我得到允許誤差的執行過程中調用通過SqlCommand的存儲過程

然後我通過SQL事件探查器進行調試和剖析的執行結果查詢窗口(這意味着我運行StoredProcedure與必要的參數基於從探查器到查詢窗口),令人驚訝的是它的工作很好。該文件已成功導出。

我想知道這是什麼錯誤,考慮到我在連接字符串中的登錄名是擁有者和管理員用戶。

回答

3

與Web服務器一起使用的SQL用戶帳戶無權使用該擴展過程。您必須提升該用戶的權限(壞主意),或者在SQL安全性中分配一個代理帳戶,該代理帳戶可以在服務器內執行該過程,而無需將該Web帳戶設爲系統管理員。

+0

謝謝!我解決了它。 這是你的意思? EXEC sp_xp_cmdshell_proxy_account [domain \ user],[password]; EXEC sp_grantdbaccess [sql account user] GRANT exec ON sys.xp_cmdshell TO [sql account user] –

1

我們必須給該用戶的執行權限

語法:

GRANT EXECUTE ON xp_cmdshell TO [Domain\User] 

注意:請確保您使用的必須是在你給執行權限登錄。我發現用戶多次使用diff ID和抱怨。