2011-12-14 163 views
1

実行権限がオブジェクト 'xp_cmdshell'で拒否されました。オブジェクトのアクセス許可が拒否されました。xp_cmdshell

ここで状況は、私は、ExportFileと呼ばれるストアドプロシージャがあります。 私は許可エラーに

を取得し、このコマンドの実行中に ...仮想PCからWebアプリケーションからSqlCommandオブジェクト経由でストアドプロシージャを呼び出していますそれから私は、SQLプロファイラを経由して、それをデバッグし、プロファイラからの結果を実行します(これは、プロファイラからクエリーウィンドウに基づいて必要なパラメータを持つStoredProcedureを実行することを意味します)、意外にもうまくいきます。ファイルが正常にエクスポートされました。

接続文字列のログインが所有者と管理者であることを考慮して、何が問題なのでしょうか。

答えて

3

Webサーバーで使用されているSQLユーザーアカウントに、その拡張プロシージャーを使用する権限がありません。 WebアカウントをSysadminにすることなく、サーバー内のプロシージャを実行できるSQLセキュリティ内で、そのユーザーの権限を昇格させるか(悪い考え)、プロキシアカウントを割り当てる必要があります。

+0

ありがとうございます!私はそれを解決した。 これは何を意味していますか? EXEC sp_xp_cmdshell_proxy_account [ドメイン\ユーザー]、[パスワード]。 EXEC sp_grantdbaccess [SQLアカウントユーザー] GRANT exec ON sys.xp_cmdshell TO [sql account user] –

1

我々は許可

構文実行このユーザーを与えることがあります。

GRANT EXECUTE ON xp_cmdshell TO [Domain\User] 

注:あなたが実行許可を与えた上でログインを使用している必要がありますことを確認します。私は何度もユーザーがdiff IDを使用して不平を言うのを発見しました。

関連する問題