본문 바로가기

IT/Database

[MSSQL] sqlcmd 활용하기.

MSSQL 2012 DB를 2008 DB로 다운그레이드 이전 시 처리를 한 상황 입니다.

 

MSSQL은 정책상 상위 버전에서 하위 버전으로 복원이 불가능하다고 합니다. (https://social.technet.microsoft.com/Forums/ko-KR/c169cf75-f288-4d57-87cc-352c1fe1560a/ms-sql-2012-2008-?forum=sqlserverko)

 

이때 처리를 위해 하는 방법은..

 

I. 개요

1. SSIS 또는 링크드 서버를 이용하는 방법

  - 위 링크에 간략한 설명이 되어 있습니다. 시행은 해보지 않았습니다.

  - 하위 버전으로 복원 하실 경우에는 하위 버전에 데이터베이스(껍데기)를 하나 생성하시고 SSIS 또는 링크드 서버를 통하여 데이터를 복사하여야 합니다.

 

 

2. SSMS 기능 중 데이터를 포함한 스크립트를 생성하는 기능

  - 이때 sql 스크립트를 실행할 수 있습니다.

 

II. SQL 스크립트 실행 방법

1. 처리방법

  1) SSMS 상에서 스크립트 내용을 복사해서 처리 하는 방법. ==> 해보지 않았음.

  2) sqlcmd를 이용하여 처리==> 수행 해보았음.

 

2. sqlcmd를 활용한 sql 스크립트 파일 실행.

  1) URL

    - https://msdn.microsoft.com/ko-kr/library/ms162773(v=sql.105).aspx

  2) 커맨드를 실행한다.(실행에서 cmd)

  3) 커맨드 창에서 아래 명령어를 입력한다.

    - sqlcmd -S 'your server name' -U 'user name of server' -P 'password of server' -a '32767' -d 'db name' -i 'script.sql'

    - 단 ' 은 제외하세요.

  4) 옵션 설명

    * -a : 패킷사이즈. Default는 4096 임. 

    * -S : Server Name. localhost의 경우 . 을 찍어주면 됨.

  5) 처리결과

    - 파일크기 : 472M(ksric DB. 조건부 업무 데이터 제외)

    - Line수 : 831,932(실제 SQL 문 수는 이보다 적음.)

    - 처리시간 : 3시간 이상(3시간 정도에 500,000라인 수행 처리). 패킷 사이지를 크게하면 시간을 줄 일 수 있음.

 

.