如何將 SQL Database 伺服器移轉至不同的訂用帳戶

本文將介紹如何將 SQL Database 伺服器移轉至不同的訂用帳戶。

情境說明

假設您使用的 Windows Azure 訂用帳戶即將到期,需要將已經建立好的 SQL Database 伺服器移轉至非試用的訂用帳戶,或是您在測試用的訂用帳戶中建立 SQL Database,正式上線之後要移轉到 Production 環境所使用的訂用帳戶,應該怎麼做?

實作步驟

目前新版的 Windows Azure 管理入口網站尚無提供移動 SQL Database 伺服器的功能,因此您必須先切換回舊的管理入口網站(如下圖)。

image

於舊版的管理入口網站中點選【資料庫】來切換至 SQL Database 頁面,接著筆者示範將下圖 2 訂用帳戶的 SQL Database 伺服器移動至下圖 3 的訂用帳戶。

image

並利用下列一主控台應用程式來測試移轉伺服器時是否會發生斷線,程式碼如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

	
namespace Demo2
{
    class Program
    {
        static void Main(string[] args)
        {
            using (NorthwindEntities context = new NorthwindEntities())
            {  
                int i = 0,count = context.Customers.Count();
                while (i < count)
                {
                    Console.WriteLine(string.Format("{0},{1}", (i+1).ToString(), GetCustomerID(1, i)));
                    i+=1;
                    if (i == count) i = 0;
                }
                
            }
            Console.ReadKey();
        }

	
        static string GetCustomerID(int TakeCount, int SkipCount)
        {
            using (NorthwindEntities context = new NorthwindEntities())
            {
                return context.Customers.OrderBy(o => o.CustomerID).Skip(SkipCount).Take(TakeCount).First().CustomerID;
            }
        }
    }
}

筆者故意利用無限迴圈來不斷向原始 SQL Database 伺服器進行查詢,用來確認在移轉過程當中是否會斷線,執行結果如下:

image

接著點選您要移動的 SQL Database 伺服器,再按【移動伺服器】。

image

選擇您要將 SQL Database 伺服器移動到哪個訂用帳戶,然後按確定。

image

由下圖可以看到已經順利將 SQL Database 伺服器移轉到另一個訂用帳戶,且經過過程當中不會造成任何中斷,移轉後該 SQL Database 伺服器會在原本的區域及資料中心繼續提供服務,但帳單費用會算在目標訂用帳戶身上。

image

參考資料

- The Beauty of Moving SQL Azure Servers between Subscriptions

- Subscriptions - Data Sync Group Require to Move ?

- The Beauty of Moving SQL Azure Servers between Subscriptions