본문 바로가기
프로그래밍/TSQL

[MSSQL]XP_CMDSHELL 'BCP'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다.

by 정리 습관(★arranging★) 2021. 6. 7.
728x90

MSSQL 신규 버전 설치 후 bcp 를 통한 데이터 마이그레이션에 문제가 생겼고, 해결 방법을 찾아 공유드립니다.
아마 설치 상에 path 문제로 발생했을 것 같은데...

현상. 신규 SSMS포함되지 않은 bcp 새로 설치 (https://docs.microsoft.com/en-us/sql/tools/bcp-utility?view=sql-server-ver15 ) 후 왠일인지 cmd 명령프롬프트에는 bcp.exe가 수행되고, SSMS 상에서 XP_CMDShell로는 수행 할 수 없었다.

조치. Windows\System32 경로에 bcp 툴을 위치시켜 주니, 잘 동작했다.

cmd창에서 bcp 인식가능한 경우 BCP 프로그램 위치 확인 방법 :  cmd 창에 'where bcp' 입력
bcp 환경 설정 방법 : 컴퓨터-속성-고급속성-path 변수에 ;로 구분하여 추가

xp_cmdshell로 ping 을 했을때 정상, bcp했을때는 수행안됨.

cmd 창에서 bcp 햇을때 정상 수행됨

 

There was a problem with data migration through bcp after installing the new version of MSSQL, and I am sharing it with you after finding a solution.
Maybe it's a path problem on the installation.

Phenomenon. After a fresh installation of bcp (https://docs.microsoft.com/en-us/sql/tools/bcp-utility?view=sql-server-ver15) without new SSMS, the cmd command prompt was performed bcp.exe, which could not be performed with XP_CMDShell on SSMS.

Action. I put the bcp tool in the path Windows\System32 and it worked fine.

How to locate a BCP program if bcp is recognizable in the cmd window: Type 'where bcp' in the cmd window
How to set up a bcp environment: Add computer-attribute-advanced attribute-path variables separated by ;


Normal when pinged with xp_cmdshell, not done when bcp.

Normal when bcp is done in cmd window

댓글