西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁西西教程數(shù)據(jù)庫教程 → win server 2008 R2升級到windows 2012如何遷移Alwayson AG

win server 2008 R2升級到windows 2012如何遷移Alwayson AG

相關軟件相關文章發(fā)表評論 來源:西西整理時間:2014/8/26 10:27:08字體大。A-A+

作者:西西點擊:33次評論:0次標簽: 2008R2

  • 類型:瀏覽器類大小:41.7M語言:中文 評分:1.6
  • 標簽:
立即下載

Windows cluster要求同一個cluster中的所有windows版本都是相同的,這樣就出現(xiàn)一個問題,當我們要將對windows進行升級時,(例如從windows 2008 R2升級到windows 2012)不得不搭建一套新的windows cluster。你可以選擇使用新的硬件搭建,或者將現(xiàn)有windows cluster中的節(jié)點一臺一臺的evict掉,重裝/升級系統(tǒng)后加入到新的windows cluster中。具體的cluster升級方案我就不在這里討論。馬上進入主題:

SQL Server AlwaysOn Availability Group (后文簡稱為AG) 的一個要求是:所有的replica都要求隸屬于同一個windows cluster。

所以當我們對windows cluster進行升級時,無法在新的windows cluster和現(xiàn)有的windows cluster之間建立AG。那么在遷移過程中會有一段時間內(nèi)AG無法對外提供服務。

數(shù)據(jù)庫的角度上說,我們需要做下面的事情

接下來停止應用并刪除cluster1中的Listener,確保沒有外界來接使用SQL SERVER.

Backup database

Backup tail log

將備份文件copy到新的服務器

Restore 到各個服務器

然后重新建立AG

創(chuàng)建Listener

重啟應用

我們需要將數(shù)據(jù)庫備份并還原到新的primary replica和secondary replica。 相應的downtime時間就是1+2+3+4+5+6+7+8想要的時間。 或許你想到了在新舊cluster之間創(chuàng)建一個mirroring,但遺憾的是,創(chuàng)建了AG的數(shù)據(jù)庫是不再允許創(chuàng)建mirroring的.

那應當如何進行遷移呢?從SQL Server 2012 SP1 開始,允許在兩套不同的windows cluster之間創(chuàng)建AG。下面用一個例子說明一下

有一個三個節(jié)點的windows cluster, windows版本為Windows 2008 R2

Domain:liweiyin3.lab

Cluster name: cluster1

Server002

Server003

Server004

Listener name: Listener1

三個節(jié)點上裝有SQL Server 2012 SP1的standalone實例。均為默認實例。

之間建立了AG.拓撲圖如下:

現(xiàn)在創(chuàng)建一套兩個節(jié)點的windows 2012的windows cluster

Domain:liweiyin3.lab

Cluster name: cluster2

Server005

Server006

對cluster1上的AG數(shù)據(jù)庫進行備份,包含full database backup和log backup兩個cluster中間創(chuàng)建AG:

將第一步得到的文件在cluster2的節(jié)點上進行還原,指定為with norecovery.

接下來在cluster2的三個數(shù)據(jù)庫上執(zhí)行下面的語句

ALTER SERVER CONFIGURATION SET HADR CLUSTER CONTEXT='cluster1.liweiyin3.lab'

這條語句執(zhí)行完畢后,這臺數(shù)據(jù)庫的cluster context就會切換為cluster1了。這個結果可以從下面的DMV中檢查到

select cluster_name from sys.dm_hadr_cluster

接下就可以在cluster1和cluster2之間建立AG。我們可以使用UI或者T-SQL語句。

需要注意的是,請將cluster2中的至少一個SQL Server的同步模式設置為Synchronous commit,以保證遷移是沒有數(shù)據(jù)損失的。

這樣,我們就建立了一套既包含win 2008R2,也包含win 2012的AG環(huán)境了。并且也可以正常地向外界提供服務,整個流程不需要downtime.

但需要注意的是,這種情況下是不允許在兩個cluster之間進行failover的。相應的提示信息如下

An attempt to fail over or create an availability group failed. This operation is not supported when AlwaysOn Availability Groups is running under a remote Windows Server Failover Clustering (WSFC) cluster context. Under a remote cluster context, failing over or creating availability groups are not supported.

接下來停止應用并刪除cluster1中的Listener,確保沒有外界來接使用SQL SERVER

在Cluster1將AG進行offline操作

ALTER AVAILABILITY GROUP dbName offline

將cluster2中所有sql server的CLUSTER CONTEXT切換回來

ALTER SERVER CONFIGURATION SET HADR CLUSTER CONTEXT=local

在cluster2中重新創(chuàng)建AG

在cluster2中創(chuàng)建新的listener

重啟應用

這樣所涉及的downtime就是5+6+7+8+9+10

和之前的解決方案相比,省去了backup,文件copy和restore的時間。其余的操作都是句操作,很大程度地減少了downtime。

更多信息

===

遷移之前,Cluster2中的sql server不允許創(chuàng)建任何AG。

遷移之前需要授予cluster2中的sql server啟動賬號訪問cluster1注冊表的權限

Change the HADR Cluster Context of Server Instance (SQL Server)

    相關評論

    閱讀本文后您有什么感想? 已有人給出評價!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    發(fā)表評論 查看所有評論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字數(shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)