DB

MS-SQL 설치 및 DBeaver에 MS-SQL 연결 (MS-SQL의 인스턴스 개념 알고가기)

0725 2025. 1. 15. 17:58

진짜 오만가지 다 시도했는데 URL을 직접 입력하니까 됐음

 

그런데 이 과정이 꽤 복잡하당

 

1. SQL Server 다운로드

MSSQL을 검색하여 서버를 설치합니다.

https://www.microsoft.com/ko-kr/sql-server/sql-server-downloads

 

 

2. SSMS(SQL Server Management Studio) 다운로드

SSMS(SQL Server Management Studio)는 SQL Server에서 Azure SQL Database까지 모든 SQL 인프라를 관리하기 위한 통합 환경입니다. SSMS는 SQL Server 및 데이터베이스의 인스턴스를 구성, 모니터링 및 관리하는 도구를 제공합니다. SSMS를 사용하면 애플리케이션에 사용되는 데이터 계층 구성 요소를 배포, 모니터링 및 업그레이드하고 쿼리 및 스크립트를 작성할 수 있습니다. (공식 문서)

 

다른 툴을 쓸거여도 일단 얘로 사전 설정을 해야 서버에 접속이 가능합니다.

https://learn.microsoft.com/ko-kr/sql/ssms/download-sql-server-management-studio-ssms?redirectedfrom=MSDN&view=sql-server-ver15#available-languages

 

SSMS(SQL Server Management Studio) 다운로드 - SQL Server Management Studio (SSMS)

SQL_A 및 Azure SQL 인스턴스를 관리하고 구성하려면 최신 버전의 SSMS(SQL Server Management Studio)를 다운로드하세요.

learn.microsoft.com

 

 

3. SSMS로 MS-SQL 서버 접속

서버 이름을 설정하고 접속한다.

여기에서 가능한 방식이 몇가지 있다.

나는 .\SQLEXPRESS 가 기본인 줄 알고 들어갔다가 나중에 조금 애를 먹었다. 이건 나중에 후술

연결 방식 대상 서버  
. 기본 인스턴스 localhost, .
.\SQLEXPRESS 명명된 인스턴스 (서버명)\SQLEXPRESS, .\SQLEXPRESS

 

Windows 인증으로 접속 후에 사전 작업을 해주어야한다.

 

 

서버 우클릭 후 속성

 

 

보안 - 서버 인증 - SQL Server 및 Windows 인증 모드 

 

 

서버 - 보안 - 로그인에 sa 계정의 속성에 들어간다.

MariaDB는 처음 설치할때 root의 비번을 설정하는데 MS-SQL 설치 과정에 비번 설정하는 과정이 없길래 내가 임의로 root 계정을 생성하였으나 알고보니 MS-SQL은 sa가 초기 관리자 계정이었음

 

 

비밀번호를 변경해준다.

 

 

4. Sql Server Configuration Manager 설정

SQL Server 초기 설치 시에는 기본적으로 TCP/IP 접근이 비활성화되어 있습니다. 이는 SQL Server가 설치된 후 보안을 강화하기 위해 외부 연결을 제한하는 기본 설정 때문입니다.

 

이를 설정해줍시다.

 

Window+r 단축키로 실행 창에 접속 뒤 sqlservermanager(버전).msc 실행

 

(버전 알아내는 법)

C:\Program Files\Microsoft SQL Server 경로에 가면 폴더 명에 있음 나의 경우엔 16

 

 

TPC/IP 사용으로 변경

 

 

변경 후에는 서버를 다시 시작해주는 것을 잊지 맙시다.

  • 기본 인스턴스: SQL Server (MSSQLSERVER)
  • 명명된 인스턴스: SQL Server (인스턴스 이름)

 

 

 

 

5. 방화벽 설정

검색해서 고급 보안이 포함된 Windows Defender 방화벽을 열어줍니다.

 

 

인바운드 규칙에서 새 규칙을 클릭합니다.

 

 

포트 선택합니다.

 

 

 

 

여기서 1433과 1434 두 포트를 허용하는 이유

 

MariaDB에서는 새로운 서버 인스턴스를 생성하려면 보통 포트를 별도로 설정하여 실행합니다. 이는 여러 MariaDB 인스턴스를 동일한 시스템에서 독립적으로 운영할 때 사용되는 일반적인 방식입니다. 

 

SQL Server의 인스턴스

  • 인스턴스란?
    • SQL Server에서 인스턴스는 하나의 서버 내에서 독립적으로 실행되는 SQL Server의 개별 실행 환경을 의미합니다.
    • 각각의 인스턴스는 고유한 설정, 데이터, 로그 파일, 포트 등을 가지며, 서로 독립적으로 동작합니다.
  • 기본 인스턴스와 명명된 인스턴스
    1. 기본 인스턴스(Default Instance):
      • 서버에서 하나만 존재 가능.
      • 서버 이름만 사용해 연결 가능 (예: localhost, SY).
      • 포트 기본값: 1433.
    2. 명명된 인스턴스(Named Instance):
      • 기본 인스턴스 외에 추가로 생성할 수 있는 인스턴스.
      • 고유한 이름(예: SQLEXPRESS)과 동적 또는 고정 포트를 사용.
      • 예: localhost\SQLEXPRESS.

명명된 인스턴스와 SQL Server Browser 서비스의 역할

  1. 명명된 인스턴스와 동적 포트:
    • 기본 인스턴스는 항상 **고정 포트(기본값: TCP 1433)**를 사용합니다.
    • 명명된 인스턴스는 기본적으로 동적 포트를 사용하며, SQL Server가 실행될 때마다 다른 포트가 할당됩니다.
    • 동적 포트를 사용하는 명명된 인스턴스에 연결하려면 클라이언트는 해당 인스턴스의 포트를 알아야 합니다.
  2. SQL Server Browser 서비스의 역할:
    • 클라이언트가 명명된 인스턴스 이름(예: SY\SQLEXPRESS)으로 연결을 시도하면, SQL Server Browser 서비스가 UDP 1434 포트를 통해 해당 인스턴스의 포트 정보를 제공합니다.
    • 클라이언트는 받은 포트 정보를 사용해 SQL Server에 연결합니다.

 

 

 

6. 디비버에서 접속하기

SQL Server 선택

 

 

여기서 헤맨 것!!!! 나는 명명된 인스턴스를 사용했기 때문에 URL에 인스턴스 명을 명시해줘야한다

 

jdbc:sqlserver://localhost;instanceName=SQLEXPRESS;databaseName=mes_wp;user=sa;password=(설정비번);

이런 식으로 인스턴스 명을 넣어줘야하는데 나는 인스턴스 개념을 몰랐기 때문에 그저 Connect by 호스트로 선택해서 접속하려다보니 접속이 안되었었다. 

 

 

 

 

해결~