在升級伺服器執行個體時將鏡像資料庫的停機時間減至最少
將伺服器執行個體從 SQL Server 2005 或 SQL Server 2008 升級至 SQL Server 2012 時,您可以透過執行稱為「輪流升級」(Rolling Upgrade) 的循序升級,將每個鏡像資料庫的停機時間減少至只有單一手動容錯移轉的時間。 輪流升級是一種多階段程序,其最簡單的形式包括升級目前在鏡像工作階段中當做鏡像伺服器的伺服器執行個體,然後手動容錯移轉鏡像資料庫、升級之前的主體伺服器,以及繼續進行鏡像。 實際上,確切的程序會取決於作業模式以及在您要升級之伺服器執行個體上執行的鏡像工作階段數目和配置而定。
[!附註]
如需有關執行輪流升級來安裝 Service Pack 或 Hotfix 的詳細資訊,請參閱<在鏡像資料庫停機時間最少的情況下於系統上安裝 Service Pack>。
建議的準備事項 (最佳做法)
開始輪流升級之前,我們建議您:
至少在其中一個鏡像工作階段上執行手動容錯移轉練習:
[!附註]
如需有關手動容錯移轉如何運作的詳細資訊,請參閱<資料庫鏡像工作階段期間的角色切換 (SQL Server)>。
保護您的資料:
在每個主體資料庫上執行完整資料庫備份:
在每一個主體資料庫上執行 DBCC CHECKDB 命令。
輪流升級的各個階段
輪流升級的特定步驟會因鏡像組態的作業模式而不同。 不過,基本階段都是相同的。
[!附註]
如需有關作業模式的詳細資訊,請參閱<資料庫鏡像作業模式>。
下圖是一張流程圖,其中針對每個作業模式顯示輪流升級的基本階段。 對應的程序將在該圖之後描述。
重要事項 |
---|
伺服器執行個體可能在並行鏡像工作階段中執行不同的鏡像角色 (主體伺服器、鏡像伺服器或見證)。 在此情況下,您必須依照狀況來配合基本輪流升級程序。 如需詳細資訊,請參閱<資料庫鏡像工作階段期間的角色切換 (SQL Server)>。 |
將工作階段從高效能模式變更為高安全性模式
如果鏡像工作階段是在高效能模式下執行,請在執行輪流升級之前,將作業模式變更為不具有自動容錯移轉的高安全性模式。
重要事項 如果鏡像伺服器與主體伺服器之間的地理位置遙遠,輪流升級可能不適合。
在 SQL Server Management Studio 中:使用 [資料庫屬性] 對話方塊的鏡像頁面,將 [作業模式] 選項變更為 [不具有自動容錯移轉的高安全性 (同步)]。 如需有關如何存取這個頁面的詳細資訊,請參閱<啟動設定資料庫鏡像安全性精靈 (SQL Server Management Studio)>。
在 Transact-SQL 中:將交易安全性設定為 FULL。 如需詳細資訊,請參閱<變更資料庫鏡像工作階段中的異動安全性 (Transact-SQL)>
從工作階段中移除見證
如果鏡像工作階段牽涉到見證,我們建議您在執行輪流升級之前,最好先移除該見證。 否則,當升級鏡像伺服器執行個體時,資料庫可用性會相依於仍然連接至主體伺服器執行個體的見證。 當您移除見證之後,您可以在輪流升級期間的任何時候將它升級,避免發生資料庫停機的風險。
[!附註]
如需詳細資訊,請參閱<仲裁:見證如何影響資料庫可用性 (資料庫鏡像)>。
執行輪流升級
若要讓停機時間減至最少,我們建議您採取以下作法:在所有鏡像工作階段中更新目前為鏡像伺服器的任何鏡像夥伴伺服器,藉以開始輪流升級。 您在此時可能必須更新多個伺服器執行個體。
[!附註]
您可以在輪流升級程序的任何時間升級見證。 例如,如果伺服器執行個體在工作階段 1 為鏡像伺服器,而在工作階段 2 為見證,您可以立刻升級此伺服器執行個體。
要升級的伺服器執行個體首先取決於鏡像工作階段的目前組態,如下面所述:
如果有任何伺服器執行個體在所有鏡像工作階段中已經是鏡像伺服器,請將此伺服器執行個體升級為新的版本。
如果所有的伺服器執行個體目前在任何鏡像工作階段中為主體伺服器,請先選取一個伺服器執行個體來升級。 然後,手動容錯移轉它的每一個主體資料庫,並升級該伺服器執行個體。
在升級之後,伺服器執行個體會自動重新加入它的每一個鏡像工作階段。
對於剛剛升級鏡像伺服器執行個體的每一個鏡像工作階段,等候此工作階段同步處理。 然後,連接到主體伺服器執行個體,並手動容錯移轉工作階段。 在容錯移轉時,升級的伺服器執行個體會變成該工作階段的主體伺服器,而之前的主體伺服器會變成鏡像伺服器。
這個步驟的目標是要讓另一個伺服器執行個體在當做夥伴伺服器的每一個鏡像工作階段中變成鏡像伺服器。
在容錯移轉至升級的伺服器執行個體之後的限制
當您從 SQL Server 2005 或 SQL Server 2008 伺服器執行個體容錯移轉至 SQL Server 2012 伺服器執行個體之後,資料庫工作階段會暫停。 要等到其他夥伴伺服器升級之後,才會繼續此工作階段。 但是,主體伺服器仍然接受連接,並允許在主體資料庫上進行資料存取和修改。
[!附註]
建立新的鏡像工作階段需要所有的伺服器執行個體都執行相同的 SQL Server 版本。
在您容錯移轉之後,我們建議您在主體資料庫上執行 DBCC CHECKDB 命令。
如果有任何伺服器執行個體目前在當做夥伴伺服器的所有鏡像工作階段中為鏡像伺服器,請將它升級。 您在此時可能必須更新多部伺服器。
重要事項 在複雜鏡像組態中,某些伺服器執行個體在一或多個鏡像工作階段中可能仍然是原始的主體伺服器。 請針對這些伺服器執行個體重複步驟 2–4,直到相關的所有執行個體都已升級為止。
繼續鏡像工作階段。
[!附註]
要等到升級見證而且加回鏡像工作階段之後,自動容錯移轉才能運作。
如果有任何其餘的伺服器執行個體在所有鏡像工作階段中為見證,請將它升級。 在升級之後,見證會重新加入鏡像工作階段,而自動容錯移轉可再度運作。 您在此時可能必須更新多部伺服器。
讓工作階段回到高效能模式
您可以選擇使用下列其中一個方法來回到高效能模式:
在 SQL Server Management Studio 中:使用 [資料庫屬性] 對話方塊的鏡像頁面,將 [作業模式] 選項變更為 [高效能 (非同步)]。
在 Transact-SQL 中:使用 ALTER DATABASE 將交易安全性設定為 OFF。
若要將見證加回鏡像工作階段
您可以選擇在高安全性模式下,重新建立每一個鏡像工作階段的見證。
返回見證
請參閱
工作
檢視鏡像資料庫的狀態 (SQL Server Management Studio)
在鏡像資料庫停機時間最少的情況下於系統上安裝 Service Pack
在資料庫鏡像工作階段中強制服務 (Transact-SQL)
啟動資料庫鏡像監視器 (SQL Server Management Studio)
參考
ALTER DATABASE 資料庫鏡像 (Transact-SQL)