摘要: SQL Server database mirroring with local user account(no domain name).
使用說明:
本章將介紹如何在利用"本機帳號"(或是在沒有Domain Name 環境)來設定 SQL Server 鏡像
(註:設定 SQL Server 鏡像主要有三種方式:
1. 在有 Domain Name 環境可以透網域帳號來設定
2. 在沒有 Domain Name 環境可以每台電腦的本機帳號來設定
3. 透過憑證的方式進行)
環境說明:
角色作用: Principal Server
電腦名稱: PC1
資料庫名稱: TestDB
本機帳號: PC1\admin1
資料庫: SQL Server 2014 Developer Edition
作業系統: Windows 7 Service Pack 1
角色作用: Mirroring Server
電腦名稱: PC2
本機帳號: PC2\admin1
資料庫: SQL Server 2014 Developer Edition
作業系統: Windows 7 Service Pack 1
(註: Principal 和 Mirroring 要使用相同的 SQL Server 版本)
角色作用: Witness Server
電腦名稱: PC3
本機帳號: PC3\admin1
資料庫: SQL Server 2014 Express Edition
作業系統: Windows 7 Service Pack 1
如果有防火牆請記得開啟 SQL Server TCP Port(預設:1433) 和 鏡像端點 Port(預設:5022)
設定教學說明:
將對 PC1 的 資料庫 TestDB 設定鏡像。
Step 1-1.
將 PC1、PC2 的 " SQL Server 服務"和 "SQL Server Agent 服務" 的登入身分 都改為的本機帳號 admin1,如下圖:
Step 1-2.
PC3 的 " SQL Server 服務" 的登入身分 改為的本機帳號 admin1,如下圖:
Step 2.
將 PC1 的資料庫TestDB做 完整備份 與 交易紀錄備份 後,在 PC2 做備份還原動作,
PC2 做還原 "完整備份" 時,請記住要到還原的"選項"頁面,選擇 RESTORE WITH NORECOVERY 做還原的項目,如下圖:
PC2 做 "交易紀錄" 還原時,請也記住要到還原的"選項"頁面,選擇 RESTORE WITH NORECOVERY 做還原的項目,如下圖:
如果成功做完還原動作,PC2 的 "TestBD"資料庫狀態會是"正在還原…",如下圖:
Step 3.
對 PC1、PC2、PC3 加入登入身分,分別是自己的本機帳號 admin1(如:PC1要加入 PC1\admin1,PC2要加入 PC2\admin1,PC3要加入 PC3\admin1),
如果SQL Server 已經有加入自己的本機帳號 admin1,Step 3.就可以忽略不用重複做了,如下圖:
Step 4.
在 PC1 做鏡像設定動作,如下圖(step by step):
由於在 No Domain Name 環境下,所以下圖的服務帳戶無作用,因此皆留空白(在後面會透過手動方式對"端點"加入本機帳號 admin1連入的權限)
按下"完成"按鈕,即會跳到下圖,這時候按下"不要啟動鏡像"按鈕(因為後面步驟我們要手動對"端點"加入 本機帳號admin1 連入的權限,所以等加入帳號連入權限後再來操作此畫面)
按下"不要啟動鏡像"按鈕,即會跳到下圖,這時候先不要按下任何按鈕,先保留此畫面(後面Step 6 會用到)
Step 5.
我們要手動對 "Mirror"端點 加入 本機帳號admin1 可以連入的權限,
因此對 PC1 執行下面的 SQL指令
USE [master]
GRANT CONNECT ON ENDPOINT::[Mirror] TO [PC1\admin1]
對 PC2 執行下面的 SQL指令
USE [master]
GRANT CONNECT ON ENDPOINT::[Mirror] TO [PC2\admin1]
對 PC3 執行下面的 SQL指令
USE [master]
GRANT CONNECT ON ENDPOINT::[Mirror] TO [PC3\admin1]
如下圖:
Step 6.
就下來準備啟動鏡像,這時候我先回到 Step4 最後所停留的畫面,如下圖,按下 "啟動鏡像" 按鈕
如果出現提示 "缺少完整網域名稱(FQDN)" 時,請下按"是"按鈕
啟動成功後,PC1 的 TestDB 資料庫狀態為"主體,已同步處理",PC2 的 TestDB 資料庫狀態為"鏡像,已同步處理/正在還原...",如下圖
註:如果發生 1418 錯誤時,請重新檢查 Step1 或 Step5 有沒有遺漏做的動作,或是 Port 1433、5022 被防火牆擋住。
主要參考:
SQL Server - 如何建立 Database Mirroring
[Windows][SQL]架設 DB Mirroring 的環境在 Windows 2012 ( 1/2 )
[Windows][SQL]架設 DB Mirroring 的環境在 Windows 2012 ( 2/2 )
[SQL]在 Workgroup 環境下設定 SQL Server 資料庫鏡像 ( Database Mirroring )
SQL Server 2008R2 Mirroring with No Domain (SQL 鏡像)
mirror:error-1418
※在此感謝所有的幫助者,感謝~