2013年8月22日

Windows Azure - SQL Server in VM的一些注意事項

因為在準備投影片,就想說,順便整理整理,提供給大家做一個參考。

在Azure服務裡面,最簡單的服務,大概就是vm吧,而託Azure的福,原本要跪求IT賜給我們一台測試機,現在我們也可以直接利用Azure的VM來進行測試了,而這邊,就列一下,SQL Server in VM的一些注意事項。

如下MSDN的截圖,我們要控制SQL Server有兩條入,一條是從上面的遠端桌面,這應該是最簡單不過了,另外一個就是利用SSMS工具。但如同下圖所示,如果要用SSMS,就會有很多紅色驚嘆號;是的,這些東西就是我們今天要告訴大家,要開啟的!!

( 當然,這內容和自己建立的vm沒甚麼兩樣,差異大概只差在,需要在Azure vm的端點那邊,開啟一下端點,另外,預設會開啟一個比較特殊的port,在SQL Server 2014的時候;port 11435是給SQL Server 2014部屬用的。因為這個東西算是很基本的設定,所以後面的說明,就不會列的很詳細了,請見諒。 )

存取 Windows Azure 虛擬機器中的 SQL Server

第一步 使用SQL Server驗證連接到SQL Server

是的,我們要先用遠端登入登入SQL Server機器,在利用SSMS連入SQL Server後,要把SQL Server和Windows驗證的混合模式打開。

image

接下來,我們要修改sa的密碼和登入權限,如下圖 ( 請注意,這邊為了解說方便,所以直接打開sa,但真實環境下,請建立新的帳號,並且開啟特定的權限。 )

image

設定完成後,記得要去SQL Server Configuration Manager重新啟動一下SQL Server。

image

接下來,我們可以用sa登入試試看。

image

確定可以登入後,我們就可以進入下一步,開啟TCP/IP。

第二步 開啟SQL Server的TCP/IP

說到這個,小弟超久超久以前,要連SSMS,一直連不上去,就是因為TCP/IP沒開啟,所以大家記得要開啟,小弟使用SQL Server 2014的樣板,預設是已經開啟了。

image

接下來,是要開啟vm上的防火牆。

第三步 開啟VM上的防火牆

SQL Server預設的Port是1433,所以如果要用SSMS連進來,就要開啟1433的Port ( 如果有要用其他服務,也別忘了要開啟。)

image

這邊填入1433。

image

後續就照著預設值就可以了。

image

如果有特別需求,這邊可以調整,但我想,通常應該不會改變連線才對。

image

然後輸入一個可識別的名稱。

image

完成之後就會如下圖,另外,如果眼尖的,會發現預設就有一個SQL Server Cloud Adapter。

image

他的Port是11435,主要是拿來在SQL Server 2014直接部屬到SQL Server in vm用的,因為小弟是用SQL Server 2014的樣板建立的vm,所以有出現這個,至於2012的樣板會不會有,小弟就不知道了,大家有興趣可以幫小弟試試看XDDD。

image

到這邊,vm上的設定通通都結束了,接下來要去Windows Azure裡面設定。

第四步 設定Windows Azure VM的端點

預設情況下,當我們啟用Windows Azure VM的時候,就可以先選擇要開的端點了,如下圖。

image

如果當時忘記開,也可以自己從這邊打開。

image

例如下圖,我們要把11435打開,那我們可以如下圖設定;公用連接埠表示的是對外的連接,也就是外面要用11111來連入這台Server,而私用連接埠是內部用的連接,也就是說外面從11111連進來,會對應到內部的11435;這邊建議用不同的Port,才能防止攻擊,另外,也強烈建議,把平常沒用到的端點刪掉,例如Remote Desktop的3389,沒事的時候,就把它刪掉,要用的時候在建立,這樣會安全很多。

image

到這邊,我們就結束了所有設定。

最終步 在Local使用ssms登入

最後,我們再用SSMS登入就可以了。

image

這樣就可以順利連上去了。

補充

如果今天Azure的端點不是設定為1433,設定為10000的話,可以在ssms裡的伺服器名稱後面加入小逗點,再加上port,如下圖。

image

這樣就可以簡單的指定Port了。

後記

其實對於DBA來說,這真的很簡單,但隨著Azure的發展,Developer也可以簡單的建立Azure上的vm拿來測試與支援,相信對於專職於寫Code的朋友們,可能就會四處碰壁了,所以這邊也提供了這些步驟,希望能讓Developer們,使用DB的時候,不會一開始就卡住~~

參考資料

沒有留言:

張貼留言