2013-07-31 5 views
0

sproc에서 이전에 암호화 한 항목을 이동하려면 xp_cmdshell을 사용하여 "copy-item"명령을 보내려고합니다. sproc에서 암호화를 수행하기 위해 예정된 작업으로 실행되는 .bat 파일을 만듭니다.SQL Server에서 xp_cmdshell을 사용하여 복사 항목

copy-item 명령과 기본 EXEC xp_cmdshell 명령을 실행하는 데 동일한 방법을 사용해 보았지만 어느 것도 작동하지 않았습니다. 어떤 이유가 gpg를 exec하는 데는 효과가 있을지 모르겠지만 copy-item 명령을 exec하려고 할 때가 아닙니다. 여기

내가 무엇을 시도했다입니다 :

set @cmd = 'copy-file c:\MissionControlDocs\'[email protected][email protected]+'.txt.gpg y:\aep-ohio>> ' + @batchFileName) 
exec master..xp_cmdshell @cmd, no_output 

다음 (서버에서 성공적으로 실행) 작업을 호출하는 배치 파일로 명령을 선택 :

select @cmd = rtrim('echo copy-file c:\MissionControlDocs\'[email protected][email protected]+'.txt.gpg y:\aep-ohio>> ' + @batchFileName) 
exec master..xp_cmdshell @cmd, no_output  

복사 파일을 서버의 PowerShell 응용 프로그램에서 직접 실행할 때 작동합니다. 현재 어떤 디렉토리에 있든 상관 없습니다.

귀하의 생각은 크게 감사드립니다.

답변

0

답은 2 부분으로 나옵니다.

첫 번째로 copy-item을 사용하고 있습니다. (실제로는 cmdshell이 ​​아닌 powershell입니다.)

두 번째로 이전 명령이 완료 될 때까지 내 사본 줄이 실행되지 않도록 이전 줄에 START/wait를 추가하여 내 .bat 파일에 복사 줄을 추가 할 수있었습니다.