SQL Server 2022 / Always On 가용성 그룹 만들기

Always On 가용성 그룹을 만들면 한 SQL Server에 장애가 생겼을 때 다른 SQL Server가 대신하도록 할 수 있다. Always On 가용성 그룹은 Windows Server의 장애 조치(Failover) 클러스터를 기반으로 하고, 장애 조치(Failover) 클러스터는 Active Directory 환경에서 사용할 수 있다.

즉, Always On 가용성 그룹을 만드는 것보다 그러한 환경을 구축하는 게 더 어려울 수 있다. Active Active Directory 환경, 장애 조치(Failover) 클러스터 만드는 방법은 아래 링크를 참고하고, 여기서는 Always On 구성에 대해서만 다룬다.

가정

  • MF-AD-01이 도메인 컨트롤러이다. 도메인은 mf.ad, NetBIOS는 MF이다.
  • MF-SQL-01과 MF-SQL-02는 MF-AD-01에 MF\Administrator로 조인되어 있다.
  • MF-SQL-01과 MF-SQL-02에 장애 조치 클러스터를 구성한다. 클러스터 이름은 SQL_Cluster, 클러스터 IP는 192.168.0.221이다.
  • MF-SQL-01과 MF-SQL-02에 MF\Administrator로 로그인하여 SQL Server를 설치한다.
  • 수신기 이름은 SQL_Listener, 수신기 IP는 192.168.222로 만들 것이다.

환경 설정

아래의 작업을 MF-SQL-01, MF-SQL-02에서 한다.

SQL Server

  • SQL Server 구성 관리자를 열고, SQL Server 서비스를 선택한다.
  • SQL Server와 SQL Server 에이전트의 상태가 실행 중, 시작 모드가 자동, 다음 계정으로 로그온이 MF\Administrator가 되도록 설정한다.

  • 설정은 속성으로 들어가서 한다.

  • SQL Server의 속성에서 [Always On 가용성 그룹] 탭을 클릭하고, [Always On 가용성 그룹 사용]에 체크한 후 [확인]을 클릭한다.

  • 서비스를 다시 시작해야 변경 내용이 적용된다는 안내 창이 나온다.

  • SQL Server를 선택하고 우클릭한 후 [다시 시작]을 클릭한다.

방화벽

MF-SQL-01, MF-SQL-02에서 1433, 5022 포트를 열어준다.

Always On 가용성 그룹 만들기

MF-SQL-01에서 다음 작업을 한다.

데이터베이스 만들고 백업하기

  • 데이터베이스를 만든다.

  • 데이터베이스 전체 백업을 한다. 전체 백업을 하지 않으면 가용성 그룹을 만들 수 없다.

가용성 그룹 만들기

  • [Always On 고가용성]을 선택하고 마우스 우클릭 후 [새 가용성 그룹 마법사]를 클릭한다.

  • [다음]을 클릭한다.

  • 적절히 이름을 정하고, 클러스터 유형이 [Windows Server 장애 조치(Failover) 클러스터]가 선택된 것을 확인하고 [다음]을 클릭한다.

  • 데이터베이스를 선택하고 [다음]을 클릭한다.

  • [복제본 추가]를 클릭한다.

  • MF-SQL-02를 입력하고 [연결]을 클릭한다.

  • 자동 장애 조치에 체크하고, 가용성 모드를 동기 커밋으로 설정 후 [다음]을 클릭한다.

  • [다음]을 클릭한다.

  • 가용성 그룹 유효성 검사를 한다. 오류가 없으면 다음 단계로 넘어갈 수 있다.

  • [마침]을 클릭하고 잠시 기다리면...

  • 구성이 완료된다.

  • 가용성 그룹을 확장하면 아래처럼 구성을 볼 수 있다.

  • [장애 조치 클러스터 관리자]을 열면, 아래처럼 역할에서 상태를 볼 수 있다.

테스트

  • MF-SQL-01을 종료한다.
  • MF-SQL-02에서 [장애 조치 클러스트 관리자]를 열어서 소유자 노드가 변경된 것을 확인한다.

  • SSMS에서 데이터베이스가 잘 동기화되었고, MF-SQL-02가 (주)가 되었는지 확인한다.

수신기 만들기

수신기는 SQL Server에 연결할 때 사용할 이름 또는 IP로 생각하면 된다. 수신기로 연결하면 주 서버로 연결을 해준다.

  • [가용성 그룹 수신기]를 선택하고 마우스 우클릭 후 [수신기 추가]를 클릭한다.

  • 이름을 적절히 정하고, 포트는 1433으로 한 후 [추가]를 클릭한다.

  • 수신기로 사용할 IP를 입력하고 [확인]을 클릭한다.

  • [확인]을 클릭하면 수신기가 만들어진다.

 

같은 카테고리의 다른 글
SQL Server / SSMS / IntelliSense / 자동 완성 기능 사용하는 방법, 설정하는 방법

SQL Server / SSMS / IntelliSense / 자동 완성 기능 사용하는 방법, 설정하는 방법

텍스트 에디터의 경우 코드의 일부분을 입력했을 때 그 문자열을 포함한 코드 리스트를 보여주는 기능이 있다. 이러한 자동 완성 기능을 SSMS에서도 제공하고 있고, IntelliSense라고 한다. 원하는 것을 쉽게 찾고, 오타를 줄일 수 있는 유용한 기능이다. 예를 들어 from 뒤에 문자열을 입력하면 그와 관련된 것이 나오고, 상하 화살표를 이용해 선택한다. 선택한 것을 사용할 ...

SQL Server / SSMS / 테이블을 다시 만들어야 하는 변경 내용 저장 사용 안 함 설정 변경하는 방법

SQL Server / SSMS / 테이블을 다시 만들어야 하는 변경 내용 저장 사용 안 함 설정 변경하는 방법

SSMS로 테이블 작업을 할 때 다음과 같은 메시지와 함께 저장이 되지 않는 경우가 있다. 변경 내용을 저장할 수 없습니다. 변경 내용을 적용하려면 다음 테이블을 삭제하고 다시 만들어야 합니다. 다시 만들 수 없는 테이블을 변경했거나 옵션을 설정했습니다. 테이블 열의 순서를 변경하는 등 특정 ...

SQL Server 2022 / SQL Server 서비스 시작, 중지, 다시 시작하는 방법

SQL Server 2022 / SQL Server 서비스 시작, 중지, 다시 시작하는 방법

SQL Server의 서비스를 시작, 중지, 다시 시작하는 방법은 여러 가지가 있다. 그 중 UI를 이용하는 세 가지 방법을 소개한다. SQL Server Configuration Manager SQL Server Configuration Manager를 연다. 왼쪽에서 를 선택한다. 오른쪽에서 SQL Server를 선택하고 마우스 우클릭한다. 원하는 서비스 관련 작업을 클릭한다. SSMS SSMS로 SQL Server에 접속한다. 개체를 선택하고 마우스 우클릭한다. 원하는 서비스 관련 작업을 클릭한다. 서비스 SQL Server를 ...

SQL Server / SSMS / 쿼리 만들고 실행하는 방법

SQL Server / SSMS / 쿼리 만들고 실행하는 방법

쿼리(Query)를 이용하여 필요한 데이터를 추출하거나 여러 가지 작업을 할 수 있다. SSMS에서 쿼리를 만들고 실행하는 과정은 다음과 같다. SQLServer에 접속하고 데이터베이스 선택 데이터베이스 서버에 접속하고 를 클릭한다. 드롭다운 목록에서 쿼리를 할 데이터베이스를 선택한다. 쿼리 작성하고 실행 쿼리를 입력하고 을 클릭한다. 단축키는 F5이다. SQL은 대소문자를 구분하지 않는다. 하단에 쿼리 결과가 나온다. 여러 개의 쿼리를 입력했다면 각각 결과가 나온다. 일부 쿼리 ...

SQL Server / Query / JOIN

SQL Server / Query / JOIN

JOIN으로 여러 개의 테이블의 데이터를 연결하여 조회할 수 있다. 다음과 같은 두 개의 테이블이 있다고 하자. country에는 나라의 이름이, city에는 도시의 이름이 있다.  INNER JOIN country 테이블의 country_no와 city 테이블의 country_no가 같은 것을 연결한다. 두 테이블에 모두 존재하는 데이터를 출력한다. select country.country_name, city.city_name from country inner join city on country.country_no = city.country_no ; LEFT JOIN country 테이블의 country_no와 ...

SQL Server / Query / 메모

최근 날짜 가져오기 Name으로 그룹화한 후 최근 날짜를 가져온다. SELECT Name, MAX( Date ) FROM Table1 GROUP BY Name 최근 날짜가 2020년인 것만 가져온다. SELECT Name, MAX( Date ) FROM Table1 GROUP BY Name HAVING MAX( Date ) BETWEEN '2020-01-01' AND '2020-12-31' 모든 데이터베이스 출력하기 EXECUTE sp_helpdb;

SQL Server / Query / GO

예를 들어 DB라는 데이터베이스를 만들고, ID라는 열을 갖는 TB라는 테이블을 만든다고 하자. 쿼리로 만드는 경우 다음과 같이 할 수 있는데... CREATE DATABASE DB; USE DB; CREATE TABLE TB ( ID int ); 다음과 같은 에러가 난다. 데이터베이스 'DB'이(가) 없습니다. 이름을 제대로 입력했는지 확인하십시오. 이런 경우 GO를 사용한다. GO를 기준으로 해서 GO 위의 쿼리 실행을 마친 후 ...

SQL Server / Query / 주석

SQL Server / Query / 주석

주석으로 처리하면 해당 문자열은 실행되지 않습니다. 코드에 설명을 달거나 특정 쿼리를 잠시 실행시키고 싶지 않을 때 사용합니다. 주석에는 한 줄 주석과 여러 줄 주석이 있습니다. 한 줄 주석은 --로 만듭니다. -- 뒤에 있는 문자열이 주석이 됩니다. -- Commnet SELECT * FROM myDB; -- Comment 여러 줄 주석을 만들고 싶다면 /*와 */로 감쌉니다. 그 사이에 있는 ...

SQL Server / Query / SELECT / 데이터 조회

SQL Server / Query / SELECT / 데이터 조회

예제로 사용한 데이터베이스는 AdventureWorks이다. SELECT로 원하는 데이터를 조회한다. SELECT FROM 기본 SELECT 뒤에는 조회할 열 이름을, FROM 뒤에는 조회할 테이블 이름을 입력한다. 모든 열을 조회한다면 *를 사용한다. HumanResources.Employee 테이블의 모든 열을 조회한다. select * from HumanResources.Employee ; HumanResources.Employee 테이블에서 BusinessEntityID, JobTitle, BirthDate, HireDate를 조회한다. select BusinessEntityID, JobTitle, BirthDate, HireDate from HumanResources.Employee ; TOP TOP으로 조회 개수를 정한다. 상위 10개를 ...

SQL Server Express, SSMS, AdventureWorks 설치하는 방법

SQL Server Express, SSMS, AdventureWorks 설치하는 방법

SQL Server Express는 Microsoft가 제공하는 무료 SQL Server입니다. SQL Server Express, 그것을 관리하는 툴인 SSMS(SQL Server Management Studio), 샘플 데이터베이스 AdventureWorks를 설치하는 방법을 알아보겠습니다. SQL Server Express 다음 링크로 접속합니다. https://www.microsoft.com/ko-kr/sql-server/sql-server-downloads 밑으로 조금 내려가면 Express 다운로드 링크가 있습니다. 클릭하면 바로 다운로드합니다. 다운로드한 파일을 실행하면 다음과 같은 창이 나옵니다. 을 클릭합니다. 을 클릭합니다. 설치 위치를 정한 후 를 ...