Day 30 Azure - SQL Database 使用資料庫複寫功能來達到異地備援
前言
Azure Database預設就有自動備份的機制,而可以還原的天數,會受到資料庫設定的等級所限制,等級越高的資料庫,可以還原的天數(版本)就越多。
但是,有時候我們會想要將資料庫備援到不同的資料中心,或者是從其他國家讀取複寫的(唯讀)資料庫的需求。
今天,我們就要來介紹,如何將現有的資料庫複寫到其他地區(不同資料中心)。現在,我們馬上開始吧。
操作細節
1. 打開AZURE後台的SQL資料庫,並點選準備要複寫到其他資料中心的資料庫
2. 在資料庫的刀鋒視窗中找到設定的分類,接者點選『異地複寫』
3. 選擇要複寫資料庫的資料中心,本範例中為『東亞』
4. 接者點選『目標伺服器』
5. 由於我們在東亞的資料中心,並沒有建置SQL Server,所以我們馬上在東亞建立一個,設定好相關資料後,按下『選取』
6. 回到建立次要的刀鋒視窗中,發現剛剛建立的SQL Server已經被自動帶入,接者我們點選『確定』
7. 等待部屬完成,連線會從虛線轉為實線
8. 回到SQL資料庫的視窗中,發現資料庫已經多了一個,是剛剛我們建立在東亞的資料庫
9. 我們開啟SSMS連接剛剛建立好的東亞資料庫,這邊要注意的是,複寫出去的資料庫都是唯讀,防火牆一樣要做設定,讀者可以參考Day26的文章來做設定
10. 現在模擬日東的資料中心的資料庫有問題,我們要緊急轉換到東亞的資料中心。首先我們打開日東資料庫的異地複寫視窗,接者在『...』的功能選單中按下滑鼠左鍵並點選『停止複寫』
11. 會跳出提示視窗,複寫功能即將停止,而原本的東亞唯讀資料庫,就會變成可以讀寫的獨立資料庫,我們點選『是』
12. 此時回到『SQL 資料庫』的視窗中,看到兩個資料庫複寫角色都是『無』,此時兩個資料庫已是各自獨立的資料庫
13. 我們開啟SSMS連接位於東亞的資料庫,並實際刪除一筆資料來做測試,發現已可刪除
14. 接續步驟10,我們也可以採用另外一種作法,這邊將以主要為日東,次要為日西做為示範,首先打開日東資料庫的異地複寫視窗,然後點選『...』功能選單,按下『容錯移轉』
15. 一樣會跳出提示視窗,告知目前的主要資料庫(日東),將會與次要資料庫(日西),兩個做角色互換的動作,那原本的日東主要資料庫就會變成次要的唯讀資料庫。接者我們點選『是』
16. 一樣等待地圖中的線條為虛線,等待線條變成實線,代表已經完整角色轉換了
17. 等待轉換完成,我們開啟SSMS連回原本的日東主要資料庫(現在為次要),並測試刪除一筆資料,發現已經無法刪除
總結
今天的文章裡我們介紹了如何將現有的SQL 資料庫,複寫到其他地區的資料中心,而複寫出去的角色為主要(日東),而位於其他地區被複寫的資料庫為次要(東亞),
並且被複寫的資料庫是唯讀。這邊要注意的是主資料庫,複寫到其他的次要資料庫,等於是多建立了一個資料庫,成本的部分也會增加。
今天也示範了,如果資料中心有異常的話,要如何緊急轉移到其他地區,做一個模擬的演練測試,並提供了兩種轉移的作法,
讀者們可以依照需求來做使用。此外,要特別注意,主要資料庫的轉移過程中,防火牆的相關設定,要再次地做確認,而轉移後,
原本的連線字串也必須做對應的修改。 以上是今天的介紹,感謝您的觀看。