




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、SQL Server 2005 鏡像配置指南1. 文檔目的本文檔將介紹SQL Server 2005 Mirror配置方法及注意事項。2. SQL Server 2005 鏡像技術2.1. 概述“數(shù)據(jù)庫鏡像”是用于提高數(shù)據(jù)庫可用性的主要軟件解決方案。 鏡像基于每個數(shù)據(jù)庫實現(xiàn),并且只適用于使用完整恢復模式的數(shù)據(jù)庫。 簡單恢復模式和大容量日志恢復模式不支持數(shù)據(jù)庫鏡像。 因此,所有大容量操作始終被完整地記入日志。 數(shù)據(jù)庫鏡像可使用任意支持的數(shù)據(jù)庫兼容級別。 數(shù)據(jù)庫鏡像維護一個數(shù)據(jù)庫的兩個副本,這兩個副本必須駐留在不同的 SQL Server 數(shù)據(jù)庫引擎服務器實例上。 通常,這些服務器實例駐留在不同位
2、置的計算機上。 其中一個服務器實例使數(shù)據(jù)庫服務于客戶端(“主體服務器”), 另一個服務器實例則根據(jù)鏡像會話的配置和狀態(tài),充當熱備用或溫備用服務器(“鏡像服務器”)。 同步數(shù)據(jù)庫鏡像會話時,數(shù)據(jù)庫鏡像提供熱備用服務器,可支持在已提交事務不丟失數(shù)據(jù)的情況下進行快速故障轉移。未同步會話時,鏡像服務器通常用作備用服務器(可能造成數(shù)據(jù)丟失)。 注意:不能鏡像 master、msdb、tempdb 或 model 數(shù)據(jù)庫。2.2. 優(yōu)點2.2.1. 增強數(shù)據(jù)保護功能數(shù)據(jù)庫鏡像提供完整或接近完整的數(shù)據(jù)冗余,具體取決于運行模式是高安全性還是高性能。在 SQL Server 2005 Enterprise Ed
3、ition 或更高版本上運行的數(shù)據(jù)庫鏡像伙伴會自動嘗試解決某些阻止讀取數(shù)據(jù)頁的錯誤。 無法讀取頁的伙伴會向其他伙伴請求新副本。 如果此請求成功,則將以新副本替換不可讀的頁,這通常會解決該錯誤。2.2.2. 提高數(shù)據(jù)庫的可用性發(fā)生災難時,在具有自動故障轉移功能的高安全性模式下,自動故障轉移可快速使數(shù)據(jù)庫的備用副本聯(lián)機(而不會丟失數(shù)據(jù))。在其他運行模式下,數(shù)據(jù)庫管理員可以選擇強制服務(可能丟失數(shù)據(jù)),以替代數(shù)據(jù)庫的備用副本。 2.2.3. 提高生產(chǎn)數(shù)據(jù)庫在升級期間的可用性若要盡量減少鏡像服務器的停機時間,您可以按順序升級參與數(shù)據(jù)庫鏡像會話的 SQL Server 實例。 這樣只會導致一個故障轉移的
4、停機時間。 這種形式的升級稱為“滾動升級”。2.3. 鏡像工作方式在“數(shù)據(jù)庫鏡像會話”中,主體服務器和鏡像服務器作為“伙伴”進行通信和協(xié)作。 兩個伙伴在會話中扮演互補的角色:“主體角色”和“鏡像角色”。在任何給定的時間,都是一個伙伴扮演主體角色,另一個伙伴扮演鏡像角色。 每個伙伴擁有其當前角色。 擁有主體角色的伙伴稱為“主體服務器”(Principal),其數(shù)據(jù)庫副本為當前的主體數(shù)據(jù)庫。 擁有鏡像角色的伙伴稱為“鏡像服務器”(Mirror),其數(shù)據(jù)庫副本為當前的鏡像數(shù)據(jù)庫。 如果數(shù)據(jù)庫鏡像部署在生產(chǎn)環(huán)境中,則主體數(shù)據(jù)庫即為“生產(chǎn)數(shù)據(jù)庫”。數(shù)據(jù)庫鏡像涉及盡快將對主體數(shù)據(jù)庫執(zhí)行的每項插入、更新和刪
5、除操作“重做”到鏡像數(shù)據(jù)庫中。重做通過將每個活動事務日志記錄發(fā)送到鏡像服務器來完成,這會盡快將日志記錄按順序應用到鏡像數(shù)據(jù)庫中。 與邏輯級別執(zhí)行的復制不同,數(shù)據(jù)庫鏡像在物理日志記錄級別執(zhí)行。2.3.1. 鏡像-無見證服務器(Witness)數(shù)據(jù)庫鏡像會話以同步操作或異步操作運行。 在異步操作下,事務不需要等待鏡像服務器將日志寫入磁盤便可提交,這樣可最大程度地提高性能。 在同步操作下,事務將在伙伴雙方處提交,但會延長事務滯后時間。有兩種鏡像運行模式。 一種是“高安全性模式”,它支持同步操作。 在高安全性模式下,當會話開始時,鏡像服務器將使鏡像數(shù)據(jù)庫盡快與主體數(shù)據(jù)庫同步。 一旦同步了數(shù)據(jù)庫,事務將
6、在伙伴雙方處提交,這會延長事務滯后時間。第二種運行模式,即“高性能模式”,異步運行。 鏡像服務器嘗試與主體服務器發(fā)送的日志記錄保持同步。 鏡像數(shù)據(jù)庫可能稍微滯后于主體數(shù)據(jù)庫。 但是,數(shù)據(jù)庫之間的時間間隔通常很小。 但是,如果主體服務器的工作負荷過高或鏡像服務器系統(tǒng)的負荷過高,則時間間隔會增大。在高性能模式中,主體服務器向鏡像服務器發(fā)送日志記錄之后,會立即再向客戶端發(fā)送一條確認消息。 它不會等待鏡像服務器的確認。這意味著事務不需要等待鏡像服務器將日志寫入磁盤便可提交。 此異步操作允許主體服務器在事務滯后時間最小的條件下運行,但可能會丟失某些數(shù)據(jù)。所有數(shù)據(jù)庫鏡像會話都只支持一臺主體服務器和一臺鏡像
7、服務器。 下圖顯示了該配置。2.3.2. 鏡像-有見證服務器(Witness)具有自動故障轉移功能的高安全性模式要求使用第三個服務器實例,稱為“見證服務器”。 與這兩個伙伴不同的是,見證服務器并不能用于數(shù)據(jù)庫。 見證服務器通過驗證主體服務器是否已啟用并運行來支持自動故障轉移。只有在鏡像服務器和見證服務器與主體服務器斷開連接之后而保持相互連接時,鏡像服務器才啟動自動故障轉移。 下圖顯示了包含見證服務器的配置。注意:1、使用見證服務器必須保證其和數(shù)據(jù)庫鏡像伙伴(主體服務器和鏡像服務器的)的網(wǎng)絡通訊暢通,否則見證服務器的故障會導致數(shù)據(jù)庫鏡像失敗。2、僅 SQL Server 2005 Standar
8、d Edition 及更高版本和 SQL Server 2005 Enterprise Edition 及更高版本支持數(shù)據(jù)庫鏡像伙伴。 SQL Server 2005 Workgroup Edition 及更高版本和 SQL Server 2005 Express Edition 及更高版本也支持見證服務器。 建立新的鏡像會話需要所有涉及的服務器實例運行同一版本的 SQL Server。2.3.3. 鏡像運行方式與數(shù)據(jù)安全運行方式見證服務器安全級別自動故障轉移故障轉移中數(shù)據(jù)丟失風險有見證服務器的同步YesFullYesNo沒有見證服務器的同步NoFullNoNo異步NoOffNoYes如果數(shù)據(jù)
9、要求不丟失,我們推薦“沒有見證服務器的同步”方式。如果可以容忍少量數(shù)據(jù)丟失,主服務器效率是關鍵。我們推薦“異步”方式。2.4. 鏡像環(huán)境中數(shù)據(jù)操作順序2.4.1. 無鏡像時2.4.2. 同步鏡像2.4.3. 異步鏡像3. 配置過程我們準備了兩個數(shù)據(jù)庫實例:Principal和Mirror。在這兩個實例上我們將演示如何通過SQL Server Management Studio配置Mirror。3.1. 準備工作分別在數(shù)據(jù)庫實例Principal和Mirror上創(chuàng)建數(shù)據(jù)庫MirrorDB。將備份文件分別拷貝到這兩臺機器上,還原數(shù)據(jù)庫。建議兩個數(shù)據(jù)庫的物理文件路徑相同。還原Principal上的數(shù)
10、據(jù)庫:還原mirror實例上的數(shù)據(jù)庫:注意:Mirror實例的數(shù)據(jù)庫要用Restore with NORecovery。兩個實例數(shù)據(jù)庫還原后的狀態(tài)如下:3.2. 配置Mirror單擊“配置安全性”彈出配置向導。下一步我們不使用見證服務器,下一步。下一步下一步點擊“連接”按鈕數(shù)據(jù)合法的身份校驗信息下一步Principal和Mirror沒有域環(huán)境,SQL Server服務都是使用的.administrator帳戶。如果有域環(huán)境,建議使用對兩臺機器都有administrator權限的域用戶。鏡像配置不成功的大部分原因是網(wǎng)絡和安全檢查無法通過。下一步點擊完成。關閉向導,返回主界面。如果單擊“開始鏡像”
11、按鈕,SQL Server將嘗試連接兩臺機器進行鏡像。但是我們通常選擇“不開始鏡像”,這樣我們可以選擇鏡像類型(同步或異步),或選擇IP地址方式設置鏡像。我們點擊“不開始鏡像”按鈕。我們選擇了高性能的異步模式,而且主體服務器和鏡像服務器是使用機器名還是IP地址都可以修改。一切設置完畢,點擊“開始鏡像”按鈕。試驗機沒有域環(huán)境,所以不用理會這個提示。直接點“是”。至此SQL Server 2005的鏡像已經(jīng)完全設置完畢了。單擊“確定”完成鏡像配置。我們看到鏡像已經(jīng)配置成功了。4. 監(jiān)控鏡像工作情況4.1. 性能計數(shù)器性能計數(shù)器對系統(tǒng)資源消耗最少,在負載較高的系統(tǒng)中建議使用性能計數(shù)器觀察鏡像性能。4
12、.2. 鏡像監(jiān)視器SQL Server提供鏡像監(jiān)視器,可以利用圖形工具觀察鏡像行為。4.3. 系統(tǒng)存儲過程和視圖4.3.1. 系統(tǒng)視圖sys.dm_db_mirroring_connections使用系統(tǒng)視圖sys.dm_db_mirroring_connections來觀察鏡像配置參數(shù)。針對為每個數(shù)據(jù)庫鏡像建立的連接返回一行。 列名 數(shù)據(jù)類型 說明 connection_id uniqueidentifier 連接的標識符。 transport_stream_id uniqueidentifier 此連接用于 TCP/IP 通信的 SQL Server 網(wǎng)絡接口 (SNI) 連接的標識符。s
13、tate smallint 連接的當前狀態(tài)??赡艿闹担? = NEW2 = CONNECTING3 = CONNECTED4 = LOGGED_IN5 = CLOSED state_desc nvarchar(60) 連接的當前狀態(tài)??赡艿闹担篘EWCONNECTINGCONNECTEDLOGGED_INCLOSED connect_time datetime 打開連接的日期和時間。login_time datetime 連接登錄成功的日期和時間。authentication_method nvarchar(128) Windows 身份驗證方法的名稱,如 NTLM 或 KERBEROS。該值
14、由 Windows 提供。 principal_name nvarchar(128) 驗證其連接權限的登錄的名稱。對于 Windows 身份驗證,此值為遠程用戶名。對于證書身份驗證,該值為證書所有者。remote_user_name nvarchar(128) Windows 身份驗證所使用的來自其他數(shù)據(jù)庫的對等方用戶名。last_activity_time datetime 上次使用連接發(fā)送或接收信息的日期和時間。is_accept bit 指示連接是否源自遠程端。 1 = 連接是從遠程實例接受的請求。 0 = 連接由本地實例啟動。login_state smallint 此連接的登錄進程狀
15、態(tài)??赡艿闹担?0 = 初始1 = 協(xié)商2 = SSPI3 = PublicKeyLogin4 = PublicKeyTentative5 = LoggedIn6 = 仲裁 login_state_desc nvarchar(60) 遠程計算機的當前登錄狀態(tài)??赡艿闹担撼跏紖f(xié)商SSPIPublicKeyLoginPublicKeyTentative仲裁LoggedIn peer_certificate_id int 身份驗證遠程實例所用證書的本地對象 ID。該證書的所有者必須對數(shù)據(jù)庫鏡像端點具有 CONNECT 權限。receives_posted smallint 尚未針對此連接完成的異步網(wǎng)
16、絡接收數(shù)。is_receive_flow_controlled bit 網(wǎng)絡接收是否由于流控制(因為網(wǎng)絡忙)而推遲。 1 = Truesends_posted smallint 尚未針對此連接完成的異步網(wǎng)絡發(fā)送數(shù)。is_send_flow_controlled bit 網(wǎng)絡發(fā)送是否由于網(wǎng)絡流控制(因為網(wǎng)絡忙)而推遲。 1 = Truetotal_bytes_sent bigint 此連接發(fā)送的字節(jié)總數(shù)。total_bytes_received bigint 此連接接收的字節(jié)總數(shù)。total_fragments_sent bigint 此連接發(fā)送的數(shù)據(jù)庫鏡像消息片段總數(shù)。total_fragme
17、nts_received bigint 此連接接收的數(shù)據(jù)庫鏡像消息片段總數(shù)。total_sends bigint 此連接發(fā)出的網(wǎng)絡發(fā)送請求總數(shù)。total_receives bigint 此連接發(fā)出的網(wǎng)絡接收請求總數(shù)。encalg smallint 用于此連接的加密算法??赡艿闹担?1 = 無加密2 = RC43 = AES4.3.2. sp_dbmmonitor系列存儲過程使用sp_dbmmonitor系列存儲過程觀察鏡像運行期行為。注意:sp_dbmmonitor是一系列系統(tǒng)存儲過程的統(tǒng)稱,并不存在sp_dbmmonitor存儲過程。5. 故障切換我們不建議使用自動故障切換鏡像。自動切換需
18、要見證服務器,見證服務器與主服務器的網(wǎng)絡連接容易出現(xiàn)單一故障點。當主服務器非常繁忙時,與見證服務器的聯(lián)系延遲也容易造成見證服務器認為主服務器已經(jīng)shutdown,而錯誤的進行鏡像切換。5.1. 同步切換鏡像如果是同步模式,當主服務器(Principal)shutdown,我們在鏡像服務器(Mirror)上執(zhí)行下列命令:-取消鏡像關系ALTER DATABASE MirrorDB SET PARTNER OFF-恢復數(shù)據(jù)庫RESTORE DATABASE MirrorDB WITH RECOVERY5.2. 異步切換鏡像如果是異步模式,當主服務器(Principal)shutdown,我們在鏡像
19、服務器(Mirror)上執(zhí)行下列命令:-強制恢復數(shù)據(jù)庫ALTER DATABASE dbname SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS請注意,這種切換方式可能會造成數(shù)據(jù)丟失。6. 連接客戶端與鏡像數(shù)據(jù)庫6.1. 連接機制對于到鏡像數(shù)據(jù)庫的初始連接,客戶端必須提供一個至少提供服務器實例名稱的連接字符串。這個必需的服務器名稱應標識當前主體服務器實例,并稱為“初始伙伴名稱”。 另外,連接字符串還可以提供另一個服務器實例的名稱,此名稱應標識當前鏡像服務器實例,以便在首次連接嘗試期間初始伙伴不可用的情況下使用。第二個名稱稱為“故障轉移伙伴名稱”。連接字符串還
20、必須提供數(shù)據(jù)庫名稱。這是數(shù)據(jù)訪問接口啟用故障轉移嘗試所必需的。接收連接字符串后,數(shù)據(jù)訪問接口將初始伙伴名稱和故障轉移伙伴名稱(如果提供)存儲在客戶端易失內(nèi)存的緩存中(對于托管代碼,緩存的作用域限定為應用程序域)。緩存后,數(shù)據(jù)訪問接口將從不對初始伙伴名稱進行更新??蛻舳颂峁┕收限D移伙伴名稱時,數(shù)據(jù)訪問接口還暫時存儲此故障轉移伙伴名稱,以防出現(xiàn)訪問接口無法使用初始伙伴名稱進行連接的情況。 數(shù)據(jù)庫鏡像會話無法避免與客戶端相關的服務器訪問問題,例如,客戶端計算機出現(xiàn)網(wǎng)絡通信問題時。到鏡像數(shù)據(jù)庫的連接嘗試也可能會因為各種與數(shù)據(jù)訪問接口無關的原因而失敗;例如,連接嘗試可能會因為下列情況而失敗:主體服務器實
21、例處于不活動狀態(tài)(如同數(shù)據(jù)庫進行故障轉移時發(fā)生的情況)或者網(wǎng)絡錯誤。 嘗試連接時,數(shù)據(jù)訪問接口首先使用初始伙伴名稱。如果指定的服務器實例可用并且為當前主體服務器實例,則連接嘗試通常都會成功。 注意:如果鏡像會話暫停,則客戶端通常連接到主體服務器并下載伙伴名稱。但是,在恢復鏡像之前,數(shù)據(jù)庫不可用于客戶端。如果此嘗試失敗,則數(shù)據(jù)訪問接口將嘗試使用故障轉移伙伴名稱(如果可用)。如果任一伙伴名稱都正確標識了當前主體服務器,則數(shù)據(jù)訪問接口通常都會成功打開初始連接。完成此連接后,數(shù)據(jù)訪問接口將下載當前鏡像服務器的服務器實例名稱。此名稱作為故障轉移伙伴名稱存儲在緩存中,從而覆蓋客戶端提供的故障轉移伙伴名稱(
22、如果有)。此后,SQL Server 的 .NET Framework 數(shù)據(jù)訪問接口不會更新故障轉移伙伴名稱。相反,每當后續(xù)連接或連接重置返回不同的伙伴名稱時,SQL Server Native Client 便會更新高速緩存。下圖針對名為 Db_1 的鏡像數(shù)據(jù)庫說明了到初始伙伴 Partner_A 的客戶端連接。此圖顯示的情況是:客戶端提供的初始伙伴名稱正確標識了當前主體服務器 Partner_A。初始連接嘗試成功,數(shù)據(jù)訪問接口在其本地緩存中將鏡像服務器(當前為 Partner_B)的名稱存儲為故障轉移伙伴名稱。最后,客戶端連接到 Db_1 數(shù)據(jù)庫的主體副本。初始連接嘗試可能會失敗,例如,因
23、為網(wǎng)絡錯誤或不活動的服務器實例。由于初始伙伴不可用,因此要讓數(shù)據(jù)訪問接口嘗試連接到故障轉移伙伴,客戶端必須在連接字符串中提供故障轉移伙伴的名稱。 在這種情況下,如果故障轉移伙伴名稱不可用,則原始連接嘗試將繼續(xù),直到網(wǎng)絡連接超時或返回錯誤(與非鏡像數(shù)據(jù)庫的情況相同)。 連接字符串中提供故障轉移伙伴名稱時,數(shù)據(jù)訪問接口的行為取決于網(wǎng)絡協(xié)議和客戶端的操作系統(tǒng),如下所示: l 對于 TCP/IP,如果客戶端運行的是 Microsoft Windows XP 或更高版本,則使用與數(shù)據(jù)庫鏡像相關的連接重試算法調整連接嘗試?!斑B接重試算法”確定在給定連接嘗試中為打開連接所分配的最長時間(“重試時間”)。l
24、對于其他網(wǎng)絡協(xié)議以及未運行 Microsoft Windows XP 或更高版本的客戶端如果發(fā)生錯誤或者初始伙伴不可用,則初始連接嘗試將處于等待狀態(tài),直到數(shù)據(jù)訪問接口上的網(wǎng)絡連接超時期限過期或登錄超時期限過期。通常,此等待時間大約為 20 至 30 秒。此后,如果數(shù)據(jù)訪問接口尚未超時,則它會嘗試連接到故障轉移伙伴。如果連接超時期限過期而未成功連接或者故障轉移伙伴不可用,則連接嘗試會失敗。如果故障轉移伙伴在登錄超時期限內(nèi)可用并且現(xiàn)在為主體服務器,則連接嘗試通常都會成功。6.2. 鏡像數(shù)據(jù)庫的連接字符串例如,為了使用 TCP/IP 顯式連接到 Partner_A 或 Partner_B 中的 AdventureWorks 數(shù)據(jù)庫,客戶端應用程序將提供以下連接字符串:"Server=Partner_A; Failover Partner=Partner_B; Database=Adventu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 聚氨酯三維震振雙控支座力學性能試驗與隔震效果研究
- 2024年度河北省護師類之外科護理主管護師考前沖刺試卷A卷含答案
- 旅游景區(qū)場地租賃委托及旅游資源開發(fā)合同
- 城市房屋拆遷居間合同模板
- 特色農(nóng)家樂股份合作經(jīng)營協(xié)議
- 特色草場旅游項目租賃經(jīng)營合同
- 餐飲連鎖品牌直營店加盟合作協(xié)議
- 新能源企業(yè)廠房股權轉讓綠色合同
- 地質災害隱患排查測量合同范本
- 餐飲品牌租賃合作協(xié)議書
- 2024年中國南水北調集團水網(wǎng)智慧科技限公司秋季公開招聘高頻難、易錯點500題模擬試題附帶答案詳解
- 四川省成都市2024年小升初英語試卷(含答案)
- DB4403-T137-2021用戶智能配電站系統(tǒng)建設規(guī)范
- 《泊秦淮》《賈生》教學課件 統(tǒng)編版語文七年級下冊
- DL∕T 2528-2022 電力儲能基本術語
- 畜牧機械牧場養(yǎng)殖場智能化建設考核試卷
- 2024年安徽高考化學真題試卷(原卷版+含解析)
- 2024年遼寧省中考語文試卷(含答案解析)
- 江西省2024年中考數(shù)學試卷【附真題答案】
- 《中醫(yī)適宜技術》期末考試復習題庫(含答案)
- 車位包銷合同
評論
0/150
提交評論