MSSQL-CLI를 활용한 크로스플랫폼에서 SQL Server 관리하기
- 다양한 플랫폼에서 SQL Server 명령을 사용
l Version : All Verison
Microsoft는 SQL Server와 상호작용할 수 있는 크로스플랫폼 명령줄 도구인 MSSQ-CLI를 출시하였다. 이번 포스트에서는 MSSQL-CLI 설치 및 기능에 대해서 살펴본다.
MSSQL-CLI는 새로 도입된 대화형 명령줄 도구로 SQL Server 데이터베이스에서 사용하는 많은 기능의 쿼리를 실행한다. 또한 MSSQL-CLI는다양한 플랫폼에서 작동하는 오픈소스 도구이다. MSSQL-CLI는 Python으로 작성되었으며 command line interface 프로젝트인 pgcli와 mycli 기반으로 한다. MSSQL-CLI 소스는 Github에서 찾을 수 있다.
l MSSQL-cli Github : https://github.com/dbcli/mssql-cli
MSSQL-CLI는 위에서 언급했듯이 Python으로 작성되었기 때문에 MSSQL-CLI 설치 이전에 Python을 설치 하도록 한다. Python 2.7, 3.4 이상버전과 호환되기 때문에 최신 버전을 설치한다.
l Python Download : https://www.python.org/downloads/
Python을 설치한다. 설치 시 하단의 [Add Python 3.6 to PATH] 선택한다.
Python 설치가 완료 되었으면, MSSQL-CLI를 설치한다. 설치방법은 CMD 창에서 아래의 명령어를 입력한다. 다운로드 프로세스가 시작되고 설치 된다. 다운로드 비율, 속도, 크기 등을 표시한다. 또한 자동으로 여러 패키지가 설치 된다. 설정이 완료되면 Pygment 메시지와 성공 메시지를 확인할 수 있다.
pip install mssql-cli |
설치가 완료되고 아래 명령을 입력하면 MSSQL-CLI에 대한 도움말을 확인 할 수 있다. (실제 옵션은 아래 그림 보다 훨씬 많다.)
mssql-cli --help |
l -S : SQL Server 인스턴스 이름
l -U : SQL Server 계정
l -W : 사용자 암호를 입력하라는 암호 입력을 요구
l -E : Windows 통합 인증 사용
l -d : 특정 데이터베이스 지정 (기본값은 master)
l -M : 응용프로그램이 다른 서브넷의 AlwaysOn AG에 연결하는 경우 이를 설정하면 활성 서버를 보다 빠르게 검색하고 연결
l -A : 관리자 전용 연결을 사용하여 SQL Server에 연결
아래 명령어를 사용하여 직접 SQL Server에 연결한다. 윈도우 인증을 사용한 연결이다.
mssql-cli -S localhost -E |
아래 명령은 특정 데이터베이스 및 SQL 계정으로 연결한다.
mssql-cli -S localhost -d adventureworks2016ctp3 -U sa |
MSSQL-CLI는 다양한 기능을 제공하는데 그 중 하나가 intellisense 기능이다. 명령어의 첫 글자를 입력하면 해당 명령어 또는 오브젝트를 보여주며 사용자가 쉽게 선택 하여 사용할 수 있도록 한다.
데이터 검색 결과의ROW가 긴 경우 페이지단위로 끊어서 보여준다.
l Enter : 다음 레코드 표시
l Space : 다음 페이지 표시
l CTRL+L : 페이지 클리어
기존 windows command 창에서 실행할 경우 텍스트 정렬 문제로 인해 보기 불편했던 문제점을 MSSQL-CLI를 사용함으로써 편리 해졌다. 또한 다양한 플랫폼에서 실행할 수 있으므로 SQL Server를 관리하기 위해 꼭 Windows 환경이 아니어도 가능하게 되었다.
[참고자료]
l https://github.com/dbcli/mssql-cli/blob/master/doc/installation_guide.md#windows-installation
l https://github.com/dbcli/mssql-cli
l https://docs.microsoft.com/en-us/sql/tools/mssql-cli
2018-03-24 / 강성욱 / http://sqlmvp.kr / http://sqlangeles.com
SQL Server, MS SQL, SQL CLI, SQL 명령줄 도구 모음, 크로스플랫폼,