[ SQL SERVER ] 如何鏡像資料庫 Mirror SQL Server

如何鏡像資料庫 Mirror SQL Server,實作資料庫鏡像 ( Database Mirroring ) 

鏡像其實不難,只要確認好資料庫環境,就可以利用 SSMS 所提供的設定精靈Step by step 的完成。在開始之前,還是建議爬一下官方的說明文件,裡頭已經有很詳盡的概念說明( 雖然都是英文 ),但是如果看示意圖來理解的話,其實也可以了解個大概,接下來實作如何設定鏡像吧。

ㄧ、環境

SERVER 1 : SQL Server 2012 R2

SERVER 2 : SQL Server 2012 R2

Witness SSERVER : SQL Server R2

在高可用性的鏡像中,會有一個伺服器負責監控 SERVER1 和 SERVER 2,當 SERVER1 ( Principle ) 掛掉的時候,自動幫你切換到 SERVER2 ( Mirror )
可以看到 Witness Server 並不負責資料流,所有的資料流只會在 SERVER1 和 SERVER 2 傳遞。

二、前置動作

請先備份 SERVER 1資料庫到 SERVER 2,可以利用下面的TSQL備份

--備份資料庫 
BACKUP DATABASE "Your database" TO  DISK = N'C:\yourpath.bak'   

--備份LOG
BACKUP LOG "LOG Name" TO  DISK = N'C:\yourpath.trn'   

記得在還原資料庫和LOG的時候要選 WITH NORECOVERY。
 

三、鏡像

1. 登入Principle Server (主要伺服器),並選擇需要鏡像的資料庫。

2. 分別指定設定 Principle、Mirror、Witness Server

3. 直接選 Finish 即可

4. 選 Start Mirroring

5. 完成後即可看到 Principle 後面有 Synchronized 的字樣