SQL Operations Studio
- Linux, MAC에서 사용할 수 있는 SQL DBMS 툴
· Version : Preview
SQL Server를 관리하기 위한 Microsoft 툴은SQL Server Management Studio(SSMS)가 있다. 이 툴은 Windows 환경에서 실행되며 막강한 기능을 가지고 있다. 아마 SQL Server를 운영하는 대부분의 관리자는 타 DBMS를 운영하는 관리자와는 달리 서드파티의 툴을 사용하지 않고 대부분 SSMS를 사용하고 있을 것이다. 그만큼 SSMS의 기능은 엄청나다.
최근 Microsoft가 오픈소스 친화적인 정책을 지향하면서 다양한 툴들이 Linux 또는 Windows가 아닌 운영체제에서 실행될 수 있게 되었다. 그 중 대표적인 툴이 Visual Studio Code 일 것이다. 이처럼 Microsoft는 크로스 플랫폼 또는 멀티 플랫폼을 지원하는 다양한 서비스를 출시하고 있다.
2017년 Microsoft에서 SQL Server Linux 버전을 출시하였다. 기본적인 기능은 이미 Windows 버전의 SQL Server와 거의 동일하다. 일부 편의 기능만 아직 출시 되지 않았을 뿐, DBMS의 기능은 훌륭하다. 하지만 SSMS는 Windows 버전 밖에 지원되지 않아, SQL Server를 Linux에 설치함에도 불구하고 관리툴은 윈도우 환경에서 실행하여야 했다. 하지만 최근 Microsoft에서는 SQL Operations Studio라는 새로운 DB 관리 툴을 출시 하였으며, 윈도우가 아닌 다른 환경도 지원하게 되었다. 이번 포스트에서는 SQL Operations Studio에 대해서 살펴본다.
SQL Operations Studio는 아래 링크에서 다운로드 받을 수 있다. 포스팅 하는 이 시점에는 Preview 버전이 공개된 상태로 향후 어떠한 많은 기능이 추가될지 기대 된다.
· Download and install Microsoft SQL Operations Studio (preview)
https://docs.microsoft.com/en-us/sql/sql-operations-studio/download
다운로드 받은 파일을 압축 해제 한다. SQL Operations Studio는 설치형으로 실행되는 툴이 아닌 exe를 바로 실행하여 사용하는 툴이다. 그래서 따로 설치 과정이 필요 없다. Sqlops.exe를 실행 한다.
SQL Operations Studio를 실행한 첫 화면이다. VS Code와 비슷한 UI를 하고 있다.
서버 등록 정보를 생성하기 위해 왼쪽의 메뉴바에서 Server를 클릭하고 새로운 서버를 등록한다.
접속하려는 SQL Server의 정보를 입력한다. 필자의 경우 로컬에 설치된 SQL Server의 접속 정보를 입력하였으며, 여러번의 테스트로 인해 최근 히스토리에 서버 내용이 표시됨을 알 수 있다.
서버 정보를 입력하고 처음 서버를 접속했을 때 화면이다. 기본적으로 현재 생성되어 있는 데이터베이스에 대한 정보를 표시해 주며, 생성되어 있는 데이터베이스의 디스크 사용량 및 백업 유무에 대한 관리적인 관점에서의 정보도 표시해서 보여준다. (일반적으로 DBA 들에겐 크게 도움이 되지 않는 정보이지만 DBA가 아닌 사람들에겐 유용한 정보일 듯하다. 하지만 해당 정보를 생성하기 위해 많은 쿼리를 호출하는 과정이 대용량 서비스 경우 살짝 걱정이 된다.)
쿼리를 호출하기 위해 쿼리창을 실행한다. 상단 메뉴에서 New Query 를 실행하여 쿼리 창을 실행 할 수 있지만 이렇게 실행하면 해당 쿼리 창을 다시 DB에 연결해야하는 번거로움(순수 에디트 창만 오픈)이 있다. 그래서 쿼리를 실행하려는 데이터베이스에서 마우스 오른쪽을 클릭하여 New Query를 선택한다. 그러면 해당 데이터베이스에 연결된 쿼리창이 실행 된다.
AdventureWorks 데이터베이스에 쿼리를 실행해 보았다. 기본적으로 SSMS와 동일하게 결과 집합이 표시된다. 몇 가지 흥미로운 점은 Visual Studio 처럼 해당 리소스에 대해서 직접 참조하거나 Peek 창으로 오버레이하여 참조되는 정보를 확인할 수 있다. 여기서 참조 되는 정보는 테이블 정보라 할 수 있다.
아래 그림은 Go to Define를 했을 때 새창으로 테이블 정보를 나타낸 모습이다.
실행 계획 버튼으로 쿼리 결과에 대한 실행 계획도 바로 확인 할 수 있다. 물론 SSMS 처럼 실행 중의 쿼리 실행 계획 등 아직은 많은 기능이 제공되지는 않지만 부족한 기능은 정식버전에서 많이 추가 될것이라 생각한다.
결과 집합 창의 오른쪽에 위치한 몇 가지 아이콘이 있는데, CSV, Excel, JSON 형식의 파일로 저장할 수 있는 기능이다. 아마도 많은 사용자들이 결과셋을 파일로 저장하는데 편의 기능을 보충하기 위해 퀵메뉴를 지원하는 듯 한 느낌이었다.
결과셋 오른쪽 아이콘 중에 마지막 아이콘은 Chart 아이콘인데, 결과에 대한 내용을 Chart로 보여준다. Chart는 몇 가지 형태로 제공되고 있었다. 하지만 어떤 내용을 기준으로 차트를 생성하는지는 정확히 알 수 없었다. 만약 간단한 카운트나 비율에 대한 결과 값을 조회 하였다면 차트 기능을 이용하여 굳이 엑셀로 내려 받아서 차틑를 그리지 않아도 확인 할 수 있을 듯 했다.
아직은 Preview 버전이어서 기존의 SSMS에 비하면 많은 기능이 지원되지 않지만 가벼우면서 기본기에 충실한 툴의 느낌이 들었다. 아직은 프로파일러 기능이나, 어드바이저 기능들이 제공되지 않지만 시간이 지나면서 많은 기능이 포함되리라 생각이 든다. 무엇보다 Windows 환경이 아닌 곳에서도 SQL Operations Studio를 설치해서 사용할 수 있으니 Linux 등 다양한 환경에서 SQL Server 생태계 확대가 기대된다.
[참고자료]
· https://docs.microsoft.com/en-us/sql/sql-operations-studio/download
· https://docs.microsoft.com/en-us/sql/sql-operations-studio/quickstart-sql-server
2017-12-04 / 강성욱 / http://sqlmvp.kr / http://sqlangeles.com
SQL Server, MSSQL, SQL 2016, SQL Server Management Studio, SSMS, SQL Operations Studio, SQL 관리 툴, DB 관리 툴, SQL Linux, SSMS Linux