Step by Step 使用 Azure SQL Managed Instance
在前一篇 [Azure][SQL]建立 Azure SQL Managed Instance 中,我們先透過 Azure Portal 來建立我們所要測試的 Managed Instance,雖然需要花上不少的時間等待,而整個過程只是建立好一個可以使用的 Instance 起來,實際上我們還需要去建立資料庫才能來使用,因此這裡我們就來弄個環境使用 SSMS 來建立資料庫囉。
等等,在這裡大家是否會覺得有點奇怪,為什麼我前面說要弄個環境呢 ? 因為當我們使用 Managed Instance 的時候,實際上 Azure 是幫我們建立一個在 Virtual Network 下的一個 Windows VM,然後幫我們把 SQL Server 給安裝起來,但那個環境上的 OS 是我們無法登入,我們只能利用 SSMS 從遠端連線到 Instance 來進行維護。但如果要從您自己的電腦來連接,是可以透過建立 Point to Site 的 VPN 進行連線,但每次你在不同電腦的時候就要想辦法在那個環境上設定,因此在這裡我是在 Azure 上面安裝一個在同一個虛擬網路下專門的 VM ,然後在上面安裝 SSMS,這樣就可以用那個 SSMS 來做管理了。
所以,我就在 Azure Portal 上,選擇在前面建立 Managed Instance 時,所幫我們建立的虛擬網路,選擇「子網路」,在這裡可以看到已經有一個名稱為 ManagedInstance 的子網路,那個我們不去動它,而是選擇上方的「+子網路」,來建立一個新的子網路,讓我們後續建立 VM 的時候可以來使用。
按下之後我們就可以按照您的需要來命名了,因為這個後續我要拿來放一些 ERP 的 Server ,因此這裡我先取名為 ERPNet,其他我就先不做設定。
預備好前置動作後,我們就可以來建立我們要做管理用的 VM,基本上這個環境要用哪個版本的 Windows ,就看您自己的偏好了,只是要記得要特別在網路的部分,要選擇前面步驟所建立的子網路,否則一旦建立之後,就不能再做調整了,只能把 VM 打掉重來了。
而建立好之後,接著再到網站上下載 SSMS 來使用,這裡我先使用 17.9 的版本,然後到 Azure Portal 上面去找出來我們要連接的 Instance 名稱
然後就用 SSMS 來連接,看起來還蠻順利的,但從下面所顯示的版本資訊看起來,似乎有點怪怪的。12.0.2000.8 的版本編號,看起來似乎是 SQL Server 2014 的版本,但在這個時間弄出來,就算不是 SQL Server 2019 的版本,也應該是 2016 or 2017 的版本才對啊,怎麼會是這樣的號碼呢 ?
因此我決定看一下 SQL Server 記錄檔,到底是真的是比較舊的版本,還是我的眼睛業障重所以才看錯了。
當我打開 SQL Server Error Log 來看,從 Log 中我們可以先看到兩個重要的資訊
1. 這個 SQL Server 目前是安裝在 Windows Server 2016 Datacenter 版本的 VM ,並不是在一個專門的實體環境上,而 SQL Server 的版本號碼上看起來應該是 SQL Server 2019 讀 CTP 版本,而非在 SSMS 上看到的版本號碼。
2. 這個 SQL Server 在啟動參數中,看起來下了非常多的參數,且這些幾乎都是 undocument 的參數 ( 公開的參數可參考 DBCC TRACEON - 追蹤旗標 (Transact-SQL) );且還有一些 -x 的啟動參數,看來也強制關閉掉一些功能不允許使用
透過前面相關的步驟,讓我對 Managed Instance 有點初步的認識,因此就想說來建立個資料庫測試看看,看起來在目前這個版本,資料庫相容層級可以從 2008-2017 ,應該對一般使用都沒有問題才對
但當我按下確定之後,確得到以下的錯誤訊息,想說會不會是 SSMS 17.9 的版本沒有支援,因此決定換個版本來試試看。
目前最新的版本是 SSMS 18 Preview 4 的版本,雖然文件上沒有特別說明,但看起來應該是專門針對 SQL Server 2019 所設計的,而 Managed Instance 也是 SQL Server 2019 CTP 的版本,或許在支援度上應該會比較好一點吧。果然當我們按照之前同樣的步驟去建立資料庫,果然使用 SSMS 18 的版本就可以順利建立了。
而我們回到 Azure Portal 上面,也可以看到我們剛剛所建立的資料庫出現了,此時我們可以在點擊進去
就會看到資料庫的一些設定,在這裡看起來能使用的功能比 Azure SQL Database 來說相對少很多,但看起來建立的資料庫也自動進入到受管理的備份,如果有需要的話,那我們也可以在 Azure Portal 上針對某個資料庫還原到某個時間點上面去了
寫到這裡,大家應該就可以來使用 Managed Instance 了,後續幾篇我們會再來針對 Managed Instance 上面,如何來進行備份還原 以及 Web App 連接使用的一些處理,再來做說明囉。