SQL Sever에서 제공하는 도구 SSMS 를 이용하면 관리에 필요한 모든 기능이나
작업을 할 수 있습니다.
SSMS 툴이 있는데 왜 sqlcmd를 사용해야 하는 걸까요?
GUI 기반 도구를 쓰지 않고 Command 명령어를 기준으로 작업이 필요한 부분이 있습니다.
예를 들어 단일 사용자 모드 전환 후 master 데이터베이스 복원, 스크립트를 이용한 작업 스케줄러
실행, 유지 관리를 해야 하는 경우 SSMS 도구로는 사용 목적이나 역활에 있어서 적합하지 않습니다.
또한 데이터 건수가 몇십만 건인 경우 데이터마이닝 상 해당 데이터를 원격에서 클라이언트를
통해 추출 시 파일 I/O, 네트웍 I/O 가 크게 발생됩니다.
이런 경우에 직접 서버 로컬에서 sqlcmd 를 통해 데이터를 덤프 받을 시 네트웍을 통하지 않고
직접 파일 I/O 처리만 통하여 출력되므로 속도를 크게 향상시킬 수 있습니다.
SQL Server에서 명령어 도구는 SQL Server 2000의 OSQL, ISQL 등이 있지만
2005 버전 부터는 OSQL, SQLCMD 가 있습니다.
OSQL 유틸리티는 ODBC 통신을 기반으로 하므로 OLE DB 보다 성능이 떨어지고 2008R2 버전
이후부터는 제거가 되므로 명령어 유틸리티로는 SQLCMD 를 이용한 작업이 제일 적합하다고
할 수 있습니다.
Orcale -> sqlplus, MySQL -> mysql 와 같은 명령어 기반의 유틸리티가 있습니다.
SQLCMD는 SQL Server에서 제공하는 위의 다른 DBMS 벤더에서 제공하는 명령어 도구와 같은
유틸리티 입니다.
별거 아니지만 초보자 분들이 처음 사용 시 저처럼 헤매지 않고 도움이 될까 해서 작성하였습니다~
의외로 옵션이나 사용예시가 많아 이번 장에서는 간략하게 로그인 관련 옵션을 정리했습니다.
다음 아티클에서는 여러가지 예제와 좀 더 상세하게 입/출력, 쿼리 실행 옵션에 대해
정리하여 올리겠습니다~
1. SQLCMD 로그인 관련 옵션
sqlcmd의 기본 인증 방식은 Windows 인증입니다.
Sqlcmd 에 접속하기 위해 사용되는 옵션 종류 입니다.
참고로 sqlcmd 에서 모든 옵션을 대 소문자를 구별합니다.
-E 트러스트(trustered) 연결, 기본값이며 –E 생략 시 트러스트된 연결 옵션 사용
-S 서버지정
-U 사용자 로그인 ID
-P 사용자 로그인 PWD
-H 워크스테이션 이름. 각 서버의 이름을 지정하여 접속 가능
-d 데이터베이스 지정
Windows 인증
cmd> Sqlcmd –S [server_name]
트러스트된 연결 (-E 옵션을 사용 trusted connection) 로컬 연결인 경우 sqlcmd 만 입력하여 기본 원도우 인증으로 바로 접속 가능합니다. cmd> Sqlcmd –E SQL Server 인증 SQL Server 인증은 -U 옵션과 -P 옵션을 이용하면 됩니다. cmd> Sqlcmd –S 192.168.81.57 –U sa –P 1234 –P 옵션을 지정하지 않고 접속한 경우 sqlcmd 에서 암호를 묻는 메시지를 표시합니다. Password: 패스워드 입력 시 입력한 값은 표시되지 않습니다.

글의 내용과 소스는 누구나 참고하셔도 되지만 본 글의 출처(algorizm.tistory.com) 및
글의 링크를 꼭 밝혀주셔야 합니다.
'SQL Server' 카테고리의 다른 글
| 컬럼 Collate 비교 연산 시 충돌 문제 (0) | 2010/12/29 |
|---|---|
| sqlcmd 연결 종류 (0) | 2010/12/29 |
| SQLCMD 사용법 #1 (0) | 2010/11/15 |
| SQL Server 버전별 Hotfix 정보 (0) | 2010/11/15 |
| [TIP]저장 프로시저 최적화 (0) | 2010/11/07 |
| 테이블 제약조건 DROP 쿼리문 출력 (0) | 2010/10/25 |






