프로그래밍/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 )를 해줍니다.
마무리
간단하게 데이터를 옮겨야 할 좋습니다 ㅎㅎㅎ