2012-10-09 2 views
1

개념 증명으로 xp_cmdshell 명령을 기존 솔루션에 삽입하려고합니다.저장 프로 시저에서 xp_cmdshell 호출

declare @P1 int 
    set @P1=1 
    exec Name_Of_The_SP @param1 = 3, @param2 = 'blah', @parametc = 'blahetc', @ID = P1 output 
    select @P1 

SP가 본질적으로 트랜잭션을 여는 행을 삽입 한 다음 커밋 : 현재 응용 프로그램과 같은 외모를 프로파일 링 할 때 우리의 데이터베이스 서버에 저장 프로 시저를 호출합니다. 이 내부에 다음을 추가했습니다.

SSMS 쿼리 창에서 첫 번째 코드 블록을 실행하면 파일이 예상대로 서버에 생성됩니다. 그러나 응용 프로그램을 사용하여 호출하면 정상적으로 행이 삽입되지만 파일은 생성되지 않습니다.

SQL Server 및 SQLAgent 사용자는 로컬 관리자 및 시스템 관리자이므로 아무 문제도 볼 수 없습니다. 응용 프로그램 사용자를 로컬 관리자로 만들려고 시도했지만, 이미 시스템 관리자였습니다.

우리는이 문제를 알아 내기 위해 관리 SQL 서버 2000

+3

severfault-migration 유권자에게, 저는 그들이 FAQ에서와 같이 "전문직의 컴퓨터 시스템 관리"에 관한 것이 아니기 때문에이 질문에 대해 매우 고맙게 여길 것이라고 생각합니다. – dsolimano

+0

SQL 2000에'sp_xp_cmdshell_proxy_account'가 있습니까? – podiluska

+0

Podiluska, 나는 그것을 master의 확장 된 절차로 기대할 수 있습니까? 그렇다면 거기에 존재하지 않습니다. 엔터프라이즈 관리자 사용 나는 프록시를 식별하여 sysadmin 및 로컬 관리자 (순수한 테스트)로 만들었으며 여전히 질문에 개략적으로 나와있는 방식으로 수행했습니다. – Paul

답변

-1

입니다 - 우리 (I)가 간부가 다른 로그인 아래에 들어오는 것을 프로파일에서 내려다 보이는했다. master.dbo.xp_cmdshell에 대한 실행 권한을 부여하면 작동합니다. 이 시간/노력을 기울인 사람에게 사과!