| 導購 | 订阅 | 在线投稿
分享
 
 
當前位置: 王朝網路 >> mssql >> SQL Server 2008實現高可用性
 

SQL Server 2008實現高可用性

2008-09-23 07:48:04  編輯來源:互聯網  简体版  手機版  評論  字體: ||
 
 
  高可用性—Always On 技術

  SQL Server 技術文章

  作者: Geoff Allix (內容主管)

  技術審查: Michael Raheem

  項目編輯:Joanne Hodgins

  發布日期:2007年11月

  適用産品:SQL Server 2008

  摘要:Microsoft® SQL Server® 2008 通過提供各種高可用性解決方案,縮短了業務關鍵型數據庫的停機時間。這些解決方案使用戶和企業職員每天24小時、每周7天都可以訪問數據,且仍能提供經濟有效的高性能。SQL Server 2008 中的 Always On 功能增強了對系統和硬件的保護,減少了計劃中或計劃外停機的次數和恢複時間,並減少了由于大量用戶同時訪問同一數據庫而導致的沖突。

  版權

  這是一份預備文檔,在本文檔中所述軟件的最終商業版本發布之前,該文檔的內容可能會發生重大變化。

  本文檔中提供的信息代表了 Microsoft Corporation 當前(軟件發布之前)對所討論問題持有的觀點。因爲 Microsoft 必須響應不斷變化的市場條件,所以其當前的觀點不應被解釋爲是一種承諾,軟件發布之後,Microsoft 不能保證現在所提供的所有信息准確無誤。

  這份白皮書僅供參考。 Microsoft 對本文檔中提供的信息不做任何擔保、明示、暗示或法律方面的承諾。

  用戶有責任遵守所有適用的版權法。在版權權利限制下,未經 Microsoft 公司明確的書面許可,本文檔的任何內容不能被複制、存儲或放進檢索系統,或者以任何形式或任何手段(電子、機械、複印、錄制或其他)或爲達到任何目的進行轉換。

  Microsoft 對本文涵蓋的主題內容可能擁有專利、專利申請、商標、版權或其他知識産權。沒有來自 Microsoft 的任何書面許可協議的明確表示,本文不賦予您對這些專利、商標、版權或其他知識産權的任何許可。

  除非另有說明,否則本文提及的示例公司、組織、産品、域名、電子郵件地址、徽標、人物、地點和事件皆屬虛構,與任何真實的公司、組織、産品、域名、電子郵件地址、徽標、個人、地點或事件無關。

  Ó 2007 Microsoft Corporation。保留所有權利。

  Microsoft、Windows、Office 和 SQL Server 是 Microsoft Corporation 在美國和/或其他國家/地區的商標或注冊商標。

  本文中提及的真實的公司名稱和産品名稱可能是其各自所有者的商標。

  目錄

  簡介 1

  可用性應用場景 1

  提高可用性 2

  數據庫鏡像 2

  日志傳送 2

  故障轉移群集 3

  地理分散故障轉移群集 3

  對等複制 3

  縮短停機時間 4

  快速數據庫恢複 4

  備份和還原 4

  數據頁上的校驗和 5

  在線索引操作 5

  在線、段落和頁級還原 5

  部分數據可用性 6

  快照隔離 6

  動態配置 6

  增強的可管理性 6

  數據庫快照 6

  表和索引分區 7

  備份和還原 7

  專用管理員連接 7

  資源調控器 7

  結束語 7

  導言

  任何應用程序的停機時間都會給企業帶來負面影響,導致收入損失、客戶滿意度下降並損害企業的信譽。許多數據庫應用程序,尤其是企業業務應用程序,要求系統停機時間盡可能縮短。系統停機時間的産生有多種原因,如人爲失誤、自然災害、硬件或軟件故障以及應用程序升級。Microsoft SQL Server 2008 Always On 技術提供了各種選項,可將停機時間降至最低,且保持適當級別的應用程序可用性。

  可用性應用場景

  對許多業務而言,獲得高可用性是一種常見需求。解決方案是否適用于特定的應用場景取決于很多因素,在一種場合下表現最佳的解決方案在另一種場合下不一定是最適合的。例如如下應用場景:

  基于 Internet 的運動商品零售商想爲其客戶提供近似連續的可用性。Web 服務器已加到 Web 場中,但數據庫故障會産生錯誤,這些情形大多數時候會使公司失去客戶。該公司已經擁有經核准的標准服務器版本,希望能夠避免花費大量資金、更改基礎結構或重寫應用程序。

  獵頭公司很關注其用戶使用客戶數據庫時遇到的錯誤。雖然沒有必要立即執行故障恢複,但該公司還是希望擁有一台可以快速在線獲得的溫備用服務器。

  保險公司想爲其索賠數據庫提供近似連續的可用性。該系統的性能一定不能受到影響,而且當前存儲在文件系統中用以支持索賠的文檔也必須可用。

  管理培訓公司有三個站點,每個站點都有一支銷售團隊。銷售團隊將各自站點的記錄輸入 Orders 數據庫中。爲提高性能,要求每個站點能夠在本地服務器上訪問公司的所有訂單。當出現故障時,爲提供可用性,每個站點都必須能夠切換到另一個站點的服務器。

  會計公司希望在出現故障時(如自然災害)也能爲其客戶提供可用性。信息不一定要立即可用,但應該在數小時而不是數天內可供使用。該公司還想每天都保存數據庫中的信息,以滿足法規要求。拷貝的數據不需要立即可用,但必須在許多年內都可供使用。

  玩具制造商想根據銷售數據庫編制報告,但由于該數據庫一直處于使用狀態,因此編制報告的過程通常會被當前正在執行的交易打斷。該公司希望能夠針對未提交的交易編制報告,但這會産生不正確的結果,因爲有些交易並不完整。

  房地産公司想在用戶操作錯誤時保護系統,希望能夠恢複前一天的記錄值。該公司還想能夠根據前一天的數據編制報告,因爲它們不會受到當天交易的影響。在理想情況下,該公司希望實施一種磁盤開銷最小的解決方案。

  根據各種可用性要求,企業需要一種能爲高可用性解決方案提供靈活選項的數據庫平台。本白皮書中,可以看到 SQL Server 2008 Always On 技術如何爲高可用性提供靈活選項,以使企業能夠根據特殊需求實施最佳解決方案。

  提高可用性

  許多數據庫應用程序都是任務關鍵型的,因此要求停機時間盡可能短,並在發生災難時能夠迅速恢複。SQL Server 2008 提供了各種 Always On 技術,可以使停機時間減至最少及獲得適當級別的可用性。

  數據庫鏡像

  「Database Mirroring(數據庫鏡像)」是一種可提高數據庫可用性的技術。當主體數據庫發生更改時,這些更改也將自動應用到鏡像數據庫中。當主體服務器發生故障時,客戶機應用程序可自動重定向到鏡像服務器,而應用程序無需進行任何改動。

  可以對 Database Mirroring 進行配置,以對鏡像服務器實時應用更改,稱爲「同步」;或者近乎實時應用更改,稱爲「異步」,因此可以在系統中指定保護級別和性能開銷。

  有了 SQL Server 2008 Enterprise Edition 之後,鏡像保護就可擴展到數據頁。如果發現主體服務器或鏡像服務器上的數據頁損壞,將從夥伴服務器上檢索對應的數據頁,而數據操作也會平穩地繼續執行。SQL Server 2008 還改善了數據庫鏡像,它將壓縮主體服務器與鏡像服務器之間的數據流,而且在手動執行故障恢複時,無需重啓數據庫。

  在基于 Internet 的運動商品公司的案例中,當出現服務器、數據庫或頁級故障時,Database Mirroring 將提供非常迅速的故障恢複能力。雖然必須購買新服務器,但無需重寫應用程序,備用服務器是標准設備,不需要 SQL Server 許可證。

  日志傳送

  「日志傳送」是一種高可用性技術,它提供了溫備用服務器。備份是在主服務器上執行的,而還原是在一個或多個輔助服務器上執行的。然後,「日志傳送」將定期日志備份應用于輔助服務器。雖然數據庫鏡像只能有一台鏡像服務器,但「日志傳送」可以有許多輔助服務器,這可以提高保護級別。

  「日志傳送」是按照時間表執行的,因此在主服務器上的數據更改與這些更改傳輸到輔助服務器上之間有時間延遲。這種延遲會導致數據損失,但在許多應用場景下,這些延遲可用作還原用戶錯誤的一種方法,因爲可以延遲日志數據在輔助服務器上的應用(從而保留輔助服務器上的原始數據)。

  爲降低主服務器的工作負荷,輔助服務器可用作只讀報告服務器,但在應用日志備份時無法運行報告。

  在獵頭公司的案例中,可利用日志備份與備用服務器執行還原之間的延遲應用「日志傳送」。這可以扭轉由用戶導致的錯誤情形,因爲如果主服務器發生故障,可以直接應用日志以減少數據損失。

  故障轉移群集

  「故障轉移群集」是一種 Windows 功能,可對整個服務器提供保護,而不只是保護數據庫。多台服務器(稱爲「節點」)共享磁盤陣列,因此如果一個節點發生故障,則可在集群中的另一個節點上啓動它的服務。該解決方案可以防止任何數據損失,並提供自動的客戶機重定向服務,但從主服務器到輔助服務器的故障恢複操作沒有數據庫鏡像那樣快,而且需要專門的硬件。

  Windows Server 2008 擴展了舊版 Windows 的群集功能,它降低了對硬件和基礎結構的要求,且在一個群集中支持16個節點。此外,由于不要求所有節點都駐留于同一個子網中並支持 OR 依賴關系(例如,當兩個 IP 地址資源中的任何一個可用時,可確保網絡名資源也可用),因而強化了群集功能。從總體上講,在 Windows Server 2008 中可以更容易地設置和管理群集,而引進的群集驗證工具有助于確保群集解決方案有足夠的硬件資源。通過利用 Windows Server 2008 中的群集增強功能,SQL Server 2008 爲整個 SQL Server 實例提供了健壯的高可用性解決方案。SQL Server 2008 還改善了舊版的群集功能,它不要求每個 SQL Server 實例都要有一個盤符,這提高了群集解決方案可以支持的實例數量。

  在保險公司案例中,「故障轉移群集」可用于提供近似連續的可用性。「故障轉移群集」不會影響系統性能,因爲它是一種服務器級解決方案,能夠爲服務器上的其他資源提供可用性。如果擔心共享磁盤陣列不能提供足夠的冗余,則可使用「地理分散群集」。

  地理分散故障轉移群集

  「地理分散故障轉移群集」按照認證的 Microsoft Geographically Dispersed Cluster Services 配置提供服務器級冗余,該配置要求每個站點擁有一個或多個存儲陣列。如果站點、服務器節點或磁盤發生故障,系統和磁盤的完整冗余將使故障轉移群集能夠處理另一站點上的後續活動。該配置可避免共享磁盤陣列發生故障的風險,這將阻止標准群集配置發揮作用。

  對等複制

  「對等複制」使多個數據庫能夠相互複制。可以對任何數據庫執行更改,而且能以接近實時的方式將這些更改應用于複制拓撲中的其他節點。應用程序的設計要求是,如果主體服務器不可用,應用程序必須能夠連接拓撲中的其他節點。

  SQL Server 2008 強化了對等複制功能,它可在複制解決方案中增加節點,同時保持複制流程處于在線狀態。在舊版的 SQL Server 中,要增加新節點,必須在離線狀態下執行複制流程。此外,SQL Server 2008 可以直接利用圖形化 Topology Viewer 對對等複制進行設置、監督和管理。SQL Server 2008 還引進了沖突檢測機制,可以防止多個複制節點更新同一行時産生的偶然沖突。

  在管理培訓公司的案例中,對等複制可以從本地訪問整個訂單數據庫,如果另一站點的數據庫不可用,則每個站點都可以用于故障恢複。

  縮短停機時間

  系統停機時間會威脅到任何企業的成功。系統停機時間可能是意外産生的,也可能是爲維護任務而預先安排的,例如重建索引或執行應用程序或系統升級。

  要使系統避免産生意外停機很困難,因爲對于企業而言,意外的硬件或網絡故障、人爲失誤、自然災害或盜竊都可能會帶來災難性後果。SQL Server Always On 提供了可從計劃外停機狀態中迅速恢複的技術。此外,通過適當地實施 Always On 技術,任務關鍵型應用程序平穩運行所需的系統維護和操作流程將使停機時間降至最低。

  快速數據庫恢複

  SQL Server 2008 Enterprise Edition Database Engine 能夠在崩潰恢複和數據庫鏡像故障轉移期間提供快速恢複。快速恢複功能使數據庫在恢複流程的還原階段即可使用,它在還原操作期間、數據庫頁校驗以及備份媒體鏡像期間均可提供部分可用性。通過支持快速恢複,SQL Server 2008 將在最短的時間內使數據庫處于在線狀態,因此用戶很快就能使用數據庫,這要快于如下方法:等整個恢複流程全部完成後,用戶和應用程序才可以執行連接。

  備份和還原

  在高可用性解決方案中,備份至關重要,它要定期提供數據快照,並在出現大範圍故障或缺少其他高可用性解決方案時,作爲數據源用以還原數據。

  SQL Server 的備份媒體鏡像功能使用戶能夠將數據庫通過鏡像備份複制到多個備份設備上,當媒體出現故障或備份設備丟失時,這將極大提高備份的可靠性。SQL Server 2008 支持在磁盤和磁帶上執行鏡像備份,但所用的設備必須類似,以避免産生設備不匹配錯誤的風險。備份鏡像集中的所有設備在備份過程中都必須可用,但數據庫可從鏡像集中的任何單獨備份中還原。要利用 Transact-SQL 執行鏡像備份,必須使用 BACKUP 命令的 MIRROR TO 子句,如下例所示。

  BACKUP DATABASE AdventureWorks

  TO TAPE = '\.\tape0', TAPE = '\.\tape1'

  MIRROR TO TAPE = '\.\tape2', TAPE = '\.\tape3'

  WITH

   FORMAT,

   MEDIANAME = 'AdventureWorksSet1';

  GO

  SQL Server 的另一個備份可靠性特性是,在備份操作期間可以生成校驗和,然後校驗和可用于驗證還原後的數據庫。

  SQL Server 2008 支持備份壓縮,最多可使備份大小減小50%。容量的減小使用戶能夠更頻繁地備份數據,同時也會縮短還原時間。在 BACKUP 命令中,備份壓縮可設爲 ON 或 OFF,並且可以利用 sp_configure 定義默認的壓縮值(on 或 off),以確定在執行 BACKUP 命令時,是否需要制定壓縮選項。

  數據頁上的校驗和

  「校驗和」可比較寫入磁盤的值與後續讀取的值。如果這些值不一致,則該頁將被標記爲 suspect(可疑),然後要麽手動還原,要麽利用 SQL Server 2008 自動從夥伴服務器中還原。

  在線索引操作

  可用性會受到標准維護操作以及故障的影響。在早期 SQL Server 版本中,索引維護會使受影響的數據變爲不可用,但從SQL Server 2005 開始,數據在「在線索引操作」期間均可保持可用性,這些可用的操作包括創建、放置或重建索引。

  在執行索引維護時,「在線索引操作」可提高所有系統的可用性,因此也能提高職員的工作效率,並改善客戶使用系統時的體驗。

  在線、段落和頁級還原

  SQL Server 2008 Enterprise Edition 支持「在線還原」,使用戶能夠訪問數據庫被還原的部分,即使數據庫的其他部分還不可用,因此這會提高恢複速度、縮短停機時間和提高可用性。此外,可以利用「段落還原」策略還原各階段的數據庫。例如,可以還原包含當前活動數據的文件組,並且可先使數據庫處于在線狀態,然後還原包含較舊的歸檔數據的文件組。在災難恢複應用場景下,段落還原策略可縮短任務關鍵型應用程序處于離線狀態的時間。

  由于少量數據頁發生損壞而需要恢複數據庫時,SQL Server 2008 支持頁級還原操作。用戶可從許多源數據庫的可疑頁中識別頁 ID,包括 msdb 數據庫中的 suspect_pages 表、SQL Server 錯誤日志以及 DBCC CHECKDB 命令。識別出任何有可能損壞的數據頁之後,就可以在 RESTORE 語句的 PAGE 從句中指定頁 ID,從而還原數據頁。從備份中還原單張頁的能力極大地縮短由于數據庫損壞導致的停機時間。

  部分數據可用性

  有了「部分數據可用性」功能,即使數據庫的一部分由于隔離硬件或磁盤故障而遭破壞,數據庫也能維持在線狀態和可用性。如果輔助的非主要數據文件損壞,則數據庫未損壞的部分仍將保持在線狀態和可用性。因此,即使整個系統不可用,但有些客戶和職員仍可訪問數據,這會減輕由問題導致的後果,同時另一個可用性解決方案將進入在線狀態。

  快照隔離

  在SQL Server的早期版本中修改數據時,被修改的數據將處于鎖定狀態,因此其他應用程序和用戶就無法使用這些數據。替代方法是讀取數據的當前狀態(即使這些值尚未被提交)或者當交易未成功完成時回滾數據。

  「快照隔離」功能擴展了 SQL Server 2008 中的鎖定框架,它使應用程序能夠在發生任何數據修改之前查看值。這可防止應用程序被鎖定,同時仍將提供真正已提交的數據。例如,在本文開頭介紹的玩具制造商案例中,「快照隔離」功能使報告能夠運行,並提供精確的交易結果。「快照隔離」使報告更及時、更精確。

  動態配置

  「動態配置」是 SQL Server Always On 技術之一,利用該技術可以更好地訪問硬件特性,如執行熱升級,同時系統仍可運行。如果硬件支持「熱添加內存」,則在增加系統內存時就不會産生中斷,而且 SQL Server 將通過動態內存或者故障移動群集的動態

  「地址窗口化擴展插件(AWE)」自動使用這些內存。

  SQL Server 2008 還支持「熱添加CPU」,因此可爲受支持的硬件添加處理器,而且不會使操作中斷。

  對于任何需要增加處理器或內存資源的系統而言,「動態配置」功能可縮短停機時間,並提高職員工作效率和客戶滿意度。

  增強的可管理性

  SQL Server 2008 針對簡化恢複操作提供了強大且高效的管理工具,它提供了用于調查、監督以及恢複企業中受損數據的各種工具。

  數據庫快照

  無論是由維護操作還是由終端用戶交互導致,人爲失誤是導致停機的最常見原因。SQL Server Always On 提供了「數據庫快照」功能,可用于快速調查人爲失誤並從之恢複。「數據庫快照」就是創建快照時數據庫的只讀、靜態視圖。「數據庫快照」也可用于編制報告,而且不影響源數據庫的可用性。

  在房地産公司的應用場景中,「數據庫快照」提供了一種將當前值向前一天回滾的方法,還爲前一天的數據提供了只讀的報告解決方案。由于「數據庫快照」僅存儲將應用于活動數據庫的更改數據,因此它們很節省存儲空間。

  表和索引分區

  「表和索引分區」功能可提高大表的可用性和可管理性,它將大表劃分爲較小的、更易管理的單元,這種單元稱爲「分區」。可以獨立訪問各個分區,因此減輕了 I/O 密集活動産生的影響,如數據加載、備份和還原、索引重建以及索引碎片整理。

  SQL Server 2008 使行鎖數和頁鎖數升級爲分區鎖數,因此提高了分區表的並行性。這種升級減少了應用的鎖數,因此加快了跨越查詢。在舊版本中,行鎖數和頁鎖數只能升級爲表鎖數,這會導致應用不必要的大鎖,而且會妨礙其他用戶。

  對于包含大表和大量用戶的任何系統而言,提高並行性並減少競爭可改善可用性,而且能夠提高職員工作效率和客戶滿意度。

  備份和還原

  除了「段落還原」和「在線還原」技術外,備份和還原操作還在恢複方面提供了更多靈活性。SQL Server 使用戶能夠還原只讀數據庫文件組,而且無需應用事務日志。它還允許同時執行數據庫備份和事務日志備份。

  專用管理員連接

  「專用管理員連接(DAC)」是一種與服務器之間的高優先級連接,當服務器似乎要停機以及不接受新連接時,它有助于排除故障。

  資源調控器

  在使用頻繁的數據庫中,不同的工作負荷可能會爲了可用的系統資源而展開競爭,例如 CPU 線程和內存。在某些情形下,這種資源競爭可能會使任務關鍵型工作負荷受到數據庫中其他活動的不良影響。SQL Server 2008 提供「資源調控器」,它根據登錄、應用程序和其他因素,爲不同的工作負荷指定優先級,從而能夠主動管理工作負荷資源利用情況。爲工作負荷指定優先級的能力使性能更具可預測性,有助于確保任務關鍵型應用程序總有數據庫服務器資源可以使用。

  結束語

  當客戶或職員無法使用企業中的任何關鍵系統時,這都會立即影響到企業的利潤率。可用性問題和需求千差萬別,一種解決方案無法解決所有的問題。

  SQL Server 2008 提供了多種解決方案以改善可用性,這種可用性至少在性能和多樣性方面能夠媲美主流數據庫廠商提供的任何類似産品,而且 SQL Server 2008 繼續在可管理性和資金價值方面居于領先地位。

  獲取更多信息:

http://www.microsoft.com/sql

  本文對您有幫助嗎?請告訴我們您的感受。如果從1(差)到5(極好)的分值中進行選擇,您認爲本文應該打幾分?原因是什麽?例如:

  您是否認爲由于提供了很好的例子、精美的屏幕截圖、清晰的文字描述或其他原因而應該給它高分?

  您是否認爲由于用例不當、屏幕截圖模糊、文字描述含混不清而應該給它低分?

  您的意見將有助于我們改善所發布白皮書的質量。提交意見。
 
 
 
上一篇《SQL Server 2008十月正式上市》
下一篇《微軟SQL Server 2008正式亮相 爲上市預熱》
 
 
 
日版寵物情人插曲《Winding Road》歌詞

日版寵物情人2017的插曲,很帶節奏感,日語的,女生唱的。 最後聽見是在第8集的時候女主手割傷了,然後男主用嘴幫她吸了一下,插曲就出來了。 歌手:Def...

兄弟共妻,我成了他們夜裏的美食

老鍾家的兩個兒子很特別,就是跟其他的人不太一樣,魔一般的執著。兄弟倆都到了要結婚的年齡了,不管自家老爹怎麽磨破嘴皮子,兄弟倆說不娶就不娶,老父母爲兄弟兩操碎了心...

如何磨出破洞牛仔褲?牛仔褲怎麽剪破洞?

把牛仔褲磨出有線的破洞 1、具體工具就是磨腳石,下面墊一個硬物,然後用磨腳石一直磨一直磨,到把那塊磨薄了,用手撕開就好了。出來的洞啊很自然的。需要貓須的話調幾...

我就是掃描下圖得到了敬業福和愛國福

先來看下敬業福和愛國福 今年春節,支付寶再次推出了“五福紅包”活動,表示要“把欠大家的敬業福都還給大家”。 今天該活動正式啓動,和去年一樣,需要收集“五福”...

冰箱異味産生的原因和臭味去除的方法

有時候我們打開冰箱就會聞到一股異味,冰箱裏的這種異味是因爲一些物質發出的氣味的混合體,聞起來讓人惡心。 産生這些異味的主要原因有以下幾點。 1、很多人有這種習...

《極品家丁》1-31集大結局分集劇情介紹

簡介 《極品家丁》講述了現代白領林晚榮無意回到古代金陵,並追隨蕭二小姐化名“林三”進入蕭府,不料卻陰差陽錯上演了一出低級家丁拼搏上位的“林三升職記”。...

李溪芮《極品家丁》片尾曲《你就是我最愛的寶寶》歌詞

你就是我最愛的寶寶 - 李溪芮 (電視劇《極品家丁》片尾曲) 作詞:常馨內 作曲:常馨內 你的眉 又鬼馬的挑 你的嘴 又壞壞的笑 上一秒吵鬧 下...

烏梅的功效與作用以及烏梅的食用禁忌有哪些?

烏梅,又稱春梅,中醫認爲,烏梅味酸,性溫,無毒,具有安心、除熱、下氣、祛痰、止渴調中、殺蟲的功效,治肢體痛、肺痨病。烏梅泡水喝能治傷寒煩熱、止吐瀉,與幹姜一起制...

什麽是脂肪粒?如何消除臉部脂肪粒?

什麽是脂肪粒 在我們的臉上總會長一個個像脂肪的小顆粒,弄也弄不掉,而且顔色還是白白的。它既不是粉刺也不是其他的任何痘痘,它就是脂肪粒。 脂肪粒雖然也是由油脂...

網絡安全治理:國家安全保障的主要方向是打擊犯罪,而不是處置和懲罰受害者

來源:中國青年報 新的攻擊方法不斷湧現,黑客幾乎永遠占據網絡攻擊的上風,我們不可能通過技術手段杜絕網絡攻擊。國家安全保障的主要方向是打擊犯罪,而不是處置和懲罰...

 
 
 
高可用性—Always On 技術 SQL Server 技術文章 作者: Geoff Allix (內容主管) 技術審查: Michael Raheem 項目編輯:Joanne Hodgins 發布日期:2007年11月 適用産品:SQL Server 2008 摘要:Microsoft® SQL Server® 2008 通過提供各種高可用性解決方案,縮短了業務關鍵型數據庫的停機時間。這些解決方案使用戶和企業職員每天24小時、每周7天都可以訪問數據,且仍能提供經濟有效的高性能。SQL Server 2008 中的 Always On 功能增強了對系統和硬件的保護,減少了計劃中或計劃外停機的次數和恢複時間,並減少了由于大量用戶同時訪問同一數據庫而導致的沖突。 版權 這是一份預備文檔,在本文檔中所述軟件的最終商業版本發布之前,該文檔的內容可能會發生重大變化。 本文檔中提供的信息代表了 Microsoft Corporation 當前(軟件發布之前)對所討論問題持有的觀點。因爲 Microsoft 必須響應不斷變化的市場條件,所以其當前的觀點不應被解釋爲是一種承諾,軟件發布之後,Microsoft 不能保證現在所提供的所有信息准確無誤。 這份白皮書僅供參考。 Microsoft 對本文檔中提供的信息不做任何擔保、明示、暗示或法律方面的承諾。 用戶有責任遵守所有適用的版權法。在版權權利限制下,未經 Microsoft 公司明確的書面許可,本文檔的任何內容不能被複制、存儲或放進檢索系統,或者以任何形式或任何手段(電子、機械、複印、錄制或其他)或爲達到任何目的進行轉換。 Microsoft 對本文涵蓋的主題內容可能擁有專利、專利申請、商標、版權或其他知識産權。沒有來自 Microsoft 的任何書面許可協議的明確表示,本文不賦予您對這些專利、商標、版權或其他知識産權的任何許可。 除非另有說明,否則本文提及的示例公司、組織、産品、域名、電子郵件地址、徽標、人物、地點和事件皆屬虛構,與任何真實的公司、組織、産品、域名、電子郵件地址、徽標、個人、地點或事件無關。 Ó 2007 Microsoft Corporation。保留所有權利。 Microsoft、Windows、Office 和 SQL Server 是 Microsoft Corporation 在美國和/或其他國家/地區的商標或注冊商標。 本文中提及的真實的公司名稱和産品名稱可能是其各自所有者的商標。 目錄 簡介 1 可用性應用場景 1 提高可用性 2 數據庫鏡像 2 日志傳送 2 故障轉移群集 3 地理分散故障轉移群集 3 對等複制 3 縮短停機時間 4 快速數據庫恢複 4 備份和還原 4 數據頁上的校驗和 5 在線索引操作 5 在線、段落和頁級還原 5 部分數據可用性 6 快照隔離 6 動態配置 6 增強的可管理性 6 數據庫快照 6 表和索引分區 7 備份和還原 7 專用管理員連接 7 資源調控器 7 結束語 7 導言 任何應用程序的停機時間都會給企業帶來負面影響,導致收入損失、客戶滿意度下降並損害企業的信譽。許多數據庫應用程序,尤其是企業業務應用程序,要求系統停機時間盡可能縮短。系統停機時間的産生有多種原因,如人爲失誤、自然災害、硬件或軟件故障以及應用程序升級。Microsoft SQL Server 2008 Always On 技術提供了各種選項,可將停機時間降至最低,且保持適當級別的應用程序可用性。 可用性應用場景 對許多業務而言,獲得高可用性是一種常見需求。解決方案是否適用于特定的應用場景取決于很多因素,在一種場合下表現最佳的解決方案在另一種場合下不一定是最適合的。例如如下應用場景: 基于 Internet 的運動商品零售商想爲其客戶提供近似連續的可用性。Web 服務器已加到 Web 場中,但數據庫故障會産生錯誤,這些情形大多數時候會使公司失去客戶。該公司已經擁有經核准的標准服務器版本,希望能夠避免花費大量資金、更改基礎結構或重寫應用程序。 獵頭公司很關注其用戶使用客戶數據庫時遇到的錯誤。雖然沒有必要立即執行故障恢複,但該公司還是希望擁有一台可以快速在線獲得的溫備用服務器。 保險公司想爲其索賠數據庫提供近似連續的可用性。該系統的性能一定不能受到影響,而且當前存儲在文件系統中用以支持索賠的文檔也必須可用。 管理培訓公司有三個站點,每個站點都有一支銷售團隊。銷售團隊將各自站點的記錄輸入 Orders 數據庫中。爲提高性能,要求每個站點能夠在本地服務器上訪問公司的所有訂單。當出現故障時,爲提供可用性,每個站點都必須能夠切換到另一個站點的服務器。 會計公司希望在出現故障時(如自然災害)也能爲其客戶提供可用性。信息不一定要立即可用,但應該在數小時而不是數天內可供使用。該公司還想每天都保存數據庫中的信息,以滿足法規要求。拷貝的數據不需要立即可用,但必須在許多年內都可供使用。 玩具制造商想根據銷售數據庫編制報告,但由于該數據庫一直處于使用狀態,因此編制報告的過程通常會被當前正在執行的交易打斷。該公司希望能夠針對未提交的交易編制報告,但這會産生不正確的結果,因爲有些交易並不完整。 房地産公司想在用戶操作錯誤時保護系統,希望能夠恢複前一天的記錄值。該公司還想能夠根據前一天的數據編制報告,因爲它們不會受到當天交易的影響。在理想情況下,該公司希望實施一種磁盤開銷最小的解決方案。 根據各種可用性要求,企業需要一種能爲高可用性解決方案提供靈活選項的數據庫平台。本白皮書中,可以看到 SQL Server 2008 Always On 技術如何爲高可用性提供靈活選項,以使企業能夠根據特殊需求實施最佳解決方案。 提高可用性 許多數據庫應用程序都是任務關鍵型的,因此要求停機時間盡可能短,並在發生災難時能夠迅速恢複。SQL Server 2008 提供了各種 Always On 技術,可以使停機時間減至最少及獲得適當級別的可用性。 數據庫鏡像 「Database Mirroring(數據庫鏡像)」是一種可提高數據庫可用性的技術。當主體數據庫發生更改時,這些更改也將自動應用到鏡像數據庫中。當主體服務器發生故障時,客戶機應用程序可自動重定向到鏡像服務器,而應用程序無需進行任何改動。 可以對 Database Mirroring 進行配置,以對鏡像服務器實時應用更改,稱爲「同步」;或者近乎實時應用更改,稱爲「異步」,因此可以在系統中指定保護級別和性能開銷。 有了 SQL Server 2008 Enterprise Edition 之後,鏡像保護就可擴展到數據頁。如果發現主體服務器或鏡像服務器上的數據頁損壞,將從夥伴服務器上檢索對應的數據頁,而數據操作也會平穩地繼續執行。SQL Server 2008 還改善了數據庫鏡像,它將壓縮主體服務器與鏡像服務器之間的數據流,而且在手動執行故障恢複時,無需重啓數據庫。 在基于 Internet 的運動商品公司的案例中,當出現服務器、數據庫或頁級故障時,Database Mirroring 將提供非常迅速的故障恢複能力。雖然必須購買新服務器,但無需重寫應用程序,備用服務器是標准設備,不需要 SQL Server 許可證。 日志傳送 「日志傳送」是一種高可用性技術,它提供了溫備用服務器。備份是在主服務器上執行的,而還原是在一個或多個輔助服務器上執行的。然後,「日志傳送」將定期日志備份應用于輔助服務器。雖然數據庫鏡像只能有一台鏡像服務器,但「日志傳送」可以有許多輔助服務器,這可以提高保護級別。 「日志傳送」是按照時間表執行的,因此在主服務器上的數據更改與這些更改傳輸到輔助服務器上之間有時間延遲。這種延遲會導致數據損失,但在許多應用場景下,這些延遲可用作還原用戶錯誤的一種方法,因爲可以延遲日志數據在輔助服務器上的應用(從而保留輔助服務器上的原始數據)。 爲降低主服務器的工作負荷,輔助服務器可用作只讀報告服務器,但在應用日志備份時無法運行報告。 在獵頭公司的案例中,可利用日志備份與備用服務器執行還原之間的延遲應用「日志傳送」。這可以扭轉由用戶導致的錯誤情形,因爲如果主服務器發生故障,可以直接應用日志以減少數據損失。 故障轉移群集 「故障轉移群集」是一種 Windows 功能,可對整個服務器提供保護,而不只是保護數據庫。多台服務器(稱爲「節點」)共享磁盤陣列,因此如果一個節點發生故障,則可在集群中的另一個節點上啓動它的服務。該解決方案可以防止任何數據損失,並提供自動的客戶機重定向服務,但從主服務器到輔助服務器的故障恢複操作沒有數據庫鏡像那樣快,而且需要專門的硬件。 Windows Server 2008 擴展了舊版 Windows 的群集功能,它降低了對硬件和基礎結構的要求,且在一個群集中支持16個節點。此外,由于不要求所有節點都駐留于同一個子網中並支持 OR 依賴關系(例如,當兩個 IP 地址資源中的任何一個可用時,可確保網絡名資源也可用),因而強化了群集功能。從總體上講,在 Windows Server 2008 中可以更容易地設置和管理群集,而引進的群集驗證工具有助于確保群集解決方案有足夠的硬件資源。通過利用 Windows Server 2008 中的群集增強功能,SQL Server 2008 爲整個 SQL Server 實例提供了健壯的高可用性解決方案。SQL Server 2008 還改善了舊版的群集功能,它不要求每個 SQL Server 實例都要有一個盤符,這提高了群集解決方案可以支持的實例數量。 在保險公司案例中,「故障轉移群集」可用于提供近似連續的可用性。「故障轉移群集」不會影響系統性能,因爲它是一種服務器級解決方案,能夠爲服務器上的其他資源提供可用性。如果擔心共享磁盤陣列不能提供足夠的冗余,則可使用「地理分散群集」。 地理分散故障轉移群集 「地理分散故障轉移群集」按照認證的 Microsoft Geographically Dispersed Cluster Services 配置提供服務器級冗余,該配置要求每個站點擁有一個或多個存儲陣列。如果站點、服務器節點或磁盤發生故障,系統和磁盤的完整冗余將使故障轉移群集能夠處理另一站點上的後續活動。該配置可避免共享磁盤陣列發生故障的風險,這將阻止標准群集配置發揮作用。 對等複制 「對等複制」使多個數據庫能夠相互複制。可以對任何數據庫執行更改,而且能以接近實時的方式將這些更改應用于複制拓撲中的其他節點。應用程序的設計要求是,如果主體服務器不可用,應用程序必須能夠連接拓撲中的其他節點。 SQL Server 2008 強化了對等複制功能,它可在複制解決方案中增加節點,同時保持複制流程處于在線狀態。在舊版的 SQL Server 中,要增加新節點,必須在離線狀態下執行複制流程。此外,SQL Server 2008 可以直接利用圖形化 Topology Viewer 對對等複制進行設置、監督和管理。SQL Server 2008 還引進了沖突檢測機制,可以防止多個複制節點更新同一行時産生的偶然沖突。 在管理培訓公司的案例中,對等複制可以從本地訪問整個訂單數據庫,如果另一站點的數據庫不可用,則每個站點都可以用于故障恢複。 縮短停機時間 系統停機時間會威脅到任何企業的成功。系統停機時間可能是意外産生的,也可能是爲維護任務而預先安排的,例如重建索引或執行應用程序或系統升級。 要使系統避免産生意外停機很困難,因爲對于企業而言,意外的硬件或網絡故障、人爲失誤、自然災害或盜竊都可能會帶來災難性後果。SQL Server Always On 提供了可從計劃外停機狀態中迅速恢複的技術。此外,通過適當地實施 Always On 技術,任務關鍵型應用程序平穩運行所需的系統維護和操作流程將使停機時間降至最低。 快速數據庫恢複 SQL Server 2008 Enterprise Edition Database Engine 能夠在崩潰恢複和數據庫鏡像故障轉移期間提供快速恢複。快速恢複功能使數據庫在恢複流程的還原階段即可使用,它在還原操作期間、數據庫頁校驗以及備份媒體鏡像期間均可提供部分可用性。通過支持快速恢複,SQL Server 2008 將在最短的時間內使數據庫處于在線狀態,因此用戶很快就能使用數據庫,這要快于如下方法:等整個恢複流程全部完成後,用戶和應用程序才可以執行連接。 備份和還原 在高可用性解決方案中,備份至關重要,它要定期提供數據快照,並在出現大範圍故障或缺少其他高可用性解決方案時,作爲數據源用以還原數據。 SQL Server 的備份媒體鏡像功能使用戶能夠將數據庫通過鏡像備份複制到多個備份設備上,當媒體出現故障或備份設備丟失時,這將極大提高備份的可靠性。SQL Server 2008 支持在磁盤和磁帶上執行鏡像備份,但所用的設備必須類似,以避免産生設備不匹配錯誤的風險。備份鏡像集中的所有設備在備份過程中都必須可用,但數據庫可從鏡像集中的任何單獨備份中還原。要利用 Transact-SQL 執行鏡像備份,必須使用 BACKUP 命令的 MIRROR TO 子句,如下例所示。 BACKUP DATABASE AdventureWorks TO TAPE = '\.\tape0', TAPE = '\.\tape1' MIRROR TO TAPE = '\.\tape2', TAPE = '\.\tape3' WITH FORMAT, MEDIANAME = 'AdventureWorksSet1'; GO SQL Server 的另一個備份可靠性特性是,在備份操作期間可以生成校驗和,然後校驗和可用于驗證還原後的數據庫。 SQL Server 2008 支持備份壓縮,最多可使備份大小減小50%。容量的減小使用戶能夠更頻繁地備份數據,同時也會縮短還原時間。在 BACKUP 命令中,備份壓縮可設爲 ON 或 OFF,並且可以利用 sp_configure 定義默認的壓縮值(on 或 off),以確定在執行 BACKUP 命令時,是否需要制定壓縮選項。 數據頁上的校驗和 「校驗和」可比較寫入磁盤的值與後續讀取的值。如果這些值不一致,則該頁將被標記爲 suspect(可疑),然後要麽手動還原,要麽利用 SQL Server 2008 自動從夥伴服務器中還原。 在線索引操作 可用性會受到標准維護操作以及故障的影響。在早期 SQL Server 版本中,索引維護會使受影響的數據變爲不可用,但從SQL Server 2005 開始,數據在「在線索引操作」期間均可保持可用性,這些可用的操作包括創建、放置或重建索引。 在執行索引維護時,「在線索引操作」可提高所有系統的可用性,因此也能提高職員的工作效率,並改善客戶使用系統時的體驗。 在線、段落和頁級還原 SQL Server 2008 Enterprise Edition 支持「在線還原」,使用戶能夠訪問數據庫被還原的部分,即使數據庫的其他部分還不可用,因此這會提高恢複速度、縮短停機時間和提高可用性。此外,可以利用「段落還原」策略還原各階段的數據庫。例如,可以還原包含當前活動數據的文件組,並且可先使數據庫處于在線狀態,然後還原包含較舊的歸檔數據的文件組。在災難恢複應用場景下,段落還原策略可縮短任務關鍵型應用程序處于離線狀態的時間。 由于少量數據頁發生損壞而需要恢複數據庫時,SQL Server 2008 支持頁級還原操作。用戶可從許多源數據庫的可疑頁中識別頁 ID,包括 msdb 數據庫中的 suspect_pages 表、SQL Server 錯誤日志以及 DBCC CHECKDB 命令。識別出任何有可能損壞的數據頁之後,就可以在 RESTORE 語句的 PAGE 從句中指定頁 ID,從而還原數據頁。從備份中還原單張頁的能力極大地縮短由于數據庫損壞導致的停機時間。 部分數據可用性 有了「部分數據可用性」功能,即使數據庫的一部分由于隔離硬件或磁盤故障而遭破壞,數據庫也能維持在線狀態和可用性。如果輔助的非主要數據文件損壞,則數據庫未損壞的部分仍將保持在線狀態和可用性。因此,即使整個系統不可用,但有些客戶和職員仍可訪問數據,這會減輕由問題導致的後果,同時另一個可用性解決方案將進入在線狀態。 快照隔離 在SQL Server的早期版本中修改數據時,被修改的數據將處于鎖定狀態,因此其他應用程序和用戶就無法使用這些數據。替代方法是讀取數據的當前狀態(即使這些值尚未被提交)或者當交易未成功完成時回滾數據。 「快照隔離」功能擴展了 SQL Server 2008 中的鎖定框架,它使應用程序能夠在發生任何數據修改之前查看值。這可防止應用程序被鎖定,同時仍將提供真正已提交的數據。例如,在本文開頭介紹的玩具制造商案例中,「快照隔離」功能使報告能夠運行,並提供精確的交易結果。「快照隔離」使報告更及時、更精確。 動態配置 「動態配置」是 SQL Server Always On 技術之一,利用該技術可以更好地訪問硬件特性,如執行熱升級,同時系統仍可運行。如果硬件支持「熱添加內存」,則在增加系統內存時就不會産生中斷,而且 SQL Server 將通過動態內存或者故障移動群集的動態 「地址窗口化擴展插件(AWE)」自動使用這些內存。 SQL Server 2008 還支持「熱添加CPU」,因此可爲受支持的硬件添加處理器,而且不會使操作中斷。 對于任何需要增加處理器或內存資源的系統而言,「動態配置」功能可縮短停機時間,並提高職員工作效率和客戶滿意度。 增強的可管理性 SQL Server 2008 針對簡化恢複操作提供了強大且高效的管理工具,它提供了用于調查、監督以及恢複企業中受損數據的各種工具。 數據庫快照 無論是由維護操作還是由終端用戶交互導致,人爲失誤是導致停機的最常見原因。SQL Server Always On 提供了「數據庫快照」功能,可用于快速調查人爲失誤並從之恢複。「數據庫快照」就是創建快照時數據庫的只讀、靜態視圖。「數據庫快照」也可用于編制報告,而且不影響源數據庫的可用性。 在房地産公司的應用場景中,「數據庫快照」提供了一種將當前值向前一天回滾的方法,還爲前一天的數據提供了只讀的報告解決方案。由于「數據庫快照」僅存儲將應用于活動數據庫的更改數據,因此它們很節省存儲空間。 表和索引分區 「表和索引分區」功能可提高大表的可用性和可管理性,它將大表劃分爲較小的、更易管理的單元,這種單元稱爲「分區」。可以獨立訪問各個分區,因此減輕了 I/O 密集活動産生的影響,如數據加載、備份和還原、索引重建以及索引碎片整理。 SQL Server 2008 使行鎖數和頁鎖數升級爲分區鎖數,因此提高了分區表的並行性。這種升級減少了應用的鎖數,因此加快了跨越查詢。在舊版本中,行鎖數和頁鎖數只能升級爲表鎖數,這會導致應用不必要的大鎖,而且會妨礙其他用戶。 對于包含大表和大量用戶的任何系統而言,提高並行性並減少競爭可改善可用性,而且能夠提高職員工作效率和客戶滿意度。 備份和還原 除了「段落還原」和「在線還原」技術外,備份和還原操作還在恢複方面提供了更多靈活性。SQL Server 使用戶能夠還原只讀數據庫文件組,而且無需應用事務日志。它還允許同時執行數據庫備份和事務日志備份。 專用管理員連接 「專用管理員連接(DAC)」是一種與服務器之間的高優先級連接,當服務器似乎要停機以及不接受新連接時,它有助于排除故障。 資源調控器 在使用頻繁的數據庫中,不同的工作負荷可能會爲了可用的系統資源而展開競爭,例如 CPU 線程和內存。在某些情形下,這種資源競爭可能會使任務關鍵型工作負荷受到數據庫中其他活動的不良影響。SQL Server 2008 提供「資源調控器」,它根據登錄、應用程序和其他因素,爲不同的工作負荷指定優先級,從而能夠主動管理工作負荷資源利用情況。爲工作負荷指定優先級的能力使性能更具可預測性,有助于確保任務關鍵型應用程序總有數據庫服務器資源可以使用。 結束語 當客戶或職員無法使用企業中的任何關鍵系統時,這都會立即影響到企業的利潤率。可用性問題和需求千差萬別,一種解決方案無法解決所有的問題。 SQL Server 2008 提供了多種解決方案以改善可用性,這種可用性至少在性能和多樣性方面能夠媲美主流數據庫廠商提供的任何類似産品,而且 SQL Server 2008 繼續在可管理性和資金價值方面居于領先地位。 獲取更多信息: [url=http://www.microsoft.com/sql]http://www.microsoft.com/sql[/url] 本文對您有幫助嗎?請告訴我們您的感受。如果從1(差)到5(極好)的分值中進行選擇,您認爲本文應該打幾分?原因是什麽?例如: 您是否認爲由于提供了很好的例子、精美的屏幕截圖、清晰的文字描述或其他原因而應該給它高分? 您是否認爲由于用例不當、屏幕截圖模糊、文字描述含混不清而應該給它低分? 您的意見將有助于我們改善所發布白皮書的質量。提交意見。
󰈣󰈤
 
 
 
  免責聲明:本文僅代表作者個人觀點,與王朝網路無關。王朝網路登載此文出於傳遞更多信息之目的,並不意味著贊同其觀點或證實其描述,其原創性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,並請自行核實相關內容。
 
 
微光夜曲_朦胧的美
青春校園_女生娜娜
氣質佳人_唯美動人
新年時尚魅力女生
痞子的甘南日記
疑是銀河落九天
雪域壩上四——純美色
冬日戀歌——西城楊柳弄輕柔
 
>>返回首頁<<
 
 熱帖排行
 
 
 
 
© 2005- 王朝網路 版權所有