Azure SQL Database V12 管理實戰

本文大綱如下:

說明

準備工作

建立 SQL Database 伺服器及資料庫

將 SQL Database 伺服器升級至最新版本

使用 SQL Server 2014 Management Studio 管理 SQL Database

使用 Visual Studio 2013 管理 SQL Database

參考資料


說明

Microsoft Azure 近期推出 SQL Database Update V12 預覽功能,強調使用者可以在 Azure 平台上使用幾近於本地端部署 SQL Server 的功能與使用者體驗,可以說是拉近雲端和地端使用 SQL Server 的使用經驗。

所謂的 V12 和 SQL Server 2014 的版本編號 12.0 相同,可以猜想 SQL Database V12 是以 SQL Server 2014 為核心的新版本,您可以將現有的 SQL Database 伺服器升級至 V12,或是在建立新的伺服器時,勾選使用啟用最新的 SQL Database Update (V12),就可以使用最新版本的 SQL Database。

下列為 SQL Database V12 的著重在下列幾點[1]

1. 更容易管理大型資料庫(Easier management of large databases)

支援更大量的工作負載,包含高階服務層支援平行查詢、資料表分割、線上索引維護、移除超過 2 GB 重建索引的限制,以及支援 alter database 命令等。

2. 支援關鍵可程式性功能(Support for key programmability functions)

支援提供應用程式設計更健全的 CLR、T-SQL 視窗函數、XML 索引以及變更追蹤。

3. 效能提升 100 倍(Up to 100x performance improvements)

針對資料超市(data mart)和小型分析工作負載,Premium 服務層支援記憶體中的資料行存放區索引(In-Memory Columnstore Index)查詢。

4. 改善監控和故障排除(Improved monitoring and troubleshooting)

在擴充事件與 DMV 的集合當中增加超過 100 個新的檢視,幫助 DBA 監控 SQL Database 的效能,並在故障發生時能夠有效地進行問題排除。

5. 新 S3 效能層級(New S3 performance level)

標準和高階服務層提供更多價格彈性,其中 S3 服務層級提供 100 DTU 的效能水準以及完整 Azure SQL Database 功能。標準服務層收費標準為 $0.2016 / 小時,預覽期間半價優惠 $0.1008 / 小時。

有關 Azure SQL Database Update V12 預覽功能詳細內容,請見參考資料的 What's new in the Latest SQL Database Update V12 (preview) [2]

另外,SQL Server 2014 累積更新 5(CU5)[6] 除了修復之前在 SQL Server 2014 Management Studio 使用物件總管連接資料庫時會出現下圖的錯誤訊息外,更重要的是增加支援 Azure SQL Database Update V12 預覽的功能。

雖然 SQL Server 2014 CU5 修正了上述問題,但卻出現另外一個在嘗試在物件總管中瀏覽 SQL Database 時的錯誤(如下圖)。

此時您必須要安裝 SQL Server 2014 CU6 [7] 才能解決出現 dbo_slo_database_objectives 物件找不到的錯誤。

接下來筆者就帶您了解如何使用 DBA 或開發人員早已熟悉的工具來管理 Azure SQL Database。

準備工作

您必須先安裝SQL Server 2014 CU6,安裝完成之後請檢查SQL Server 2014 Management Studio的版本編號是否為12.0.2480.0。

建立 SQL Database 伺服器及資料庫

假設您尚未建立任何 SQL Database 伺服器,請先登入 Azure 管理入口網站,接著點選【新增 > 資料服務 > SQL 資料庫 > 自訂建立】。

輸入 SQL Database 的名稱,選擇使用的服務層、效能等級和資料庫所要使用的定序,在伺服器的部份保留預設的【新的資料庫伺服器】,讓精靈引導您建立 SQL Database 伺服器。

在建立伺服器的步驟當中,除了輸入系統管理員的登入名稱和密碼外,地區的部分決定是否可以勾選下方的【啟用最新的 SQL DATABASE UPDATE V12】,設定完畢之後按完成即可開始建立 SQL Database 伺服器及資料庫。

有關 SQL Database V12 GA 版本所支援的地區請見參考資料 [12]

另外您也可以在預覽版 Azure 入口網站建立 SQL Database 伺服器,請於預覽版管理入口網站點選【新增 > 資料 + 儲存體 > SQL Database】。

輸入所要建立的 SQL Database 名稱,接著點選伺服器區塊來建立新的 SQL Database 伺服器,在預覽版 Azure 入口網站可以自定伺服器名稱,和在 Azure 入口網站中 SQL Database 名稱是 Azure 自行產生的不一樣外,其餘的設定都差不多。

另一個預覽版 Azure 入口網站才支援的功能是所要建立的 SQL Database 除了空白資料庫之外,也可以直接套用範例資料庫,或是從特定時間點甚至已刪除的資料庫當中來建立資料庫。

而定序的部分,除了空白資料庫可以選擇所要使用的定序,以範例或備份方式建立 SQL Database 時,將直接套用原始的定序而無法修改。

最後是確定使用的資源群組、價格區間和訂用帳戶後就可以按建立來新增 SQL Database 及伺服器。

小技巧:若您有多個 Azure 訂用帳戶,最好一開始就選定好 SQL Database 要建立在哪個訂用帳戶,否則一旦設定好伺服器名稱、資料庫來源及定序後,再變更訂用帳戶時,這些設定會被恢復到預設值。

將 SQL Database 伺服器升級至最新版本

假設您已經有 SQL Database 伺服器,可以在預覽版 Azure 入口網站瀏覽至該伺服器,於伺服器刀鋒視窗中點選最新版更新,選擇升級這部伺服器後,輸入要升級的伺服器名稱作為確認後就可以升級到 V12 版本。

升級需要一段時間,等到升級成功後回來查看最新版更新的刀鋒視窗就會呈現為已啟用。

使用 SQL Server 2014 Management Studio 管理 SQL Database

當 SQL Database 伺服器尚未升級到 V12 前,可以在 Azure 管理入口網站,於要管理的資料庫下方點選管理。

就可以使用瀏覽器來管理 SQL Database。

但是當 SQL Database 伺服器升級到 V12,就看不到管理的這個圖示,必須改用其他工具來管理資料庫,例如接下來所要介紹的 SQL Server 2014 Management Studio 或 Visual Studio 2013,這些都是 DBA 或是開發人員早已熟悉的工具,意味著您不太需要學習新的工具,就可以管理遠在雲端上的 SQL Database,而且使用者體驗上也跟過去管理 SQL Server 相似。

要管理最新版 SQL Database 可以使用 SQL Server 2014 Management Studio,下圖在物件總管(Object Explorer)已經連接兩台 SQL Database 伺服器,由版本編號可以看出上方是最新版的資料庫,下方則是未升級前的伺服器。

資料庫屬性

不論在新版或舊版伺服器上的資料庫節點按滑鼠右鍵選擇屬性(Properties)都可以開啟資料庫的屬性視窗,就像使用內部部署的 SQL Server 一樣。

在屬性視窗可以看到相容性層級(Compatibility level)為 SQL Server 2014(120),若需要修改 SQL Database 服務層、版本以及資料庫大小的限制,不需要開啟 Azure 入口網站,直接在 SSMS 就可以調整。

此外,和您在管理內部部署的 SQL Server 稍微不太一樣的是,大部分 SQL Database 的資料庫屬性被 Disable 而無法修改,只剩下 Recursive Trigger Enabled 以及 Database Read-Only 可以調整,要變更這些屬性一樣只需從資料庫屬性對話視窗中調整後按 OK 即可完成。

而 SQL Database V12 也支援變更追蹤(Change Tracking),一樣也可以透過 SSMS 來設定變更追蹤的啟用、保留週期、保留週期單位及自動清除等選項。

若是在舊版的 SQL Database 上查看資料庫屬性,顯示的相容性層級為 SQL Server 2008(100),而且變更追蹤的選項並不會出現,因為這個版本的伺服器不支援該功能。

資料表設計師

過去在 SQL Database 上建立或修改資料表結構並不支援資料表設計師,就算你在 SSMS 選擇建立資料表,產生的是一堆 CREATE TABLE 的 T-SQL 敘述,而不是過去在 SQL Server 裡所熟悉的資料表設計師。

當您使用 SSMS 2014連 接 SQL Database V12,可以看到熟悉的資料表設計工具回來了,終於又可以不用記 T-SQL 指令碼就可建立或修改資料表結構。

選取前 N 個資料列和編輯前 N 個資料列

不論 SQL Database 伺服器的版本為何,現在在物件總管(Object Explorer)裡,所要選取或編輯的資料表節點上按滑鼠右鍵,選擇【選取前 1000 個資料列】或【編輯前 200 個資料列】。

若想要調整選取或編輯的資料列數量,依然可以點選【工具 > 選項】,來修改物件總管的屬性。

資料表屬性

除了已經支援資料庫屬性對話視窗外,現在也可以在資料表上按滑鼠右鍵來開啟資料表屬性視窗。

但在不同版本的 SQL Database 伺服器所呈現的資料表對話視窗依然會有些許的差異,舊版的 SQL Database 伺服器的資料表屬性對話視窗如下圖所示。

新版 SQL Database 伺服器的資料表屬性對話視窗,則多出了 Change Tracking 和 Extended Properties。

擴充可程式性所支援的功能

物件瀏覽器原本就支援的預存程序、函數、資料庫觸發程序和類型外,當使 用SSMS 2014 連接到新版伺服器,還可以看到組件(Assemblies)、規則(Rules)、預設值(Default)、計畫指南(Plan Guides)和順序(Sequence)資料庫物件。

建立順序物件時和在 SQL Server 中一樣,可以有對話視窗來協助您完成。

預存程序和函數

下圖為舊版 SQL Database 伺服器在物件總管中預存程序和函數物件上按滑鼠右鍵所看到的內容選單。

現在只要是使用新版的伺服器,就可以直接在物件總管裡執行或修改預存程序。

或是修改函數。

其他

除了上述所提的功能擴充外,還增加 Open In Management Portal 選項,可以用來直接開啟 Azure 入口網站並導向 SQL Database 的頁面。

除此之外,物件總管尚支援彙總函數、應用程式角色、儲存、使用者定義物件類型以及 XML 結構描述等物件。

使用 Visual Studio 2013 管理 SQL Database

使用 Visual Studio 2013(Update 4 以上)搭配 SSDT(SQL Server Database Tools)也可以幫助開發人員管理 SQL Database 上的各項資料庫物件,只要在 Azure 管理入口網站,在 SQL Database 頁面下點選【在 Visual Studio 中開啟】。

或是在預覽版 Azure 入口網站 SQL Database 刀鋒視窗上點選【在 Visual Studio 中開啟】。

都會啟動本機的 Visual Studio 2013,並透過 SQL Server 物件總管連上 SQL Database。

基本上使用 Visual Studio 2013 管理 SQL Database 和使用 SSMS 2014 相當類似,習慣用 Visual Studio 的開發人員,甚至可以完全不用離開 Visual Studio 就完成程式開發和資料庫開發的事情。

參考資料

1. Preview Available for Latest Version of Azure SQL Database

2. What's new in the Latest SQL Database Update V12 (preview)

3. SQL Server 2014 Management Studio - updated support for the latest Azure SQL Database Update V12 (preview)

4. Azure SQL Database Service Tiers and Performance Levels

5. Plan and prepare to upgrade to the Latest SQL Database Update V12 (preview)

6. Cumulative update package 5 for SQL Server 2014

7. Cumulative Update #6 for SQL Server 2014 RTM

8. Not a “me-too announcement” blog on Azure SQL Database V12 preview

9. Azure SQL Database: V12 Performance Tests – Significant Performance Increase

10. SQL Database Pricing

11. Azure SQL Database NextGen Release Preview

12. Azure SQL Database V12 GA 版本正式在亞洲地區提供服務