구관 이 명관 – OSQL 과 SQL Azure 의 만남 | [ ClouDeveloper ] 남정현 의 클라우드 블로그 
 구관 이 명관 – OSQL 과 SQL Azure 의 만남 	 저 개인 적 으로 는 오래 된 명령 줄 인터페이스 기반 의 툴 을 매우 사랑 합니다 . 가끔 GUI 로 채워 지 지 않 는 부족 함 을 명령 줄 인터페이스 기반 의 툴 을 통하 여 채울 수 있 기 때문 입니다 . 비유 하 자면 효자손 과 같 은 존재 이 지요 . 🙂 
 오늘 은 그 중 에서 도 SQL Azure 를 관리 하 기 위한 목적 으로 OSQL 도구 를 사용 하 는 방법 을 설명 하 고자 합니다 . 요즈음 은 SQL Management Studio 덕분 에 그 수요 가 많이 줄어들 었 지만 , 아직 OSQL 도구 가 유용 하 게 사용 될 수 있 는 여지 는 매우 많 습니다 . 저 의 경우 , Sync Framework 와 SQL Server Agent 를 사용 하 여 쉽 게 동기 화 할 수 있 는 상황 이 아닌 이기종 데이터베이스 간 데이터 마이 그레 이 션 시나리오 에서 매우 유용 하 게 사용 하 고 있 습니다 . C # 을 이용 하 여 실제 데이터 를 insert 하 는 구문 을 SQL 스크립트 로 덤프 를 생성 하 여 이것 을 OSQL 도구 에 매개 변수 로 전달 하 는 방법 을 선호 합니다 . BLOB 이나 CLOB , 개 행 문자 를 포함 하 지 않 는 데이터 로 구성 되 어 있 는 경우 이 방법 은 매우 유용 한 것 같 습니다 . 
 그렇 다면 OSQL 을 통해서 SQL Azure 에 접속 하 려면 어떻게 해야 할까요 ? 방법 은 다음 과 같 습니다 . 
 osql - S < your _ server >. database . windows . net - U < your _ database _ id >@< your _ server > - P < your _ password > - d < database _ name > 
 SQL Azure 에 접속 하 는 방법 은 일상 적 으로 우리 가 사용 했 던 SQL Express Edition 이나 SQL Server 에 접속 하 는 방법 과 조금 다릅니다 . 각 스위치 별 로 필요 한 항목 들 을 하나 씩 살펴보 겠 습니다 . 
 - S 스위치 : 접속 대상 서버 를 지정 합니다 . SQL Azure 의 호스트 이름 은 주로 xxxx . database . windows . net 과 같 은 형태 로 되 어 있 고 , 이 부분 의 정확 한 주소 는 SQL Azure Portal 에서 확인 할 수 있 습니다 . 
 - U 스위치 : 사용자 ID 를 지정 합니다 . 통상 사용 하 는 SQL Server 와 는 다르 게 , 사용 자 이름 뒤 에 서버 이름 을 명시 적 으로 @ 기호 와 함께 지정 해야 합니다 . 예 를 들 어 , < your _ server > 에 들어가 는 식별자 가 abcd 라고 한다면 < your _ database _ id >@ abcd 가 이 스위치 에 지정 되 어야 합니다 . 
 - P 스위치 : 사용 자 비밀 번호 를 지정 합니다 . 띄어쓰기 가 있 는 비밀 번호 의 경우 - P ” < your _ password >” 와 같 은 형식 으로 따옴표 를 이용 하 여 비밀 번호 문자열 주변 을 포장 하 여 인수 로 전달 합니다 . 
 - d 스위치 : - D 스위치 가 아닌 - d 스위치 로 , 대 / 소문자 구분 에 유의 합니다 . 이 부분 에서 는 사용 하 려는 데이터베이스 이름 을 지정 해야 합니다 . SQL Azure 의 특성 상 한 번 연결 이 완료 되 면 다른 데이터베이스 로 는 문맥 전환 을 할 수 없 으며 , 따라서 USE 문 의 사용 은 허용 되 지 않 습니다 . 
 위 와 같이 지정 하 여 성공 적 으로 접속 하 였 다면 프롬프트 가 나타날 것 입니다 . 하지만 대부분 의 경우 방화벽 설정 에 의하 여 연결 이 차단 될 수 있 습니다 . 이 때 에 는 SQL Azure Portal 로 접속 하 여 현재 여러분 이 접속 을 시도 하 는 IP 주소 를 SQL Azure 에서 접속 할 수 있 도록 허용 해야 합니다 . 여기 서 주의 할 것 은 , NAT 나 인터넷 공유기 와 같이 하나 의 외부 IP 주소 를 여러 PC 가 공유 하 는 환경 에서 SQL Azure 를 접속 하 려는 경우 보안 상 위험 이 발생 할 수 있 다는 점 입니다 . 
 이제 대량 의 query 문 을 실행 하 기 위한 스위치 를 하나 더 알아보 겠 습니다 . 바로 - i 스위치 입니다 . 이 스위치 를 이용 하 여 실행 하 려는 SQL 문장 이 포함 된 스크립트 파일 을 지정 하 고 , - o 스위치 를 사용 하 여 실행 결과 를 텍스트 파일 로 갈무리 할 수 도 있 습니다 . 
 전체 사용 예시 는 다음 과 같 습니다 . 
 osql - Sabcdefghi 0 . database . windows . net - Urkttu @ abcdefghi 0 - Pmypassword - dmydatabase - itest . sql - ooutput . txt 
 위 와 같이 명령어 를 실행 하 면 test . sql 파일 의 내용 을 모두 실행 하 고 그 결과 를 output . txt 에 써내려갈 것 입니다 . 
 2011 년 1 월 3 일 rkttu 	 . NET , @ Cloud , Azure , c #, Console , Microsoft , osql , rkttu , rkttu . com , SQL Agent , SQL Azure , SQL Management Studio Express , SQL Server , SQL 서버 , SSMSE , Sync Framework , Visual Studio , Windows , Windows Azure , 남정현 , 마이크 로 소프트 , 명령 줄 , 클라우드 , 클라우드 컴퓨팅 , 클라우드 컴퓨팅 	 글 네 비게 이 션 
 ← Windows Azure BLOB Storage 에 올린 파일 을 Silverlight 와 Flash 에서 활용 하 려면 ? 	 A Lap around Cloud Computing – “ Dynamic Set of Connected Computers ” →