상세 컨텐츠

본문 제목

MS-SQL의 DB를 csv로 추출하는 방법

데이터 분석·개발/데이터 분석

by 에스프리터 2018.08.18 17:44

본문


이번 편에는 MS-SQL의 DB를 csv로 추출하는 방법을 알아봅니다.
사실 명령어를 쓰면 더 빠를 수도 있겠지만 여기서는 MS-SQL의 클라이언트를 사용하여 추출하는 방법을 알아보겠습니다.

우선 Microsoft SQL Server Management Studio (SSMS) 클라이언트를 다운 받겠습니다. 대부분 있겠지만 혹시 모르니 여기에다가 링크를 달겠습니다.

다운받아 실행 한 뒤에 DB에 접속하면 아래 이미지처럼 좌측에 DB 관련 트리가 뜹니다.
여기서 추출하기를 원하는 DB를 선택한 뒤(테이블에선 메뉴가 활성화 되지 않습니다) 우클릭을 하여 '태스크' >> '데이터 내보내기'를 선택합니다.


클릭하면 SQL Server 가져오기 및 내보내기 마법사가 실행되는데 다음을 눌러줍시다.



그러면 원본 선택 메뉴가 뜨는데 '데이터 원본'은 SQL Server Native Client 를 선택합니다.
그리고 서버 이름은 자연히 기존에 입력했던 DB 서버 이름이 될 겁니다.
그리고 아래 인증 내용에 맞게 인증을 해주시면 됩니다. 전 SQL ID와 비밀번호를 입력하는 방식입니다. 그리고 아래의 데이터베이스에서 자신이 원하는 DB를 선택해줍니다. 보통 자동 선택되어 있습니다.




정상적으로 진행되면 이번엔 추출 방법을 택합니다. '대상'을 플랫 파일 대상 혹 영어로는 flat file destination을 선택해준 뒤 파일 이름을 지정합니다. 본인이 원하는 형태로 지정하면 됩니다. 그리고 로캘과 코드 페이지를 지정해야 되는데, 본인이 원하는 방식이 아니라 서버에 저장된 방식으로 지정을 해줘야 합니다. 가령 아래 이미지처럼 서버 저장 값이 949인데 UTF-8로 지정하면 추출이 되지 않습니다. 그리고 형식은 보통 CSV는 구분 기호로 자동 분리되니 그대로 지정해주고 다음을 눌러줍니다.



그러면 테이블 지정 혹은 쿼리 지정이 뜨는데 '하나 이상의 테이블 또는 뷰에서 데이터 복사'는 설정 창에서 테이블이나 뷰를 지정해서 통째로 복사하는 방식이고, 아래의 '전송 데이터를 지정한 쿼리 작성'을 하면 본인이 원하는 방식으로 추출을 할 수 있습니다. 가령 SELECT * FROM *** WHERE ID = '12' 이런 식으로요.





이후 다음을 누르면 패키지 저장 및 실행창에서 즉시 실행을 누릅시다. 여기서는 단순히 CSV 파일을 추출하는 방법을 설명하기 때문에 즉시 실행을 선택합니다.





그러면 설정한 조건 값을 확인하는 절차를 거치게 되는데 아래 내용이 맞는지 확인 후 마침을 눌러줍니다.




이후 추출 절차가 자동으로 진행됩니다. 오류가 발생할 경우 해당 오류 메시지를 보고서 형태로 확인할 수 있습니다.




마지막으로 앞서 지정한 저장 폴더로 가서 CSV가 정상적으로 저장되었는지 확인하면 절차는 종료됩니다.
감사합니다.

관련글 더보기

댓글 영역