2014-09-25 9 views
4

SQL Server에서 xp_cmdshell을 사용하려고합니다. 그래서 실행 :xp_cmdshell을 사용할 수 없습니다.

EXEC master.dbo.sp_configure 'show advanced options', 1 
RECONFIGURE 
EXEC master.dbo.sp_configure 'xp_cmdshell', 1 
RECONFIGURE 

리턴 된 메시지는 말한다 :

구성 옵션 '쇼 고급 옵션'설치 1. 실행 RECONFIGURE 문 1에서 변경되었습니다.

구성 옵션 'xp_cmdshell'이 0에서 1로 변경되었습니다. 설치하려면 RECONFIGURE 문을 실행하십시오.

패싯 속성 내가 메시지 15281, 수준 16, 상태 1, 프로 시저 오류 메시지

있어

EXEC master..xp_cmdshell 'dir c:' 

실행할 때

, "XPCmdShellEnabled"쇼 xp_cmdshell, 줄 1
SQL Server가 'xp_cmdshell'구성 요소의 'sys.xp_cmdshell'프로 시저에 대한 액세스를 차단했습니다. 이 구성 요소는이 서버의 보안 구성의 일부로 해제되어 있습니다. 시스템 관리자는 sp_configure를 사용하여 'xp_cmdshell'을 사용할 수 있습니다. 'xp_cmdshell'을 사용하도록 설정하는 방법에 대한 자세한 내용은 SQL Server 온라인 설명서의 "노출 영역 구성"을 참조하십시오.

내가 한 것은 Microsoft 설명서입니다. 왜 작동하지 않습니까?

+0

어떤 버전의 SQL Server를 사용하고 있습니까? 네가 제대로 한 것 같아서 작동하지 않을 이유가 없다. – jpw

+0

안녕하세요, 응답 해 주셔서 감사합니다. SQL Server 2008 R2입니다. xp_cmdshell을 실행하는 데 필요한 권한이 있습니까? – Shawn

+0

SQL Server 보안은 내 강력한 측면이 아니지만 'CONTROL SERVER'권한이 필요하다고 생각합니다. 기본적으로 _sa_ 및 관리자에게 부여되어야합니다. – jpw

답변

10

시도해보십시오. 사용 중지 한 다음 다시 사용하십시오.

--Disable 
Use Master 

GO 
EXEC master.dbo.sp_configure 'xp_cmdshell', 0 
RECONFIGURE WITH OVERRIDE 

GO 

EXEC master.dbo.sp_configure 'show advanced options', 0 
RECONFIGURE WITH OVERRIDE 
GO 

-- Enable 
Use Master 
GO 
EXEC master.dbo.sp_configure 'show advanced options', 1 
RECONFIGURE WITH OVERRIDE 
GO 

EXEC master.dbo.sp_configure 'xp_cmdshell', 1 
RECONFIGURE WITH OVERRIDE 
GO 
3

다음과 같이 SQL Server 관리 Studio에서이 작업을 수행 할 수 있습니다

  1. 마우스 오른쪽 단추로 클릭 XPCmdShellEnabledTrue
  2. 로 설정 속성을 서버 및 Facets
  3. 선택 패싯 Surface Area Configuration
  4. 을 선택

enter image description here

관련 문제