2020. 3. 9. 16:47

MS SQL 미러링 쿼리.

매번 20여개의 미러링을 재구축할려니 귀찮다. 

 

아래 쿼리 확인하여 앞으론 한번에 하자.

 

####################### 미러 Master 서버에서 기존 미러링 재거후 진행####################

 

--미러링 제게
ALTER DATABASE [dbname] SET PARTNER RESUME;  


--미러링 제거
ALTER DATABASE [dbname] SET PARTNER OFF  

 

 

-- 백업

BACKUP DATABASE [dbname] TO  
DISK = N'H:\[dbname].bak' WITH FORMAT, INIT,  
MEDIANAME = N'[dbname]',  
NAME = N'[dbname]-전체 데이터베이스 백업', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
GO

 

-- 트랜젝션 로그 백업

BACKUP LOG [dbname]TO  
DISK = N'H:\[dbname].bak' 
WITH NOFORMAT, NOINIT,  
NAME = N'[dbname]-트랜잭션 로그  백업', 
SKIP, NOREWIND, NOUNLOAD,  STATS = 10
GO

 

 

 

 

######################### 미러서버에서 복원후 파트너 지정 ###############################

 

-- 백업파일 트랜젝션로그 파일과 같이 norecovery 로 복원.

RESTORE DATABASE [dbname] FROM  
DISK = N'H:\[dbname].bak' 
WITH  FILE = 1,  MOVE N'[dbname]_log' 
TO N'D:\SQL_DATA\[dbname]_1.ldf',  
NORECOVERY,  NOUNLOAD,  STATS = 10
GO
RESTORE LOG [dbname] FROM  
DISK = N'H:\[dbname].bak' 
WITH  FILE = 2,  NORECOVERY,  NOUNLOAD,  STATS = 10
GO

 

 

-- 미러서버에서 파트너즈 지정(미러 Slave 서버에서 먼저 진행후 Master 서버에서 진행해야함)

alter database [dbname] set partner = 'TCP://[Master서버IP]:5022'

 

 

 

-- 미러 Master 서버에서 진행.
alter database [dbname] set partner = 'TCP://[Slave서버IP]:5022'