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 명령줄 도구 모음크로스플랫폼,

No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 36171
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 18659
2134 Azure SQL에서 네트워크를 구성하는 방법 jevida(강성욱) 2019.03.25 297
2133 SQL Server 네이티브 컴파일된 저장 프로시저 성능 모니터링 jevida(강성욱) 2019.03.25 582
2132 SQL Server 2017 소규모 시스템에서 향상된 리소스 사용 jevida(강성욱) 2019.03.25 329
2131 클러스터 컬럼스토어 인덱스(Clusterd Columnstore Index)에서 대량 인서트 작업시 발생하는 래치 경합 최소화 트릭 jevida(강성욱) 2019.03.25 468
2130 클러스터 컬럼스토어 인덱스(Clusterd Columnstore Index)에서 대량 인서트 작업시 발생하는 래치 경합 최소화 트릭 jevida(강성욱) 2019.03.25 467
2129 SQL Server 2016 향상된 복제 기능 – 배포 데이터베이스 클린업 향상 jevida(강성욱) 2019.03.25 367
2128 SQL Server 2017향상된 복제 기능 – 배포 데이터베이스의 AG 지원 jevida(강성욱) 2019.03.25 518
2127 SQL Server 2017 향상된 복제 기능 - 복제에이전트 프로필 매개변수의 동적 새로 고침 jevida(강성욱) 2019.03.25 553
2126 SQL Server update on Docker jevida(강성욱) 2019.03.25 454
2125 SQL Server 2017에서 향상된 UDF 실행 계획 jevida(강성욱) 2019.03.25 419
2124 ETL data error with MariaDB ODBC 3.0 (from Aurora to MS SQL) jevida(강성욱) 2019.03.25 611
2123 Run the SQL Server 2017 with Docker jevida(강성욱) 2019.03.25 522
2122 SQL Server Configuration Manager 실행 오류 (WMI 공급자 연결 오류) jevida(강성욱) 2019.03.25 643
2121 BULK INSERT 동시에 여러개 실행 향지 2019.01.30 1088
2120 대용량 데이터 조인에 대한 고민 ( Hash Join VS Nested Loop Join ) 향지 2018.04.04 4540
2119 How to check if Azure SQL is using In-Memory jevida(강성욱) 2018.03.31 3322
» MSSQL-CLI를 활용한 크로스플랫폼에서 SQL Server 관리하기 jevida(강성욱) 2018.03.31 3733
2117 SSMS – Search for execution plan jevida(강성욱) 2018.03.31 3809
2116 SQL Server Parallelism and Wait change (CXAPCKET, CXCONSUMER) jevida(강성욱) 2018.03.31 4108
2115 SQL Server Statistics Update row sampling rate and histogram step jevida(강성욱) 2018.03.31 3748





XE Login