2011-12-14 2 views
1

'xp_cmdshell'개체에 대해 실행 권한이 거부되었습니다.개체에 대한 사용 권한이 거부되었습니다. xp_cmdshell

여기 상황에 따라 ExportFile이라는 저장 프로 시저가 있습니다. 나는 그런

내가 SQL 프로파일 러를 통해 디버깅과의 프로파일에서 결과를 실행 내가 권한 오류를 얻을이 명령을 실행하는 동안 가상 PC .. 에서 웹 응용 프로그램에서 SqlCommand를 통해 저장 프로 시저를 호출하고 쿼리 창 (이것은 프로파일 러에서 쿼리 창까지 필요한 매개 변수를 사용하여 StoredProcedure를 실행한다는 의미입니다) 및 놀랍게도 잘 작동합니다. 파일을 성공적으로 내 보냈습니다.

연결 문자열에서 내 로그인이 소유자 및 관리자 사용자임을 고려하면 무엇이 잘못 됐는지 궁금합니다.

답변

3

웹 서버에서 사용중인 SQL 사용자 계정에 해당 확장 프로 시저를 사용할 수있는 권한이 없습니다. 웹 계정을 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를 사용하고 불평을 발견했습니다.

관련 문제