Bcp를 사용하여 명령 줄에서 SQL Server 데이터 가져 오기 및 내보내기

Bcp는 데이터를 데이터베이스로 가져 오는 가장 빠른 방법입니다.

Microsoft SQL Server 의 대량 복사 (bcp) 명령은 명령 줄에서 대량의 레코드를 직접 삽입 할 수있는 기능을 제공합니다. 명령 줄 애호가에게 유용한 도구 일뿐만 아니라 bcp 유틸리티는 배치 파일이나 다른 프로그래밍 방식에서 SQL Server 데이터베이스에 데이터를 삽입하려는 사람들을위한 강력한 도구입니다. 데이터를 데이터베이스로 가져 오는 방법은 많지만 적절한 매개 변수를 사용하여 bcp를 설정하는 것이 가장 빠릅니다.

bcp 구문

bcp 사용에 대한 기본 구문은 다음과 같습니다.

bcp

여기서 인수는 다음 값을 취합니다.

bcp 가져 오기 예제

모두 합치려면 인벤토리 데이터베이스 에 과일 테이블이 있고 하드 드라이브에 저장된 텍스트 파일의 모든 레코드를 해당 데이터베이스로 가져 오려고한다고 가정 해보십시오. 다음 bcp 명령 구문을 사용합니다.

bcp inventory.dbo.fruits in "C : \ fruit \ inventory.txt"-c -T

그러면 다음과 같은 결과가 출력됩니다.

C : \> bcp inventory.dbo.fruits in "C : \ fruit \ inventory.txt"-c -T 시작 복사 ... 36 개의 행이 복사되었습니다. 네트워크 패킷 크기 (바이트) : 4096 클럭 시간 (밀리 초) 합계 : 16 평균 : (초 당 2250.00 행) C : \>

해당 명령 행에 두 가지 새로운 옵션이 있음을 눈치 챘을 것입니다. -c 옵션은 가져 오기 파일의 파일 형식이 새 행의 각 레코드와 함께 탭으로 구분 된 텍스트가되도록 지정합니다. -T 옵션은 bcp가 Windows 인증을 사용하여 데이터베이스에 연결하도록 지정합니다.

bcp 내보내기 예제

작업 방향을 "in"에서 "out"으로 변경하여 bcp를 사용하여 데이터베이스의 데이터를 내보낼 수 있습니다. 예를 들어 다음 명령을 사용하여 fruit 테이블의 내용을 텍스트 파일로 덤프 할 수 있습니다.

bcp inventory.dbo.fruits out "C : \ fruit \ inventory.txt"-c -T

다음은 명령 행에서 보이는 방법입니다.

C : \> bcp inventory.dbo.fruits out "C : \ fruit \ inventory.txt"-c -T 복사 시작 ... 42 개의 행이 복사되었습니다. 네트워크 패킷 크기 (바이트) : 4096 시간 (밀리 초) 합계 : 1 평균 : (초당 42000.00 행) C : \>

이것이 bcp 명령의 전부입니다. 배치 명령 파일이나 DOS 명령 줄에 액세스 할 수있는 다른 프로그램에서이 명령을 사용하여 SQL Server 데이터베이스에서 데이터를 가져오고 내보내는 작업을 자동화 할 수 있습니다.