SSMS(SQL Server Management Studio)는 SQL 인프라를 관리하기 위한 통합 환경이다. SQL Server, Azure SQL Database, Azure SQL Managed Instance, Azure VM의 SQL Server, Azure Synapse Analytics의 모든 구성 요소에 엑세스하고, 구성, 관리, 개발할 수 있다.
1. 서버에 연결
1.1 서버 유형
‘서버에 연결’ 창에서 서버 유형의 드롭다운 리스트를 클릭하면 5가지 서버 유형이 나타난다.
유형 | 기능 |
데이터베이스 엔진 | SQL Server의 핵심 역할로, 데이터베이스를 관리하고 생성하는 엔진이다. |
Analysis Services | OLAP(Online Analytical Processing) 및 데이터 마이닝 기능을 제공한다. |
Reporting Services | SQL Server Reporting Services(SSRS)로 불리며, 원래의 데이터에서 필요로 하는 데이터를 추출하여 보고서를 만드는 기능을 한다. |
Integration Services | SQL Server Integration Services(SSIS)는 데이터 통합 및 워크플로 자동화를 위한 도구이다. |
Azure-SSIS Integration Runtime | Azure Data Factory에서 SQL Server Intergration Services(SSIS) 패키지를 실행하기 위한 실행 환경이다. |
OLAP(Online Analytical Processing) 이란 최종 사용자가 의사결정을 얻으려고 데이터베이스에 실시간으로 접근해여 대화식으로 정보를 추출/분석하는 것을 말한다. OLAP은 다차원 정보에 접근이 가능해야 하는데, 다차원 정보란 ‘지난 달에 비해서 이번 달의 실적은 어떠한가?’ 등 최종 사용자가 이해하는 실제적인 차원의 정보를 의미한다.
1.2 서버 이름
서버 이름은 SSMS 를 통해 접근하게 될 SQL Server의 이름이다.
SQL Server 엔진이 설치된 컴퓨터의 이름을 입력해도 되며, 해당 서버의 IP 주소를 입력해도 된다.
원격지의 컴퓨터에 접속하려면 해당 서버의 IP 주소를 , ‘localhost’ 혹은 ‘127.0.0.1’ 를 입력하면 현재 실행하는 컴퓨터의 SQL Server에 접속할 수 있다.
서버를 찾기 어렵다면 ‘더 찾아보기,,’ 를 선택해 원하는 서버를 찾을 수 있다.
1.3 인증
인증은 사용자가 데이터베이스 서버에 접근할 때 사용하는 인증 방식이다. 이는 데이터베이스에 안전하고 적절하게 연결하기 위한 사용자 자격 증명을 확인하는 과정이다.
종류 | 기능 |
Window 인증 | Windows 계정을 사용하여 SQL Server에 연결하는 방식이다. Windows 의 보안 정책과 통합되어 높은 보안을 제공한다. |
SQL Server | SQL Server에서 별도로 생성된 사용자 계정과 비밀번호를 사용하여 인증한다. 주로 비도메인 환경이나 외부 사용자가 접근해야 하는 경우 사용한다. |
Microsoft Entra MFA | Microsoft Entra 계열은 클라우드 기반의 Azure Active Directory(AAD) 와 연동된 인증방식이다.
Microsoft Entra MFA은 다중 인증(Multi-Factor Authentication)을 요구 하는 방식으로, 높은 보안을 제공한다. |
Microsoft Entra 암호 | Azure AD의 사용자 이름과 비밀번호를 사용한 기본인증이다. |
Microsoft Entra 통합 | Single Sign-On(SSO) 을 활용하여 Azure AD와 통합된 인증 방식이다. |
Microsoft Entra 서비스 주체 | 애플리케이션 서비스 계정(Service Principal)으로 SQL Server에 접근하는 방식이다. 주로 자동화된 작업에 사용된다. |
Microsoft Entra 관리 ID | Azure 리소스에 의해 관리되는 ID로 인증한다. 추가적인 비밀번호 없이 Azure 환경 내에서 안전하게 SQL Server에 접근할 수 있다. |
Microsoft Entra 기본값 | Azure Active Directory에서 기본 제공하는 인증 설정을 따른다. |
1.4 사용자 및 비밀번호
사용자의 계정을 입력해 로그인한다. Windows 인증 모드로 되어있다면 윈도우에 접속한 사용자의 이름이 기본 설정되어 있다.
1.5 연결 속성
‘연결할 데이터베이스’는 특별히 연결하고자 하는 데이터베이스를 지정하는 부분이며,
‘네트워크 프로토콜’은 서버에 접속하는 네티워크를 별도로 지정할 수 있는 부분이다.
2. SSMS 화면 구성
2.1 개체 탐색기
개체 탐색기는 개체들을 검색하고 관리하는 도구이다.
개체 탐색기에서 할 수 있는 일을 나열하면 다음과 같다.
- 데이터베이스 및 데이터베이스 개체의 생성 및 관리
- 데이터베이스의 삭제 및 속성 변경
- 보안 관리
- 권한 및 제한 사항 조절
- 로그 전달/미러링/복제 등 환경 조절
- 백업의 생성 및 복원 수행
- 정책 관리, 리소스 관리, 데이터 컬렉션
- SQL Server 로그 기록의 조회 및 관리
- SQL Server 에이전트의 관리
개체 탐색기의 ‘+’ 버튼을 클릭해 확장하다가 마지막에 더블클릭하면 해당 내용의 속성 창 혹은 쿼리 창이 나타난다.
원하는 개체 선택 후 마우스 우클릭을 해서 CREATE문, ALTER 문 등을 쉽게 생성할 수 있다.
2.2 쿼리창
상단의 ‘새 쿼리’ 를 선택한다.
왼쪽 상단의 ‘사용 가능한 데이터베이스’ 탭에서 사용할 DB를 선택한다.
쿼리창에서 SQL문을 실행한다. 실행은 표시된 ‘실행’ 버튼 혹은 키보드 F5 를 눌러 실행한다.
3. 쿼리창 활용하기
3.1 코드 조각 삽입 기능
쿼리창에 마우스 우클릭 > 코드 조각 삽입을 선택한다.
그리고 조각 삽입 탭에서 원하는 걸 선택한다.
기본적인 문법이 만들어진다. 문법이 기억나지 않을 경우 사용하면 유용하다.
3.2 코드 감싸기
마우스로 원하는 부분을 드래그 선택 후 마우스 우클릭 > 코드 감싸기를 선택한다.
코드 감싸기에서 Begin, if, While 문 중 하나를 선택한다.
선택한 구문으로 묶을 수 있다.
3.3 코드 부분 실행하기
use tempDB GO CREATE TABLE test(id int);
데이터베이스 선택 후 test 라는 테이블을 생성한다.
use tempDB GO CREATE TABLE test(id int); INSERT INTO test VALUES(1)
그리고 테이블에 값을 입력하면 다음과 같은 오류가 발생한다.
이는 처음 쿼리로 테이블이 생성됐는데, insert 문을 작성 후 다시 실행하면 전체 쿼리가 다시 실행되어 CREATE문이 다시 실행되기 때문이다.
따라서 실행이 필요한 쿼리를 마우스 드래그로 표시한 후 F5를 눌러 부분 실행을 해야 한다.
3.4 텍스트 형태로 결과 표시하기
기본적으로 쿼리의 결과는 테이블 형태로 나타난다.
상단에 표시한 부분의 ‘텍스트로 결과 표시’ 부분을 선택한다.
그리고 쿼리를 다시 실행하면 텍스트 형태로 결과를 볼 수 있다.
3.5 실행 계획 (Execution Plan)
SQL에서 실행 계획(Execution Plan)**은 데이터베이스가 SQL 쿼리를 처리하고 실행하기 위해 사용하는 단계별 전략을 보여주는 청사진이다. 이 계획은 쿼리를 최적화하고 성능을 개선하기 위해 중요한 정보를 제공한다. 현재는 실행 계획 표시법만 알아보자.
표시된 ‘실제 실행 계획 포함’ 버튼을 선택 후 쿼리를 실행한다.
결과탭 옆에 실행 계획 탭이 생성된다.
마우스를 올려두면 상세 내용이 표시된다.
3.6 통계 확인
표시된 ‘클라이언트 통계 포함’ 버튼을 선택한다.
실행하면 ‘클라이언트 통계’ 탭을 통해 쿼리의 각종 통계를 확인할 수 있다.
Share article