iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 8
0
Microsoft Azure

Azure 的自我修煉系列 第 8

Day08 Azure SQL 服務

Azure SQL 服務

系統資料庫是系統重要的一環,本章節來介紹如何在Azure平台上建立一個SQL服務
會包含 Service 與 Database 兩個部分,如果要詳細暸解Azure SQL可以查看
Azure SQL 官方介紹
Azure SQL 官方指令文件

Azure SQL 有三種定價方式
SQL Server Enterprise 虛擬機器定價

透過 Linux、Windows Server、SQL Server、Oracle、IBM 與 SAP 等支援,Azure 虛擬機器可以讓您靈活地將範圍廣泛的計算解決方案虛擬化。目前產生的虛擬機器,包含負載平衡與自動調整大小皆為免費。為獲得最佳效能,建議您搭配使用虛擬機器與受控磁碟。標準輸出費用適用。

Azure SQL Database 定價

Azure SQL Database 是 Azure SQL 家族的 SQL 資料庫服務之一,是專為雲端所建置的可調整式智慧型資料庫服務,並具備 AI 支援功能,可維持尖峰效能和持久性。透過可自動調整的無伺服器計算和超大規模資料庫儲存體資源將成本最佳化,而不需擔心資源管理。

Azure SQL 受控執行個體定價

Azure SQL 受控執行個體是 Azure SQL 家族中的 SQL 資料庫服務之一,結合了最廣泛的 SQL Server 引擎相容性,以及所有完全受控和常保最新狀態的平台即服務優點。有了 SQL 受控執行個體,您就可以放心大規模地將現有的應用程式現代化,並實現高達 238% 的投資報酬率。1

看完以上三種還是不太懂要選哪一種,
沒關係!Azure SQL 官方介紹還有提供問答方是幫你推薦
問題一: 您希望達到什麼目標?
https://ithelp.ithome.com.tw/upload/images/20200905/20072651UcAQ80NTMG.png
問題二: 您會如何描述預期的計算資源使用量特性?
https://ithelp.ithome.com.tw/upload/images/20200905/20072651J7zImjalyo.png
建議: Azure SQL Database 無伺服器
https://ithelp.ithome.com.tw/upload/images/20200905/20072651dGeIe1sanQ.png

在問題二如果你選擇"可預測且很高的使用率"
https://ithelp.ithome.com.tw/upload/images/20200905/20072651I8JMegLqYT.png
問題三: 您需要多少儲存空間?
https://ithelp.ithome.com.tw/upload/images/20200905/20072651EAQLK7EAdB.png
建議: Azure SQL Database 的一般用途或商務關鍵性層級
https://ithelp.ithome.com.tw/upload/images/20200907/20072651kviLiIbKrp.png

希望可以對你的選擇有點幫助XD。

SQL Server

Azure SQL Server 有兩準部署方式,第一種是傳統的受控執行個體,就是給你一個VM上面安裝SQL Server 給你使用,另外一種是伺服器是一種邏輯結構,可作為資料庫集合的中央管理點,預設是使用第二種。
Azure Sql Server 官方指令說明

查看 sql server 的指令說明

az sql server -h

https://ithelp.ithome.com.tw/upload/images/20200905/20072651y79DLhLmfb.png

查看 創建 sql server 指令需要輸入哪一些參數

az sql server create -h

https://ithelp.ithome.com.tw/upload/images/20200905/2007265118yhe7vFsN.png
https://ithelp.ithome.com.tw/upload/images/20200905/20072651KoJUlNi1GE.png

依據範例我們可以自行修改參數,來創建我們的SQL主機
位於: eastasia
資源群組: ithome
主機名稱: pellokSqlServer
SQL帳號: sqladmin(自己定義)
SQL密碼: password(自己定義)

az sql server create -l eastasia -g ithome -n pellokSqlServer -u sqladmin -p password

https://ithelp.ithome.com.tw/upload/images/20200905/20072651yGbC374Z02.png

查看我們的SQL主機

# 顯示列表
az sql server list
# 顯示單筆
az sql server show -g ithome -n pellokSqlServer

SQL Database

有了主機之後,再來就是要創建資料庫
SQL Database 官方指令說明

查看 sql db 指令說明

az sql db -h

https://ithelp.ithome.com.tw/upload/images/20200905/20072651ecMiazCaib.png

查看 創建 sql db 的指令說明

az sql db create -h

https://ithelp.ithome.com.tw/upload/images/20200905/20072651uAwWXKPVrM.png
https://ithelp.ithome.com.tw/upload/images/20200905/20072651wNhkfvf7vP.png
https://ithelp.ithome.com.tw/upload/images/20200905/20072651Yg0qr6aRg7.png

依據上面的說明,主要可以看到有三種DB效能等級,
可以依據範例再深入理解其中的參數:
Performance Level (components) Arguments
Performance Level Arguments
Serverless offering Arguments

創建一個 標準 Free Database (修改第一個範例)
資源群組: ithome
主機名稱: pellokSqlServer
資料庫名稱: pellokSqldb
服務目標: Free(說明上沒有,但是發現其實有一個免費的可以用)

az sql db create -g ithome -s pellokSqlServer -n pellokSqldb --service-objective Free

https://ithelp.ithome.com.tw/upload/images/20200905/20072651ak4S9nj7bj.png

顯示連線的字串,連結字串替換掉和就可以放到程式裡面測了
主機名稱: pellokSqlServer
資料庫名稱: pellokSqldb
連線格式: ado.net

az sql db show-connection-string -s pellokSqlServer -n pellokSqldb -c ado.net
"Server=tcp:pellokSqlServer.database.windows.net,1433;Database=pellokSqldb;User ID=<username>;Password=<password>;Encrypt=true;Connection Timeout=30;"

Azure網頁也有簡易的查詢編輯器可以使用,大家可以參考一下這篇教學
快速入門:使用 Azure 入口網站的查詢編輯器來查詢 Azure SQL Database

設定伺服器防火牆

設定 IP 可以登入 pellokSqldb,預設是不對外開放

az sql server firewall-rule create -g ithome -s pellokSqlServer -n pellokSqldb --start-ip-address <Public IP 自行設定> --end-ip-address <Public IP 自行設定>

設定 允許 Azure 服務和資源存取此伺服器

az sql server firewall-rule create -g ithome -s pellokSqlServer -n pellokSqldb AllowAzureIps --start-ip-address 0.0.0.0 --end-ip-address 0.0.0.0

刪除SQL DB

az sql db delete -g ithome -n pellokSqldb  -s pellokSqlServer

刪除 SQL Server

az sql server delete -g ithome -n pellokSqlServer

相關連結:

上一篇 Day07 WebApp服務-原始碼部署
下一篇 Day09 實作官網 ASP.NET Core 教學(一)


上一篇
Day07 WebApp服務-原始碼部署
下一篇
Day09 實作官網 ASP.NET Core 教學(一)
系列文
Azure 的自我修煉30

尚未有邦友留言

立即登入留言