您好,登錄后才能下訂單哦!
這篇文章主要介紹了Windows故障轉移群集和SQLServer AlwaysOn配置的方法是什么的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Windows故障轉移群集和SQLServer AlwaysOn配置的方法是什么文章都會有所收獲,下面我們一起來看看吧。
1、準備域控:服務器都在同一個域控(以下假設所在域控為 AAA.COM)。
2、開啟服務:域控要開啟Remote Procedure Call (RPC)服務。
3、安裝角色和服務:納入群集節點的服務器必須先添加角色和功能 .NET3.5 和 故障轉移群集,防火墻開啟兩個共享端口135、445,和端點端口5022,要開啟Remote Registry服務。
4、建專用域賬號:在域控新建數據庫服務專用賬號 wsfc_sqlserver@AAA.com,密碼:********。
5、配置仲裁共享文件夾:去域控下非數據庫節點服務器上建立一個共享文件夾(如:\\10.0.XXX.XXX\WIN故障轉移群集\共享仲裁盤專用),專門用于仲裁共享文件,授予wsfc_sqlserver@AAA.com所有共享權限。
6、數據庫相關:
6.1、為新建域賬號授權:在各節點服務器將此wsfc_sqlserver@AAA.com加入管理員組,并在服務中將其設置為 SQLSERVER服務的登錄身份,并賦予SQLSERVER的sysadmin角色(后邊就用這個賬號登錄SQLSERVER配置AlwaysOn)。
USE master CREATE LOGIN [AAA\wsfc_sqlserver] FROM WINDOWS WITH DEFAULT_DATABASE=[master] ALTER SERVER ROLE [sysadmin] ADD MEMBER [AAA\wsfc_sqlserver] go
6.2、整理節點服務器數據文件夾:每臺節點服務器的數據庫都要放到相同的位置,文件夾路徑要全部相同,副本服務器上要先按照主服務器建好文件夾。
6.3、設置節點服務器數據備份共享文件夾:每臺節點服務器建一個專門用于存放數據庫備份及同步文件的文件夾,設置共享,并加上管理員組 的所有共享權限(在之前wsfc_sqserever@AAA.com已加入管理員組)(注意干掉默認的EveryOne權限)。
6.4、同步數據庫賬號:在同步之前,在輔助副本服務器數據庫上先建立好與主副本數據庫一樣的數據庫賬號(用EXEC sp_help_revlogin;進行導出導入,確保所有副本上的賬號完全一致(包括SID要一致))。
1、選擇節點服務器
2、下一步驗證配置,選“否”。
3、定義群集名稱和虛擬地址。
4、下面就是按你的設置進入自動配置,配置完成如圖。同時域控中會自動生成一條以群集名稱和IP的主機(A)記錄,和計算機。
5、群集創建完成后,本機會自動生成一個用戶CLIUSR,此用戶是用來啟動和運行群集服務的,千萬不要動它,否則會導致群集服務中斷。
6、配置群集仲裁(右鍵創建好的群集 >> 更多操作 >> 配置群集仲裁設置)
1、做好第一節第6點的相關準備(6、數據庫相關)
2、建立SQL別名(32位):在每臺節點服務器都加上所有節點數據庫別名(實例名稱+IP+端口 ),確保可以通過別名訪問對應數據庫。
3、啟用 AlwaysOn(SQLSERVER配置管理器)
4、創建數據庫證書(一定要配,否則 AlwaysOn可用性組建好了,但是副本會連接不上(顯示一把紅色的×),)
4.1、在每臺節點數據庫,創建并安裝證書:
USE master; GO --創建主密鑰。 CREATE MASTER KEY ENCRYPTION BY PASSWORD = '******************'; --創建證書。 把CERT_xxx_x1換成自己要的名字。 CREATE CERTIFICATE CERT_xxx_x1 WITH SUBJECT = 'CERT_xxx_x1', START_DATE = '2022-01-01',EXPIRY_DATE = '2099-12-30'; --把剛才創建的證書備份到文件。 把CERT_xxx_x1換成自己要的名字。 BACKUP CERTIFICATE CERT_xxx_x1 TO FILE = 'D:\DataBase\cert\CERT_xxx_x1.cer'; --創建終結點,設為證書驗證。 把CERT_xxx_x1換成自己要的名字。 CREATE ENDPOINT [Hadr_endpoint] AUTHORIZATION [sa] STATE=STARTED AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL) FOR DATA_MIRRORING (ROLE = ALL,AUTHENTICATION = CERTIFICATE CERT_xxx_x1, ENCRYPTION = REQUIRED ALGORITHM AES) GO
4.2、在每臺節點數據庫,載入群集內其他節點數據庫的證書:
USE master; CREATE CERTIFICATE CERT_xxx_x1 FROM FILE = 'd:\DataBase\cert\CERT_xxx_x1.cer'; CREATE CERTIFICATE CERT_xxx_x2 FROM FILE = 'd:\DataBase\cert\CERT_xxx_x2.cer'; CREATE CERTIFICATE CERT_xxx_x3 FROM FILE = 'd:\DataBase\cert\CERT_xxx_x3.cer';
5、創建AlwaysOn高可用組(數據庫 >> Always On高可用性 >> 可用性組 >> 右鍵新建)
5.1、指定主副本&輔助副本
5.2、端點(不用配置,默認即可)
5.3、偵聽器
5.4、只讀路由
只讀路由的使用:
同一個域AAA:可以使用AG23013,8887 或 AG23013.AAA.COM,8887 進行訪問。
不同域BBB:可以在BBB域建立一條記錄指向偵聽器的IP進行訪問。
連接字符串默認訪問主副本,可讀寫。如果要只讀,就在連接字符串中添加 ApplicationIntent=ReadOnly;MultiSubnetFailover=true,指定訪問只讀副本實現讀寫分離。
5.5、設置數據同步方式
5.6、再下一步下一步直到完成就行了,就可以在主副本所在數據庫和輔助副本所在數據庫分別看到下圖:
5.7、數據庫里面的“AlwaysOn高可用組”創建成功后會有如下變化:
5.7.1、在故障轉移群集內會自動產生一個以“可用性組名”命名的角色,角色內已包含偵聽器,如下圖:
5.7.2、域控會根據“偵聽器名稱”自動產生一條計算機記錄 和一條主機(A)記錄:
1、如果要分離數據庫,出現錯誤“無法對數據庫‘XXX‘執行刪除,因為它正用于復制”
解決:先 sp_removedbreplication'DBNAME';然后再分離。
2、數據庫“正在還原”
解決:如果后續還要將此數據庫加入到可用性組,就使用:RESTOREDATABASEDBNAMEWITHNORECOVERY; 反之使用 WITH RECOVERY。
PS:使用WITH RECOVERY后,還要從新添加到可用性組時可能會出現如下錯誤:
解決辦法(右鍵數據庫>>所有任務>>還原>>數據庫>>選項菜單>>恢復狀態>>選擇”RESTORE WITH NORECOVERY”),操作完成后,再去可用性組里邊的可用性數據庫,右鍵>>聯機:
3、執行手動故障轉移后,副本數據庫可能狀態為“未同步”,且無法連接。
解決:在“未同步”的數據庫執行:ALTERDATABASEDBNAMESETHADR RESUME;
4、銷毀群集時,沒有先逐出節點,直接刪群集,導致這個節點加入新的群集時失敗“計算機已加入群集”。
解決:進入注冊表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ClusSvc,Start項的值應該是2,改為4。
5、在數據庫創建可用性組時,缺少選項“Windows Server 故障轉移群集”,只有兩個選項(EXTERNAL 和 NONE)。
解決:重啟SQLSERVER服務。
6、更改數據的所有者。
解決:ALTERAUTHORIZATIONONDATABASE::DBNAMETO[賬戶]
關于“Windows故障轉移群集和SQLServer AlwaysOn配置的方法是什么”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“Windows故障轉移群集和SQLServer AlwaysOn配置的方法是什么”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。