本文將介紹使用 SQL Server Management Studio 2012 將資料庫部署到 SQL Database。
【情境說明】
在上一篇筆者介紹透過 SQL Server Data Tools(簡稱 SSDT)將企業內的 SQL Server 資料庫透過反向工程轉成資料庫專案,再透過資料庫專案的部署功能發佈到 Windows Azure SQL Database,但這樣的做法有個壞處,就是資料無法同時部署到 SQL Database,但好處是您可以為您現有的資料庫物件產生相對應的 Script 檔,進而加入至版本控管工具當中進行版控,本文將介紹另外一個 SQL Server Management Studio 2012(以下簡稱 SSMS)來部署資料庫到 SQL Database 的方法。
【建立 SQL Database Server】
首先您必須要去申請 Windows Azure 訂閱,現在申請可以選擇使用三個月免費的訂閱服務,接著登入 Windows Azure 管理入口網站(畫面如下)。
於首頁中點選【SQL DATABASES > SERVERS > CREATE A SQL DTABASE SERVER】。
於【CREATE SERVE】步驟中輸入登入名稱(LOGIN NAME)、登入密碼(LOGIN PASSWORD)、確認登入密碼(LOGIN PASSWORD CONFIRMATION)、訂閱(SUBSCRIPTION)、資料區域(REGION),若您有其他 Windows Azure 服務要使用 SQL Database,建議勾選下圖 6 的【Allow Windows Azure services to access the server】,最後按打勾來建立 SQL Database Server。
記住您的 SQL Database 伺服器名稱,其完整的伺服器名稱應為【GUID.database.windows.net】,這會在您透過 SSMS 部署時會用到。
【設定 SQL Database 防火牆】
因為 SQL Database 預設不允許所有外部連接,因此您必須在建立好 SQL Database Server 之後,於首頁中點選【CONFIGURE】來建立防火牆規則。
於下圖 1 處您可以看到您電腦目前的對外 IP,您可以給一個防火牆規則的名稱(下圖 2 處),接著輸入下圖 3 和 4 的 IP 位址,用來設定允許連接 SQL Database 的 IP 範圍,最後按打勾即可建立防火牆規則。
【利用 SSMS 部署資料庫】
完成前置作業後,接著您就可以開啟 SSMS 2012,在物件總管視窗中點選【資料庫(本文以 Northwind為例)> 工作 > 將資料庫部署到 SQL Azure】。
於歡迎畫面中點選【下一步】。
請在部署設定的步驟中按【連接】來設定伺服器相關資訊。
如前面所說,完整伺服器名稱應為【GUID.database.windows.net】,驗證模式僅能選擇 SQL Server 驗證,輸入您在建立 SQL Database Server 的 LOGIN 名稱和密碼後按連接。
接著您可以設定部署到 SQL Database 後的資料庫名稱,為了有所區隔筆者將 Northwind 資料庫名稱給個新的名字為 NWCloud,另外您也可以依照您所要使用的資料庫規模來選擇 SQL Azure 版本,目前提供兩種版本可供選擇,分別是 Web 版最大資料庫大小為 1 G、 Business 版最大則為 10 G,輸入相關資訊後按下一步。
確認相關部署資訊無誤之後就可以按完成來開始部署作業。
若沒問題您將在部署過程當中看到一堆綠燈,以筆者的經驗來看,通常比較會遇到問題的是資料表沒有建立叢集索引而導致部署失敗,您可以在部署前至少先檢查索引,以利部署作業更加順利。
部署成功後您可以利用 SSMS 或是 SQL Database 的管理頁面來查看部署的結果。