「數據庫鏡像」是一種提升 SQL Server 數據庫的可用性的解決方案。 鏡像基於每一個數據庫實現,而且只適用於使用完整恢復模式的數據庫。數據庫鏡像維護一個數據庫的兩個副本,這兩個副本必須駐留在不一樣的 SQL Server 數據庫引擎 服務器實例上。 一般,這些服務器實例駐留在不一樣位置的計算機上。 啓動數據庫上的數據庫鏡像操做時,在這些服務器實例之間造成一種關係,稱爲「數據庫鏡像會話」。其中一個服務器實例使數據庫服務於客戶端(「主體服務器」), 另外一個服務器實例則根據鏡像會話的配置和狀態,充當熱備用或溫備用服務器(「鏡像服務器」)。 具備自動故障轉移功能的高安全性模式要求使用第三個服務器實例,稱爲「見證服務器」。sql
主體服務器 (principal server)數據庫
在數據庫鏡像中,是指當前做爲主體數據庫的數據庫所屬於的夥伴。安全
鏡像服務器 (mirror server)服務器
在數據庫鏡像配置中,鏡像數據庫所在的服務器實例。網絡
見證服務器 (Witness)ide
僅用於高安全性模式,SQL Server 的一個可選實例,它能使鏡像服務器識別什麼時候要啓動自動故障轉移。 與這兩個故障轉移夥伴不一樣的是,見證服務器並不能用於數據庫。 見證服務器的惟一角色是支持自動故障轉移。網站
全部數據庫鏡像會話都只支持一臺主體服務器和一臺鏡像服務器。 下圖顯示了該配置:ui
下圖顯示了包含見證服務器的配置:spa
更多關於SQL數據庫鏡像概念請參考Technet網站,連接以下:操作系統
https://technet.microsoft.com/zh-cn/library/ms189852(v=sql.110).aspx
*****************************************************************************************************
整個SQL Server 2012 數據庫鏡像的配置分爲如下6個小章節
環境準備
安裝數據庫功能
啓用TCP/IP協議和RemoteDAC
數據庫準備工做
數據庫鏡像配置
功能驗證
*****************************************************************************************
1.1 本次Demo使用的服務器清單以下:
No. |
主機名 |
服務器角色 |
操做系統 |
IP地址 |
1 |
DC01.huangjh.com |
AD/DNS |
Windows Server 2012 R2 |
192.168.8.8/24 |
2 |
SQL01.huangjh.com |
數據庫服務器 (主體) |
Windows Server 2012 R2 SQL Server Enterprise 2012 SP1 |
192.168.8.10/24 |
3 |
SQL02.huangjh.com |
數據庫服務器 (鏡像) |
Windows Server 2012 R2 SQL Server Enterprise 2012 SP1 |
192.168.8.20/24 |
4 |
SQL03.huangjh.com |
數據庫服務器 (見證) |
Windows Server 2012 R2 SQL Server Enterprise 2012 SP1 |
192.168.8.30/24 |
1.2 準備好一臺域控服務器和三臺數據庫服務器,配置網絡並加入域huangjh.com
1.3 三臺SQL服務器須要開放1433和5022端口,爲了實驗方便本次Demo直接手動關閉防火牆
2.1 在SQL0一、SQL02和SQL03三臺數據庫服務器,打開服務器管理器並根據嚮導完成.Net framework 3.5的安裝
2.2在SQL0一、SQL02和SQL03三臺數據庫服務器分別插入並運行SQL Server 2012 Enterprise SP1安裝程序,點擊「安裝」—「全新SQL Server獨立安裝或向現有安裝添加功能」,根據嚮導完成SQL功能的安裝
2.3 在」功能選擇」頁面,根據實際應用需求勾選所需的功能,下一步
2.4 在」服務器配置」頁面,修改服務帳戶爲域帳戶(確保該帳戶密碼永不過時),啓動類型爲」自動」
2.5 根據嚮導在SQL0一、SQL0二、SQL03完成數據庫功能的成功安裝
3.1 在SQL0一、SQL0二、SQL03中分別打開SQL Server配置管理器,啓用TCP/IP協議
3.2 在SQL0一、SQL0二、SQL03中分別打開SQL Server Management Studio,右鍵實例選擇「方面」
3.3 選擇「外圍應用配置器」—將屬性「RemoteDACEnabled」的值改成「True」
4.1 在SQL01(主體服務器)右鍵」數據庫」—「新建數據庫」
4.2 在」常規「頁面輸入數據庫名稱
4.3 在」選項」頁面確保恢復模式爲」完整「
4.4 右鍵」DB01」選擇」任務「—」備份「
4.5 備份類型選擇」完整「,點擊」肯定「
4.6 備份成功完成後點擊」肯定「
4.7 選擇備份類型爲」事務日誌「,點擊」肯定「完成對事務日誌的備份
4.8 將備份文件拷貝到鏡像服務器SQL02.huangjh.com對應的路徑,默認備份路徑爲
「C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup」
4.9 在鏡像服務器SQL02.huangjh.com打開SQL Server Management Studio,右鍵「數據庫」選擇「建立數據庫」
4.10 輸入數據庫名稱,點擊「肯定」(此數據庫名稱必須與SQL01中建立的數據庫名稱保持一致)
4.11 右鍵新建立的數據庫「DB01」--選擇「任務」—「還原」—「數據庫」
4.12 選擇「設備」,點擊右邊「…」
4.13 點擊」添加」
4.14 選擇剛纔從SQL01複製的備份文件,點擊」肯定」
4.15 點擊「肯定」
4.16 勾選要還原的備份集
4.17 在「選項」頁面勾選「覆蓋現有數據庫」,恢復狀態選擇「RESTORE WITH NORECOVERY」,取消勾選「還原前進行結尾日誌備份」,點擊「肯定」
4.18 點擊「肯定」
4.19 數據庫DB01顯示」正在還原…「
5.1 在主體服務器SQL01.huangjh.com右鍵「DB01」選擇「任務」—「鏡像」
5.2 點擊「配置安全性」
5.3 下一步
5.4 選擇「是」,下一步
5.5 勾選「見證服務器實例」,下一步
5.6 下一步
5.7 點擊「瀏覽更多」
5.8 輸入鏡像服務器名稱SQL02,點擊」鏈接」
5.9 選擇鏡像服務器實例SQL02,下一步
5.10 一樣選擇見證服務器實例SQL03,下一步
5.11 輸入實例服務帳戶huangjh\administrator,下一步
5.12 點擊「完成」
5.13 成功配置後,點擊」關閉」
5.14 點擊「開始鏡像」
5.15 狀態爲「已同步:數據庫已徹底同步」,點擊「肯定」
5.16 在主體服務器SQL01看到的數據庫狀態爲」主體,正在同步」
5.17 在鏡像服務器SQL02看到的數據庫狀態爲」正在還原…」
6.1 在主體服務器SQL01右鍵數據庫「DB01」選擇「任務」—「啓動數據庫鏡像監視器」
6.2 在此頁面可看到數據庫鏡像的同步狀態等
6.3在主體服務器SQL01右鍵數據庫「DB01」選擇「屬性」
6.4 在選擇頁「鏡像」點擊「故障轉移」
6.5 點擊「是」
6.6 此時主體服務器爲SQL02,鏡像服務器SQL01,說明手動故障轉移成功
6.7 將SQL02(此時的主體服務器)關機,此時自動將主體故障轉移到SQL01中
6.8 此時又回到了原先的主體服務器SQL01,鏡像服務器SQL02,狀態爲」沒有鏈接:沒法鏈接鏡像服務器實例或見證服務器實例」
6.9 將SQL02開機後恢復正常後,狀態爲」已同步:數據庫已徹底同步」,說明自動故障轉移成功。
~~~以上是整個SQL Server 2012 數據庫鏡像配置的分享~~~