2012-03-27 47 views
0

我想實現一個SQL鏡像,以幫助ASP.NET網站依賴於備份服務器,以防萬一主服務器發生什麼事情時,我已經經歷了幾個相關的問題對這個問題,大多數是對他們具體問題或問題的答案。如何ASP.NET網站和SQL鏡像

以下總結我正在嘗試做什麼,請幫助我/指導我,如果我在正確的道路上。

  1. 我們有運行ASP.NET的WebApplication
  2. Web應用程序服務器繁忙使用兩個數據庫ASP.NET表單DB和自定義數據庫,用於存儲自定義數據。
  3. 現在我們打算設置一個新的服務器,在主服務器出現故障時作爲備用服務器
  4. 我在考慮的建議解決方案如下。
  5. 兩個服務器都將舉辦ASP.NET WebApplication的,既有有數據庫部署SQL服務器(具有最新
  6. 現在一臺服務器將作爲主要的和Push更改其他SQL服務器。

現在的問題:

  1. 是我的做法正確
  2. 在情況下,如果主服務器無法和其他數據庫佔用了,以後一旦主服務器自帶了從做同步到主輔助服務器變更服務? r?
  3. 我可以配置負載平衡器嗎,以便在高負載情況下,我們將在這兩個服務器之間請求負載均衡?將數據庫同步?

任何指針?提前致謝。

回答

0

我認爲你的第一個問題的答案是:不需要,你需要一個ASP.Net網絡服務器appropriate connections string to principal and mirror database,但是你的鏡像必須處於自動故障轉移模式。

當您使用mirroring時,您有兩臺服務器(爲簡單起見,我們不會介紹見證服務器)。第一個數據庫可以在用戶(Principal)上工作和訪問,第二個數據庫有鏡像數據庫。此數據庫無法讀取或寫入(一個例外:您可以從此數據庫創建SNAPSHOT,但這不是您的情況),此數據庫處於還原狀態,因爲此服務器應用來自Principal的事務。

因此,爲您的第三個問題回答是 - 否,您不能使用第二臺服務器進行負載平衡。

當witness-server(如果您使用自動故障轉移)檢查Principal數據庫不可訪問時,他會提供恢復鏡像數據庫的命令。現在可以訪問此數據庫,並且如果使用連接字符串來使用鏡像(請參閱示例here),則禁用將連接到此服務器而不是主服務器失敗。如果您將使用沒有自動故障轉移的鏡像,則需要恢復鏡像數據庫並通過您的手重定向連接。在那之後,同步將會丟失。在這種情況下,您需要在需要時再次設置鏡像。