본문 바로가기

MS SQL

MSSQL Failover Cluster의 TempDB를 로컬 디스크로 변경 하는 방법

MSSQL Failover Cluster의 TempDB를 로컬 디스크로 변경 하는 방법

서비스중인  SQL Server 2012R2  Failover Cluster의 TempDB를 로컬 디스크로 변경하는 작업을 위한 가이드를 공유해봅니다.
아래 작업을 진행한 배경은 요기(http://ryuchan.kr/525)서 확인 가능합니다.

[사전 작업]
- 각 노드에 SSD 디스크 추가
- 반드시 사전에 양쪽 노드의 동일 한 위치에 Tempdb가 위치할 폴더를 생성 합니다.
 
[ 작업 절차 ]
SSD 추가 작업이 완료 된 후 각 노드의 동일한 위치에 Tempdb폴더가 생성 되었다는 가정하에..

1. 현재 SQL 소유권을 가지고 있는 Node 확인
-> node2


2. SQL 서버의 소유권을 가지고 있는 서버로 로그온 후 sql management 실행  Tempdb 위치 확인

SELECT name, physical_name AS CurrentLocation 
FROM sys.master_files 
WHERE database_id = DB_ID(N'tempdb'); 
GO

현재 Tempdb는 클러스터 공유 디스크(E 드라이브)에 연결 되어 있음을 확인

3. Alter database 명령어를이용해서 Tempdb 위치 변경

USE master; 
GO 
ALTER DATABASE tempdb  
MODIFY FILE (NAME = tempdev, FILENAME = 'c:\sql\temp\tempdb.mdf'); 
GO 
ALTER DATABASE tempdb  
MODIFY FILE (NAME = templog, FILENAME = ' c:\sql\temp \templog.ldf'); 
GO 

위 커멘드를 실행하면 아래 빨간 네모 박스와 같은 경고메시지가 발생합니다.
tempdb가 클러스터 디스크에서 로컬 디스크로 변경 된다는 경고이므로 참고만 합니다.

4. SQL service 재 시작


5. Tempdb 위치 확인


SQL Failover Test
기존 Node 2에서 Node1로 Failover 가 정상적으로 완료 됨을 확인 할 수 있습니다. 물론 Failback도 잘 되었습니다.

[참고 자료]
Local Tempdb with SQL Server 2012R2 Failover Cluster #1
http://ryuchan.kr/525

Local Tempdb with SQL Server 2012R2 Failover Cluster #2
http://ryuchan.kr/526

Move System Databases
https://docs.microsoft.com/en-us/sql/relational-databases/databases/move-system-databases


감사합니다.