프로그래밍/DB, SQL, EF

[MSSQL] 'BCP'를 이용하여 데이터를 선택적으로 옮기기

당근천국 2016. 6. 17. 15:00

DB에 있는 데이터를 모두 옮기는 것이 아니라 일부 데이터만 옮겨야 할 때 쓸 방법의 하나가 'BCP'를 이용하는 방법입니다.

( 참고 : bcp 유틸리티 )

 

윈도우 인증만 되어있다면 콘솔 창 열고 명령어만 날려주시면 됩니다.

 

 

1. 'Select' 하여 내보내기

여기에는 전체를 내보낼 수도 있겠지만 우리는 원하는 결과만 잘라서 내보내겠습니다.

 

예를 들면 콘솔에 다음과 같이 넣습니다.

bcp "SELECT * FROM TestDB.dbo.tb_BigData1 where nIndex > 10 And nIndex < 50" queryout d:\Contacts.txt -c -T

 

TestDB : 데이터베이스명

Tb_BigData1 : 테이블명

 

이제 'D'드라이브로 가시면 'Contacts.txt'라는 파일이 생성됩니다.

파일을 열어 봅시다.

 

데이터가 텍스트 형태로 출력되어 있음을 알 수 있습니다.

 

 

2. 데이터를 입력하기

이렇게 추출한 데이터는 다시 'BCP'를 이용하여 입력할 수 있습니다.

bcp TestDB.dbo.tb_BigData3 in  d:\Contacts.txt -T -c

 

이렇게 입력하면 데이터를 읽어서 인서트( Insert )를 해줍니다.

 

 

마무리

간단하게 데이터를 옮겨야 할 좋습니다 ㅎㅎㅎ