Programming/Microsoft SQL Server
SQL Server Management는 Microsoft SQL Server에서 사용되는 Database관리 도구중 하나입니다.


보시는 도구는 Visual적인 사용자 Interface와 Server관리를 위한 다양한 기능들을 제공하는 도구로서 표준적으로 가장 널리 사용되고 있습니다.

반면 지금 부터 설명해드릴 SQLCMD는 위과 같은 Interface는 제공하지 않지만 몇가지 명령어를 통해 간단하게 Server에 접속하고 Query를 통한 작업도 할 수 있도록 마련된 명령행 도구입니다.

먼저 SQLCMD를 시작하시려면 Windows 작업표시줄의 '시작 -> 실행' 에서 'sqlcmd'라고 입력하고 '확인'을 눌러줍니다.



이것으로 SQL Server에 성공적으로 연결이 되었습니다. 별다른 절차없이 sqlcmd명령어 만으로 Server에 연결된 것은 Localhost의 SQL Server로 Windows계정을 통한 접속이 이루어 졌기 때문입니다.

만일 원하는 Server로 연결하고자 하신다면 'sqlcmd -E -S <Server>'와 같은 형식으로 대상 Server를 지정하여 입력하시면 됩니다.


sqlcmd 사용에 관한 좀더 자세한 Option을 보시려면 'sqlcmd /?'를 입력해 보십시오. 위 화면에서 처럼 각 Option에 따른 도움말을 보실 수 있는데 여기서 -E 는 trusted connection 으로 다른 계정이 아닌 현재 사용중인 Windows 계정을 통하여 Server에 접속할 것임을 의미합니다.

주의:
-로 시작하는 각 Switch는 대소문자를 구별합니다.

특정한 계정을 통해 Server에 접속하고자 하시는 경우 'sqlcmd -U <계정명> -P <암호> -S <서버>'형식으로 명령을 입력하시면 됩니다.


만일 -P Switch를 통해 비밀번호가 노출되는 것을 원하지 않으신다면 -P Switch는 생략할 수도 있습니다. 이 경우 Login하기 전에 비밀번호를 묻게 되며 이때 입력된 비밀번호는 화면에 나타나지 않기 때문에 좀더 안전하게 접속하실 수 있습니다.


-S Switch는 생략할 경우 자동으로 Localhost가 지정됩니다.

이제 Server연결에 성공하였으니 간단한 Query문을 통해 원하는 Data를 불러와 보도록 하겠습니다.


'use'문을 통해 Database를 선택한 후 'Select'로 Database의 Table을 조회합니다.

'go'는 이전에 호출했던 'go'문 이후에 입력된 모든 Query를 실행하도록 합니다. 만일 입력한 Query를 취소하고 새로 입력하고자 한신다면 Reset을 통해 최기화 하시면 됩니다.

참고:
입력한 Query가 실행중일때는 Ctrl + C 키를 누르시면 실행을 중지할 수 있습니다.


처음에는 'Select Name, GroupName From HumanResources.Department'문을 통해 Name와 GroupName만을 조회하려고 하였으나 Reset을 통해 이를 취소하고 'Select * From HumanResources.Department'로 모든 열을 조회하였습니다.

만일 sqlcmd안에서 Query작성도중 외부 명령어를 실행시킬 필요가 있을 때는 sqlcmd를 빠져나갈 필요없이 !! 구문을 통해 외부명령어를 호출 할 수도 있습니다.


!!dir/w 문장을 통해 현재 경로에 있는 folder및 Directory안의 file목록을 조회합니다.

작업을 완료하신 후 sqlcmd를 빠져나가시려면 exit나 quit를 입력하시면 됩니다.

'Programming > Microsoft SQL Server' 카테고리의 다른 글

[SQL] xact_abort와 Transaction  (0) 2010.09.13
[SQL] Output으로 변경Data 확인하기  (0) 2010.09.10
[SQL Server] SQLCMD  (0) 2010.09.09
[SQL] 케이스(Case)  (0) 2010.09.07
[SQL] 예외처리(try ~ catch)  (0) 2010.09.06
[SQL] Batch처리(일괄처리)의 개념  (0) 2010.09.03
0 0