中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Windows故障轉移群集和SQLServer?AlwaysOn配置的方法是什么

發布時間:2023-03-08 10:57:06 來源:億速云 閱讀:180 作者:iii 欄目:開發技術

這篇文章主要介紹了Windows故障轉移群集和SQLServer AlwaysOn配置的方法是什么的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Windows故障轉移群集和SQLServer AlwaysOn配置的方法是什么文章都會有所收獲,下面我們一起來看看吧。

最詳細的 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、選擇節點服務器

Windows故障轉移群集和SQLServer?AlwaysOn配置的方法是什么

2、下一步驗證配置,選“否”。

3、定義群集名稱和虛擬地址。

Windows故障轉移群集和SQLServer?AlwaysOn配置的方法是什么

4、下面就是按你的設置進入自動配置,配置完成如圖。同時域控中會自動生成一條以群集名稱和IP的主機(A)記錄,和計算機。

Windows故障轉移群集和SQLServer?AlwaysOn配置的方法是什么

Windows故障轉移群集和SQLServer?AlwaysOn配置的方法是什么

Windows故障轉移群集和SQLServer?AlwaysOn配置的方法是什么

5、群集創建完成后,本機會自動生成一個用戶CLIUSR,此用戶是用來啟動和運行群集服務的,千萬不要動它,否則會導致群集服務中斷。

Windows故障轉移群集和SQLServer?AlwaysOn配置的方法是什么

6、配置群集仲裁(右鍵創建好的群集 >> 更多操作 >> 配置群集仲裁設置)

Windows故障轉移群集和SQLServer?AlwaysOn配置的方法是什么

Windows故障轉移群集和SQLServer?AlwaysOn配置的方法是什么

Windows故障轉移群集和SQLServer?AlwaysOn配置的方法是什么

三、搭建數據庫AlwaysOn

1、做好第一節第6點的相關準備(6、數據庫相關)

2、建立SQL別名(32位):在每臺節點服務器都加上所有節點數據庫別名(實例名稱+IP+端口 ),確保可以通過別名訪問對應數據庫。

Windows故障轉移群集和SQLServer?AlwaysOn配置的方法是什么

3、啟用 AlwaysOn(SQLSERVER配置管理器)

Windows故障轉移群集和SQLServer?AlwaysOn配置的方法是什么

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、指定主副本&輔助副本

Windows故障轉移群集和SQLServer?AlwaysOn配置的方法是什么

5.2、端點(不用配置,默認即可)

Windows故障轉移群集和SQLServer?AlwaysOn配置的方法是什么

5.3、偵聽器

Windows故障轉移群集和SQLServer?AlwaysOn配置的方法是什么

5.4、只讀路由

Windows故障轉移群集和SQLServer?AlwaysOn配置的方法是什么

只讀路由的使用:

同一個域AAA:可以使用AG23013,8887 或 AG23013.AAA.COM,8887 進行訪問。

不同域BBB:可以在BBB域建立一條記錄指向偵聽器的IP進行訪問。

連接字符串默認訪問主副本,可讀寫。如果要只讀,就在連接字符串中添加 ApplicationIntent=ReadOnly;MultiSubnetFailover=true,指定訪問只讀副本實現讀寫分離。

5.5、設置數據同步方式

Windows故障轉移群集和SQLServer?AlwaysOn配置的方法是什么

5.6、再下一步下一步直到完成就行了,就可以在主副本所在數據庫和輔助副本所在數據庫分別看到下圖:

Windows故障轉移群集和SQLServer?AlwaysOn配置的方法是什么

5.7、數據庫里面的“AlwaysOn高可用組”創建成功后會有如下變化:

5.7.1、在故障轉移群集內會自動產生一個以“可用性組名”命名的角色,角色內已包含偵聽器,如下圖:

Windows故障轉移群集和SQLServer?AlwaysOn配置的方法是什么

5.7.2、域控會根據“偵聽器名稱”自動產生一條計算機記錄 和一條主機(A)記錄:

Windows故障轉移群集和SQLServer?AlwaysOn配置的方法是什么

Windows故障轉移群集和SQLServer?AlwaysOn配置的方法是什么

四、過程中可能遇到的問題

1、如果要分離數據庫,出現錯誤“無法對數據庫‘XXX‘執行刪除,因為它正用于復制”

解決:先 sp_removedbreplication'DBNAME';然后再分離。

2、數據庫“正在還原”

解決:如果后續還要將此數據庫加入到可用性組,就使用:RESTOREDATABASEDBNAMEWITHNORECOVERY; 反之使用 WITH RECOVERY。

PS:使用WITH RECOVERY后,還要從新添加到可用性組時可能會出現如下錯誤:

Windows故障轉移群集和SQLServer?AlwaysOn配置的方法是什么

解決辦法(右鍵數據庫>>所有任務>>還原>>數據庫>>選項菜單>>恢復狀態>>選擇”RESTORE WITH NORECOVERY”),操作完成后,再去可用性組里邊的可用性數據庫,右鍵>>聯機:

Windows故障轉移群集和SQLServer?AlwaysOn配置的方法是什么

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配置的方法是什么”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临潭县| 商丘市| 班戈县| 龙门县| 茌平县| 永春县| 成安县| 德钦县| 楚雄市| 舟山市| 彰化市| 云阳县| 原平市| 临夏市| 塘沽区| 通许县| 玛沁县| 乌拉特中旗| 鄯善县| 大埔区| 行唐县| 泊头市| 东城区| 江山市| 新干县| 五大连池市| 永兴县| 南汇区| 离岛区| 苍梧县| 邹城市| 古浪县| 成武县| 临夏县| 中山市| 锦州市| 景洪市| 阜南县| 清涧县| 延津县| 边坝县|