DP-300 Azure 資料庫管理員 — 第一天課程筆記
DBA 這個角色,在現在的企業裡已經不是只管資料庫了。精簡人力之後,你可能同時要兼資料工程師、分析師,搞不好連 BI 都要你碰。DP-300 就是在這個背景下設計的——它不從零教你 SQL,而是假設你有基礎,直接教你怎麼在 Azure 上管理資料庫。
SQL Server 不只是一顆引擎
很多人對 SQL Server 的印象還停留在「資料庫」,但從 2008 版開始它就不是了。現在的 SQL Server 是一個完整的資料平台,裡面包了四大服務:
| 服務 | 縮寫 | 功能 | 雲端對應 |
|---|---|---|---|
| Database Engine | SSDE | 核心資料庫引擎 | Azure SQL |
| Integration Services | SSIS | ETL 資料整合 | Azure Data Factory |
| Analysis Services | SSAS | 資料分析(BI) | Power BI |
| Reporting Services | SSRS | 報表服務 | Power BI |
新版還內建了 Machine Learning Services,可以直接對資料庫的資料跑機器學習。版本一路從 7.0 → 2000 → 2005(引擎大改版)→ 2008(平台化轉型)一路到現在的 2025。
精通 SQL Server 有個好處:轉其他資料庫產品的門檻會低很多。底層概念是通的。
PaaS 先行,IaaS 是備案
部署 Azure 上的 SQL Server 有兩條路:
Azure SQL Database(PaaS):完全託管,技術門檻低,Azure 幫你處理 patch、備份、HA 那些。考試預設答案。
Azure VM 上自己裝(IaaS):可控性最高,但你也要自己管所有東西。只有當 PaaS 滿足不了需求的時候才考慮。
考試遇到「該選什麼部署方式」的題目,先選 PaaS。只有題目明確提到需要完全控制作業系統、或是用了 PaaS 不支援的功能,才轉 IaaS。
IaC 部署
雲端 DBA 一定要會 Infrastructure as Code。三種方式:
| 方式 | 類型 | 特點 |
|---|---|---|
| ARM Template(JSON) | 聲明式 | 面向結果,自動化程度高,但 JSON 手寫很痛苦 |
| Bicep | 聲明式(高階) | 簡化版 ARM,寫起來舒服多了,可以自動轉 JSON |
| Azure CLI / PowerShell | 命令式 | 面向過程,可控制細節,但結果不可預測 |
講師建議優先學 Bicep。ARM Template 的 JSON 寫到你會懷疑人生。
五種 Azure 儲存類型
| 類型 | 本地對應 | AWS 對應 | 說明 |
|---|---|---|---|
| Azure Files | NAS | EFS | 檔案共享 |
| Blob Storage | 物件儲存 | S3 | 非結構化資料 |
| Managed Disk | SAN | EBS | VM 磁碟(DB 推薦用這個) |
| Table Storage | — | DynamoDB | NoSQL 鍵值 |
| Queue Storage | — | SQS | 訊息佇列 |
資料庫場景優先用 Managed Disk。它由平台保障性能,計費按磁碟大小算。非託管磁碟(Page Blob)正在被淘汰,不要選。
SQL Server 從 2012 起就支援把資料檔跟日誌檔放在 Page Blob 上,也可以直接把備份檔丟到 Blob Storage。但有個關鍵限制:VM 跟 Blob 必須在同一 Region,延遲要低於 5ms,不然效能會爛掉。
SSD 分配的優先順序
這是核心考題:如果預算只夠一塊 SSD,該給誰?
| 優先級 | 檔案類型 | 原因 |
|---|---|---|
| 🥇 第一 | TempDB | Join、排序等操作頻繁使用,對延遲極敏感 |
| 🥈 第二(讀多) | Data File | Index 查詢受益最大 |
| 🥈 第二(寫多) | Log File | 寫入密集場景明顯獲益 |
| 🥉 最後 | System DB | 效能需求最低 |
在 Azure 上有個省錢技巧:部分 VM SKU 會送免費的 Temporary Disk,吐量很高,可以拿來放 TempDB(前提是容量夠)。
還有一個講師特別強調的禁忌:絕對不要在資料庫場景用 SSD/HDD 混合儲存陣列。那是儲存廠商的行銷話術,不適合 Database workload。雲端部署沒這個問題,因為你直接選 SSD 或 HDD 就好。
高可用性:Availability Set vs Zone
| 選項 | SLA | 範圍 | 寫入效能 | 適用場景 |
|---|---|---|---|---|
| 單一 VM | 99.9% | 單個 VM | 最佳 | 可接受短暫停機 |
| Availability Set | 99.95% | 同一 AZ 內 | 高(低延遲) | 寫入密集型 DB |
| Availability Zone | 99.99% | 跨 AZ | 較差(跨 AZ 延遲) | 要求最高可用性 |
| Scale Set | — | — | — | ❌ 不適合 SQL Server |
Scale Set 不適合資料庫的原因很直白:資料庫不支援自動水平擴展。你沒辦法像 Web Server 一樣「再開十台自動 load balance」,所有主流資料庫都是這樣。
講師推薦的做法是混合部署:3 個節點裡面,2 個放 Availability Set(保效能),1 個放 Availability Zone(拉高可用性)。
有個容易忽略的細節:用 SSD 的時候,磁碟寫入延遲極低,這時候網路延遲的佔比就會急劇上升。Availability Zone 的跨 AZ 網路延遲,在 SSD 環境下影響比你想的大。機械盤時代額外幾毫秒沒感覺,SSD 時代那幾毫秒就是效能瓶頸。
四種 Azure SQL Database 部署模型
Single Database(單一資料庫)
以資料庫為單位部署,每個 DB 資源完全隔離。容量上限 4 TB。可選通用、商務關鍵、超大規模三種效能層。注意一點:無法跨資料庫查詢,這跟 VM 上自己裝的 SQL Server 不同。
Elastic Pool(彈性集區)
池子的容量固定(DTU 或 vCore),裡面的 DB 動態共享資源。適合你有 10 個以上小型低負載 DB 的情況。每個 DB 可以設上下限,池子容量也能隨時調。但不適合高效能持續負載,DB 太少(< 10 個)的話也沒必要用。
Hyperscale(超大規模)
雲原生設計,存算分離架構。容量上限 100 TB,是唯一支援水平擴展的模型。備份幾乎即時、還原超快。
但有個大坑:升級到 Hyperscale 後有 90 天觀察期,超過後不可回退。這是單向遷移,考試很愛出。
Serverless(無伺服器)
閒置時自動暫停,暫停期間不計費。聽起來很香,但單價比常規模式高,而且很多需要 DB 持續運行的功能不支援。適合開發環境、測試環境、或是極少使用的資料庫。
備份與 RPO/RTO
Azure SQL Database 的備份是自動執行的,不需要你設計備份策略,保留期最長 35 天。
兩個必考指標:
| 指標 | 白話解釋 | VM 部署 | PaaS 部署 |
|---|---|---|---|
| RPO | 最壞情況下會丟多長時間的資料 | 約 5 分鐘 | ≈ 0(近乎無損) |
| RTO | 從故障到恢復服務的最長容許時間 | 看 HA 配置 | 看服務層級 |
PaaS 的 RPO 近乎零,這也是它被推薦為首選的原因之一。
第一天考點速記
- PaaS 優先於 IaaS
- SSD 優先分配:TempDB → Data/Log → System
- 不要用 Hybrid Storage 做 DB 儲存
- Availability Set(效能)vs Zone(可用性)的權衡
- Hyperscale 超過 90 天不可回退
- Serverless 不適合持續負載
- RPO:VM ≈ 5 min / PaaS ≈ 0
- Scale Set 不適合資料庫
附帶一個 Lab 省次數的技巧:實驗平台每個 Lab 可以啟動 10 次、每次 1 小時。在超時之前手動 Cancel 就不扣次數,超時被自動關才會扣。
來源:DP-300 Azure Database Administrator Associate 課程筆記(講師:高山 Martin)




