首頁 資料庫 mysql教程 SQLServer 数据库镜像+复制切换方案

SQLServer 数据库镜像+复制切换方案

Jun 07, 2016 pm 03:51 PM
sqlserver 資料庫

目标: 主机做了 Mirror 和 Replication ,当主机出现问题时, Replication 和 Mirror 实现自动的故障转移( Mirror 和 Replication 都切换到备机,而当主机 重新启动后,自动充当备机的角色)。 环境: 五台虚拟机,配置均为 Windows2008 Enterprise SQLSer

目标:

主机做了Mirror和Replication,当主机出现问题时,Replication和Mirror实现自动的故障转移(Mirror 和Replication都切换到备机,而当主机

重新启动后,自动充当备机的角色)。

环境:

五台虚拟机,配置均为Windows2008 Enterprise + SQLServer2008R2 Enterprise

08R201:Mirror见证机(WITNESS)           IP:192.168.56.101

08R202:主机(Rep+Mirror)                  IP:192.168.56.102

08R203:Rep分发机                               IP:192.168.56.103

08R204:Rep订阅机                               IP:192.168.56.104

08R205:镜像机(Mirror)                       IP:192.168.56.105

步骤:

配置有见证服务器的镜像

1、创建证书和Endpoint

08R202(Master) 上运行下面的脚本:

主机执行:USE master; CREATE MASTER KEY ENCRYPTION BY PASSWORD = '123456abc'; CREATE CERTIFICATE HOST_A_cert WITH SUBJECT = 'HOST_A certificate' , START_DATE = '11/08/2010',EXPIRY_DATE = '10/31/2099'; --主机执行:CREATE ENDPOINT Endpoint_Mirroring STATE = STARTED AS TCP ( LISTENER_PORT=5022 , LISTENER_IP = ALL ) FOR DATABASE_MIRRORING ( AUTHENTICATION = CERTIFICATE HOST_A_cert , ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = ALL ); --主机执行:    BACKUP CERTIFICATE HOST_A_cert TO FILE = 'D:HOST_A_cert.cer';
登入後複製

08R205(Mirror) 上运行下面的脚本:

备机执行:USE master; CREATE MASTER KEY ENCRYPTION BY PASSWORD = '123456abc'; CREATE CERTIFICATE HOST_B_cert WITH SUBJECT = 'HOST_B certificate', START_DATE = '11/08/2010',EXPIRY_DATE = '10/31/2099'; --备机执行:CREATE ENDPOINT Endpoint_Mirroring STATE = STARTED AS TCP ( LISTENER_PORT=5022 , LISTENER_IP = ALL ) FOR DATABASE_MIRRORING ( AUTHENTICATION = CERTIFICATE HOST_B_cert , ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = ALL ); --备机执行:BACKUP CERTIFICATE HOST_B_cert TO FILE = 'D:HOST_B_cert.cer';
登入後複製

08R201(WITNESS)上运行下面的脚本:

 Replicaiton不做具体的搭建过程,只做几点说明:

1.  08R202和08R205都需要搭建到08R203的Distribution;

2.  08R202和08R205上的发布库的所有者必须为“SA”,否则切换会出现如下错误:The process could not execute‘sp_replcmds’ on ‘WIN-08R205′.

3.  08R203分发机上配置文件需要做如下修改(配置故障转移Partner):

配置复制故障转移参数--查看代理配置,在分发服务器运行exec sp_help_agent_profile --Agent_Type含义--1 = Snapshot Agent; 2 = Log Reader Agent; 3 = Distribution Agent; --4 = Merge Agent; 9 = Queue Reader Agent.--对于事务复制,需查看Agent_Type=1,2的Profile_id--对于事务复制,需要配置快照代理(Snapshot Agent)和日志读取代理(Log Reader Agent)exec sp_add_agent_parameter @profile_id = 1, @parameter_name = N'-PublisherFailoverPartner', @parameter_value = N'WIN-08R205'--镜像服务器名称exec sp_add_agent_parameter @profile_id = 2, @parameter_name = N'-PublisherFailoverPartner', @parameter_value = N'WIN-08R205'--镜像服务器名称
登入後複製

修改完成后,记得重启Agent服务,使之生效。

4.  从08R202创建到08R204的同步链。

模拟故障转移并观察结果

1.  暂停08R202的SQLServer服务;

2.  到08R205上观察镜像和同步链是否转移过去了;

3.  如果同步链正常,修改某个表中的数据,看是否能同步到08R204上;

4.  重新启动08R202的SQLServer服务,看其是否成为了镜像机;

5.  如果一起都正常,那恭喜啦,我们的测试成功。

更多相关教程请访问 MySQL视频教程

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

mysql和sqlserver語法有什麼差別 mysql和sqlserver語法有什麼差別 Apr 22, 2024 pm 06:33 PM

MySQL 和 SQL Server 的語法差異主要體現在資料庫物件、資料類型、SQL 語句和其他方面。資料庫物件差異包括儲存引擎和檔案群組的指定方式、索引和約束的建立。資料類型差異涉及數值類型、字元類型和日期時間類型的差異。 SQL 語句差異體現在結果集限制、資料插入、更新和刪除操作等方面。其他差異還包括識別列、視圖和預存程序的建立方式。了解這些差異對於使用不同的資料庫系統時避免錯誤非常重要。

iOS 18 新增「已復原」相簿功能 可找回遺失或損壞的照片 iOS 18 新增「已復原」相簿功能 可找回遺失或損壞的照片 Jul 18, 2024 am 05:48 AM

蘋果公司最新發布的iOS18、iPadOS18以及macOSSequoia系統為Photos應用程式增添了一項重要功能,旨在幫助用戶輕鬆恢復因各種原因遺失或損壞的照片和影片。這項新功能在Photos應用的"工具"部分引入了一個名為"已恢復"的相冊,當用戶設備中存在未納入其照片庫的圖片或影片時,該相冊將自動顯示。 "已恢復"相簿的出現為因資料庫損壞、相機應用未正確保存至照片庫或第三方應用管理照片庫時照片和視頻丟失提供了解決方案。使用者只需簡單幾步

Hibernate 如何實作多型映射? Hibernate 如何實作多型映射? Apr 17, 2024 pm 12:09 PM

Hibernate多態映射可映射繼承類別到資料庫,提供以下映射類型:joined-subclass:為子類別建立單獨表,包含父類別所有欄位。 table-per-class:為子類別建立單獨資料表,僅包含子類別特有列。 union-subclass:類似joined-subclass,但父類別表聯合所有子類別列。

在PHP中使用MySQLi建立資料庫連線的詳盡教學 在PHP中使用MySQLi建立資料庫連線的詳盡教學 Jun 04, 2024 pm 01:42 PM

如何在PHP中使用MySQLi建立資料庫連線:包含MySQLi擴充(require_once)建立連線函數(functionconnect_to_db)呼叫連線函數($conn=connect_to_db())執行查詢($result=$conn->query())關閉連線( $conn->close())

navicat資料庫檔案在哪 navicat資料庫檔案在哪 Apr 23, 2024 am 10:57 AM

Navicat 資料庫設定檔的儲存位置因作業系統而異:Windows:使用者特定路徑為%APPDATA%\PremiumSoft\Navicat\macOS:使用者特定路徑為~/Library/Application Support/Navicat\Linux:使用者特定路徑為~/ .config/navicat\設定檔名稱包含連線類型,如navicat_mysql.ini。這些設定檔儲存資料庫連線資訊、查詢歷史記錄和 SSH 設定。

如何在PHP中處理資料庫連線錯誤 如何在PHP中處理資料庫連線錯誤 Jun 05, 2024 pm 02:16 PM

PHP處理資料庫連線報錯,可以使用下列步驟:使用mysqli_connect_errno()取得錯誤代碼。使用mysqli_connect_error()取得錯誤訊息。透過擷取並記錄這些錯誤訊息,可以輕鬆識別並解決資料庫連接問題,確保應用程式的順暢運作。

navicat資料庫連接url怎麼寫 navicat資料庫連接url怎麼寫 Apr 24, 2024 am 02:33 AM

Navicat連線URL格式為:協定://使用者名稱:密碼@主機:連接埠/資料庫名稱?參數,包含了連線所需的信息,包括協定、使用者名稱、密碼、主機名稱、連接埠、資料庫名稱和可選參數。

如何用 Golang 連接遠端資料庫? 如何用 Golang 連接遠端資料庫? Jun 01, 2024 pm 08:31 PM

透過Go標準庫database/sql包,可以連接到MySQL、PostgreSQL或SQLite等遠端資料庫:建立包含資料庫連接資訊的連接字串。使用sql.Open()函數開啟資料庫連線。執行SQL查詢和插入操作等資料庫操作。使用defer關閉資料庫連線以釋放資源。

See all articles