Ngân hàng đề — Microsoft Azure Database Administrator
Tìm thấy 217 câu.
•10 Azure SQL databases
•Five Azure SQL managed instances
•Five instances of SQL Server on Azure Virtual Machines
You need to implement a centralized monitoring solution for all the Azure SQL resources. The solution must minimize administrative effort.
What should you include in the solution?
- A Log Analytics
- B Azure SQL Analytics
- C Query Performance Insight
- D SQL Insights
Xem giải thích
🧩 Phân tích chi tiết nội dung câu hỏi
Câu hỏi mô tả một tình huống thực tế trong Azure subscription, nơi bạn có các tài nguyên SQL sau:
- 10 Azure SQL databases (cơ sở dữ liệu SQL được quản lý hoàn toàn bởi Azure).
- Five Azure SQL managed instances (các instance SQL được quản lý với tính năng gần giống on-premises).
- Five instances of SQL Server on Azure Virtual Machines (SQL Server chạy trên máy ảo Azure, cần quản lý thủ công hơn).
Mục tiêu: Triển khai giải pháp giám sát tập trung (centralized monitoring) cho tất cả các tài nguyên Azure SQL này, đồng thời giảm thiểu nỗ lực quản trị (minimize administrative effort).
Điều này có nghĩa là cần một công cụ tích hợp sẵn, tự động thu thập dữ liệu từ nhiều loại tài nguyên SQL khác nhau (không chỉ Azure SQL DB mà còn Managed Instances và SQL on VMs), hiển thị dashboard thống nhất, và dễ thiết lập mà không cần cấu hình phức tạp.
✅ Giải pháp lý tưởng phải hỗ trợ đa dạng tài nguyên SQL trong cùng subscription và tự động hóa cao nhất.
✅ Đáp án đúng: SQL Insights
Lý do lựa chọn:
SQL Insights là một workbook tích hợp sẵn trong Azure Monitor, được thiết kế chuyên biệt để giám sát tập trung tất cả các loại tài nguyên SQL trong Azure subscription, bao gồm:
- Azure SQL databases.
- Azure SQL Managed Instances.
- SQL Server trên Azure VMs.
🛠️ Nó cung cấp dashboard trực quan với metrics như CPU, DTU, I/O, sessions, queries chậm, và alerts tự động, không yêu cầu cấu hình thủ công nhiều (chỉ cần kích hoạt từ Azure portal). Điều này giảm thiểu nỗ lực quản trị tối đa so với các công cụ khác.
📈 Dựa trên phiên bản Azure mới nhất (cập nhật đến 2026), SQL Insights đã được tối ưu hóa để hỗ trợ cross-resource monitoring và tích hợp AI insights cho performance tuning.
Tài liệu tham khảo:
- Azure Monitor SQL Insights documentation (Microsoft Docs, cập nhật 2025).
- Azure SQL monitoring overview (bao gồm SQL Insights cho tất cả resources).
📋 Giải thích tất cả các phương án
-
Log Analytics ❌ SAI
Log Analytics là workspace của Azure Monitor để thu thập và phân tích logs/metrics từ nhiều nguồn. Tuy nhiên, nó không phải giải pháp chuyên biệt cho SQL, yêu cầu cấu hình thủ công (như diagnostic settings cho từng resource riêng lẻ), dẫn đến nỗ lực quản trị cao. Không cung cấp dashboard tập trung sẵn cho tất cả SQL types (đặc biệt SQL on VMs cần agent riêng). -
Azure SQL Analytics ❌ SAI
Đây là giải pháp cũ/lỗi thời (nay được thay thế bởi SQL Insights), chỉ tập trung vào Azure SQL Databases và Elastic Pools, không hỗ trợ Managed Instances hoặc SQL on VMs. Nó yêu cầu setup riêng và không centralized cho toàn bộ subscription, nên không giảm thiểu admin effort. (Không còn được khuyến nghị từ 2023). -
Query Performance Insight ❌ SAI
Query Performance Insight chỉ cung cấp insights về query chậm/top queries cho Azure SQL DB và Managed Instances, không hỗ trợ SQL Server on VMs và không phải monitoring toàn diện (chỉ tập trung performance queries). Yêu cầu kích hoạt per-database, không centralized và nỗ lực cao hơn cho multi-resources. -
SQL Insights ✅ ĐÚNG
Như đã giải thích ở trên, đây là giải pháp hoàn hảo: Centralized, multi-resource support, minimal setup.
🛡️ Lưu ý từ Azure DBA: Trong thực tế, tôi khuyến nghị kết hợp SQL Insights với Azure Monitor alerts để tự động hóa hoàn toàn. Nếu cần tùy chỉnh sâu hơn, dùng Kusto queries trong Log Analytics làm bổ sung!
You need to recommend a solution to migrate DB1 to an Azure SQL managed instance. The solution must minimize downtime and administrative effort.
What should you include in the recommendation?
- A Log Replay Service (LRS)
- B log shipping
- C transactional replication
- D SQL Data Sync
Xem giải thích
🧩 Phân tích nội dung câu hỏi
Câu hỏi yêu cầu khuyến nghị một giải pháp để di chuyển cơ sở dữ liệu Microsoft SQL Server 2019 dung lượng 2-TB (tên DB1) từ trung tâm dữ liệu tại chỗ (on-premises datacenter) sang Azure SQL Managed Instance.
Yêu cầu chính: Giảm thiểu thời gian ngừng hoạt động (downtime) và giảm thiểu nỗ lực quản trị (administrative effort).
📘 Bối cảnh kỹ thuật: Đây là kịch bản migration lớn (2-TB), cần phương pháp hỗ trợ online migration (di chuyển liên tục mà không gián đoạn lớn), tự động hóa cao để tránh can thiệp thủ công nhiều. Azure cung cấp các công cụ chuyên dụng cho việc này, dựa trên phiên bản mới nhất của Azure Database Migration Service (DMS) tính đến năm 2026, hỗ trợ SQL Server 2019 và Managed Instance với tính năng Log Replay Service (LRS) cho cutover nhanh chóng.
✅ Đáp án đúng và lý do lựa chọn
Đáp án đúng: Log Replay Service (LRS)
🛠️ Lý do: Log Replay Service (LRS) là một phần của Azure Database Migration Service (DMS), được thiết kế chuyên biệt cho việc migrate on-premises SQL Server sang Azure SQL Managed Instance. Nó hỗ trợ online migration bằng cách:
- Khởi tạo dữ liệu ban đầu (initial load).
- Replay transaction log liên tục để đồng bộ dữ liệu thời gian thực, giảm downtime xuống mức tối thiểu (thường chỉ vài phút cho cutover).
- Tự động hóa cao, giảm nỗ lực quản trị (không cần cấu hình thủ công phức tạp).
Phù hợp hoàn hảo với DB 2-TB lớn, hỗ trợ SQL Server 2019. Đây là phương pháp Microsoft khuyến nghị chính thức cho minimal downtime và effort.
📘 Nguồn tham khảo: - Microsoft Docs: Migrate SQL Server to Azure SQL Managed Instance using DMS with LRS (cập nhật 2025-2026).
- Azure SQL Migration Guide.
🧩 Giải thích tất cả các phương án
Dưới đây là phân tích chi tiết từng lựa chọn, đánh dấu ✅ đúng hoặc ❌ sai:
-
Log Replay Service (LRS)
✅ Đúng: Như đã giải thích ở trên, LRS trong DMS là giải pháp tối ưu cho online migration với downtime thấp (<5 phút) và tự động hóa cao. Hỗ trợ full database migration, transaction log replay liên tục, lý tưởng cho DB lớn như 2-TB từ SQL Server 2019. -
log shipping
❌ Sai: Log shipping chỉ dùng để backup và ship transaction log định kỳ giữa các SQL Server instances, không hỗ trợ trực tiếp migration sang Azure SQL Managed Instance. Nó yêu cầu downtime dài (phải dừng source DB để apply log cuối), nỗ lực quản trị cao (cấu hình thủ công, monitoring), và không tự động hóa cutover. Không phù hợp với yêu cầu minimize downtime/effort. -
transactional replication
❌ Sai: Transactional replication dùng để đồng bộ dữ liệu thời gian thực giữa publisher và subscriber, có thể hỗ trợ migration tạm thời. Tuy nhiên, nó phức tạp để thiết lập (cần schema phù hợp, xử lý conflict), downtime vẫn cao khi cutover (phải rebuild index, validate data), và nỗ lực quản trị lớn (maintenance replication topology). DMS với LRS hiệu quả hơn nhiều cho full migration. -
SQL Data Sync
❌ Sai: SQL Data Sync dùng cho đồng bộ hai chiều giữa Azure SQL Database/SQL Managed Instance và on-premises, không phải công cụ migration chuyên dụng. Nó không hỗ trợ full DB migration lớn (2-TB) hiệu quả, dễ gặp vấn đề schema drift, downtime cao khi sync cuối, và nỗ lực quản trị lớn (cấu hình sync group, conflict resolution). Không được khuyến nghị cho migrate to Managed Instance.
🛠️ Tóm tắt khuyến nghị: Sử dụng Azure DMS với LRS là cách tốt nhất, kết hợp Azure Data Studio hoặc DMS portal để validate và cutover nhanh chóng! Nếu cần hỗ trợ triển khai, hãy cung cấp thêm chi tiết về môi trường. 🚀
After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You have the on-premises networks shown in the following table.
You have an Azure subscription that contains an Azure SQL Database server named SQL1. SQL1 contains two databases named DB1 and DB2.
You need to configure access to DB1 and DB2. The solution must meet the following requirements:
•Ensure that DB1 can be accessed only by users in Branch1.
•Ensure that DB2 can be accessed only by users in Branch2.
Solution: You connect to DB1 and run the following command.
EXECUTE sp_set_firewall_rule ‘Allow db1 users’, ‘131.107.10.0’, ‘131.107.10.255’
You connect to DB2 and run the following command.
EXECUTE sp_set_database_firewall_rule ‘Allow db2 users’, ‘131.107.11.0’, ‘131.107.11.255’
Does this meet the goal?
- A Yes
- B No
Xem giải thích
🧩 Phân tích chi tiết nội dung câu hỏi
Câu hỏi thuộc dạng case study trong kỳ thi chứng chỉ (có thể là DP-300: Administering Microsoft Azure SQL Solutions), với kịch bản cố định:
- Có hai mạng on-premises: Branch1 (Sydney, subnet 131.107.10.0/24) và Branch2 (Melbourne, subnet 131.107.11.0/24) – dựa trên hình ảnh bảng cung cấp.
- Azure subscription chứa Azure SQL Database server SQL1 với hai database: DB1 và DB2.
- Yêu cầu (goals):
✅ DB1 chỉ được truy cập bởi users từ Branch1.
✅ DB2 chỉ được truy cập bởi users từ Branch2.
Giải pháp đề xuất:
- Kết nối đến DB1 và chạy:
EXECUTE sp_set_firewall_rule ‘Allow db1 users’, ‘131.107.10.0’, ‘131.107.10.255’(server-level firewall rule cho Branch1). - Kết nối đến DB2 và chạy:
EXECUTE sp_set_database_firewall_rule ‘Allow db2 users’, ‘131.107.11.0’, ‘131.107.11.255’(database-level firewall rule cho Branch2).
Câu hỏi chính: Giải pháp này có đạt được mục tiêu không? (Yes/No).
🛠️ Nguyên tắc Firewall trong Azure SQL Database (cập nhật đến 2026):
- Server-level firewall rules (tạo bằng
sp_set_firewall_rule): Áp dụng cho toàn bộ logical server (tất cả DBs trên server). Kết nối phải pass rule này trước. - Database-level firewall rules (tạo bằng
sp_set_database_firewall_rule): Áp dụng riêng cho từng DB. Chỉ hoạt động sau khi pass server-level. Khi enable (tạo rule đầu tiên), DB sẽ deny tất cả IPs không có trong rule của nó. - Lưu ý: Các SP này đã deprecated từ Azure SQL 2017+, khuyến nghị dùng T-SQL
CREATE/ALTER SERVER/DATABASE FIREWALL RULEhoặc Azure Portal/CLI/PowerShell (theo docs 2026). Nhưng câu hỏi vẫn dùng SP cho tính tương thích exam.
✅ Đáp án đúng: No
Lý do chính (bằng tiếng Việt rõ ràng):
❌ Giải pháp KHÔNG đạt mục tiêu vì:
- Server-level rule chỉ allow Branch1 (131.107.10.0/24) → Branch2 (131.107.11.0/24) không pass server firewall, nên KHÔNG truy cập được DB2 (dù có database-level rule).
- Branch1 pass server → truy cập được DB1 (OK), nhưng database-level rule trên DB2 sẽ chặn Branch1 vào DB2 (tốt). Tuy nhiên, vấn đề lớn là Branch2 bị chặn hoàn toàn từ server-level.
🧩 Kết quả: DB1 OK cho Branch1, nhưng DB2 KHÔNG accessible bởi Branch2 → Fail goal.
📋 Giải thích tất cả các phương án
- Yes ❌ SAI: Phương án này sai vì giải pháp không cho Branch2 truy cập DB2 (server-level thiếu rule cho 131.107.11.0/24). Server firewall là "cửa ngõ" đầu tiên, database-level chỉ kiểm soát sau.
- No ✅ ĐÚNG: Đúng như phân tích trên. Giải pháp thiếu server-level rule cho Branch2, dẫn đến Branch2 không connect được server → không vào DB2. Để đúng, cần:
- Database-level rules cho cả DB1 (Branch1) và DB2 (Branch2).
- Server-level rule rộng hơn (ví dụ allow cả hai subnets) HOẶC dùng Private Endpoint/VNet integration để tránh public IP firewall.
📘 Tài liệu tham khảo (cập nhật AWS? Lưu ý: Đây là Azure, không AWS; có thể nhầm lẫn chủ đề)
- Azure SQL Database Firewall Rules (MS Docs 2026).
- Server-level vs Database-level IP Firewall – Giải thích thứ tự kiểm soát.
- Deprecated SP: sp_set_firewall_rule.
🛠️ Khuyến nghị thực tế: Sử dụng Azure Private Link/Private Endpoint cho on-premises → Azure SQL (an toàn hơn IP firewall, tránh public exposure).
Hy vọng phân tích giúp bạn ôn thi hiệu quả! 🚀
You plan to deploy an instance of SQL Server on Azure Virtual Machines that supports Write Accelerator.
Which virtual machine series should you use?
- A E-series
- B G-series
- C H-series
- D M-series
Xem giải thích
🧩 Phân tích chi tiết nội dung câu hỏi
Câu hỏi này thuộc lĩnh vực Azure Virtual Machines (VM) và tính năng Write Accelerator dành cho SQL Server. Cụ thể:
Bạn có một subscription Azure và dự định triển khai một instance SQL Server trên Azure VM hỗ trợ Write Accelerator.
Write Accelerator là tính năng tối ưu hóa hiệu suất ghi dữ liệu (write-intensive workloads) cho SQL Server, sử dụng bộ nhớ đệm cục bộ (local NVMe SSD) để tăng tốc độ ghi log và checkpoint, giúp giảm độ trễ I/O lên đến 50 lần so với Premium SSD thông thường. Tính năng này chỉ khả dụng trên một số series VM cụ thể có hỗ trợ Premium Storage và local SSD ephemeral.
🛠️ Yêu cầu chính: Chọn series VM phù hợp nhất để triển khai SQL Server với Write Accelerator. (Dựa trên tài liệu Azure cập nhật đến 2024-2026, không có thay đổi lớn về hỗ trợ series).
📘 Nguồn tham khảo:
- Azure Docs: SQL Server on Azure VMs - Write Accelerator (cập nhật mới nhất 2024).
- Azure VM sizes supporting Write Accelerator.
✅ Đáp án đúng: M-series
Lý do lựa chọn: M-series (như Mv2, Masv5) là series memory-optimized được thiết kế đặc biệt cho các workload database lớn như SQL Server, hỗ trợ đầy đủ Write Accelerator với local NVMe SSD cao tốc. Đây là lựa chọn tối ưu cho SQL Server enterprise, cung cấp RAM lớn (lên đến 12TB) và hiệu suất I/O vượt trội. Theo docs Azure 2024-2026, M-series nằm trong danh sách supported VM families chính thức cho tính năng này, giúp SQL Server đạt throughput ghi cao nhất mà không cần cấu hình phức tạp.
📋 Giải thích chi tiết tất cả các phương án
Dưới đây là phân tích từng lựa chọn, giữ nguyên nội dung gốc bằng tiếng Anh. Mỗi phương án được đánh giá đúng/sai dựa trên hỗ trợ Write Accelerator (yêu cầu Premium Storage + local SSD ephemeral, không phải tất cả VM trong series đều hỗ trợ).
-
❌ [SAI] E-series
Giải thích: E-series (memory-optimized) chỉ hỗ trợ Write Accelerator trên một số size hạn chế như Esv3, Eav4, Easv5 (không phải toàn bộ series). Tuy nhiên, câu hỏi yêu cầu series đầy đủ hỗ trợ và tối ưu cho SQL Server, E-series không phải lựa chọn chính vì tập trung vào compute/memory chung chung hơn, thiếu hiệu suất NVMe cao cấp cho write-intensive như M-series. Không khuyến nghị cho SQL Server lớn. -
❌ [SAI] G-series
Giải thích: G-series (general purpose, thế hệ cũ như G1-G5) không hỗ trợ Write Accelerator vì thiếu local NVMe SSD ephemeral và không tương thích với Premium Storage yêu cầu. Series này dùng cho workload legacy, hiệu suất I/O thấp, không phù hợp triển khai SQL Server hiện đại với WA (docs Azure xác nhận G-series vắng mặt trong supported list). -
❌ [SAI] H-series
Giải thích: H-series (HPC/high-performance compute) được thiết kế cho tính toán khoa học và simulation, hỗ trợ InfiniBand nhưng không hỗ trợ Write Accelerator. Chúng thiếu cấu hình local SSD phù hợp cho database workloads, ưu tiên FLOPS hơn I/O database. Sử dụng H-series sẽ không kích hoạt được WA cho SQL Server. -
✅ [ĐÚNG] M-series
Giải thích: Như đã nêu ở phần đáp án đúng, M-series (Mv2, Masv5) hỗ trợ đầy đủ Write Accelerator với local NVMe SSD, RAM khổng lồ và tối ưu cho SQL Server OLTP/OLAP. Đây là lựa chọn chuẩn theo best practices Azure cho database lớn, đảm bảo hiệu suất ghi log/checkpoint vượt trội (xác nhận supported trong docs 2024-2026).
🛠️ Lời khuyên từ Azure DBA: Khi triển khai, chọn size như M32ms_v2 (128 vCPU, 4TB RAM) và enable WA qua PowerShell: Enable-AzVMWriteAccelerator. Test với SQL Server 2022 cho kết quả tốt nhất!
After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You have the on-premises networks shown in the following table.
You have an Azure subscription that contains an Azure SQL Database server named SQL1. SQL1 contains two databases named DB1 and DB2.
You need to configure access to DB1 and DB2. The solution must meet the following requirements:
•Ensure that DB1 can be accessed only by users in Branch1.
•Ensure that DB2 can be accessed only by users in Branch2.
Solution: You connect to the master of SQL1 and run the following command.
EXECUTE sp_set_firewall_rule ‘Allow db1 and db2 users’, ‘131.107.11.0’, ‘131.107.11.255’
Does this meet the goal?
- A Yes
- B No
Xem giải thích
🧩 Phân tích chi tiết nội dung câu hỏi
📖 Tóm tắt ngữ cảnh câu hỏi:
Câu hỏi thuộc dạng "series of questions" trong kỳ thi chứng chỉ (có thể là DP-300 của Microsoft Azure), nơi mỗi câu có giải pháp riêng và không thể quay lại sau khi trả lời. Bạn có các mạng on-premises như sau (dựa trên hình ảnh đính kèm):
- Branch1 (Sydney): Subnet 131.107.10.0/24 (tức dải IP từ 131.107.10.0 đến 131.107.10.255).
- Branch2 (Melbourne): Subnet 131.107.11.0/24 (tức dải IP từ 131.107.11.0 đến 131.107.11.255).
Bạn có Azure SQL Database server tên SQL1 chứa hai database: DB1 và DB2.
Yêu cầu chính (goals):
- ✅ DB1 chỉ được truy cập bởi users từ Branch1 (dải IP 131.107.10.0/24).
- ✅ DB2 chỉ được truy cập bởi users từ Branch2 (dải IP 131.107.11.0/24).
🛠️ Giải pháp đề xuất:
Kết nối đến master database của SQL1 và chạy lệnh:
EXECUTE sp_set_firewall_rule ‘Allow db1 and db2 users’, ‘131.107.11.0’, ‘131.107.11.255’
Lệnh này tạo server-level firewall rule chỉ cho phép dải IP của Branch2 (131.107.11.0/24) truy cập vào toàn bộ SQL1 server (bao gồm cả DB1 và DB2).
❓ Câu hỏi: Giải pháp này có đáp ứng goals không? (Yes/No)
✅ Đáp án đúng: No
Lý do chọn đáp án đúng (bằng kiến thức Azure SQL Database mới nhất đến 2026):
Giải pháp KHÔNG đáp ứng vì:
- 🛑 Đây là server-level firewall rule (chạy trên master DB), áp dụng cho tất cả databases trên server SQL1. Do đó, chỉ Branch2 truy cập được cả DB1 và DB2, vi phạm yêu cầu "DB1 chỉ Branch1".
- 🛑 Dải IP chỉ là 131.107.11.0/24 (Branch2), nên Branch1 (131.107.10.0/24) hoàn toàn không truy cập được bất kỳ DB nào, vi phạm yêu cầu cho DB1.
- 🧩 Để đáp ứng, cần database-level firewall rules:
- Kết nối đến DB1 và chạy
sp_set_firewall_rulecho dải 131.107.10.0/24. - Kết nối đến DB2 và chạy
sp_set_firewall_rulecho dải 131.107.11.0/24. - Server-level rule chỉ dùng cho truy cập chung, không phân biệt per-DB (theo docs Azure SQL v2024+).
- Kết nối đến DB1 và chạy
📘 Tài liệu tham khảo:
- Microsoft Docs: Configure Azure SQL Database firewall rules (cập nhật 2024, áp dụng đến 2026).
- sp_set_firewall_rule reference – Xác nhận server-level vs database-level.
🔍 Giải thích tất cả các phương án (giữ nguyên text gốc tiếng Anh)
-
Yes ❌ SAI – Phương án này sai vì firewall rule server-level chỉ mở cho Branch2 truy cập cả DB1 lẫn DB2, dẫn đến:
- Branch1 không truy cập được DB1 (vi phạm goal 1).
- Branch2 truy cập được DB1 (vi phạm "chỉ Branch1 cho DB1" và goal 2 gián tiếp). Không có cơ chế phân biệt per-DB ở mức server.
-
No ✅ ĐÚNG – Phương án này đúng vì giải pháp không đáp ứng yêu cầu, như phân tích trên: thiếu rule cho Branch1 và áp dụng chung cho toàn server thay vì per-database. Phải dùng database-level rules để kiểm soát chính xác từng DB theo IP subnet từ hình ảnh.
💡 Lời khuyên từ Azure DBA: Sử dụng Private Endpoints hoặc VNet integration cho bảo mật tốt hơn firewall rules trong môi trường hybrid (on-premises to Azure). Kiểm tra luôn qua Azure Portal > SQL Server > Firewalls and virtual networks! 🚀
You have an Azure subscription that contains an Azure SQL database named SQLDB1.
You need to replicate DB1 to SQLDB1.
Which type of replication should you use?
- A transactional
- B peer-to-peer
- C snapshot
- D merge
Xem giải thích
🧩 Phân tích chi tiết nội dung câu hỏi
Câu hỏi mô tả tình huống thực tế trong môi trường hybrid cloud:
Bạn có một instance Microsoft SQL Server 2019 chạy on-premises (tại chỗ), chứa cơ sở dữ liệu tên DB1.
Bạn cũng có một Azure subscription với Azure SQL Database tên SQLDB1.
Nhiệm vụ là replicate (sao chép dữ liệu) từ DB1 (on-premises) sang SQLDB1 (Azure SQL).
Câu hỏi yêu cầu xác định loại replication phù hợp nhất để thực hiện việc này.
🛠️ Bối cảnh kỹ thuật:
- Replication trong SQL Server là cơ chế sao chép dữ liệu từ Publisher (nguồn, ở đây là DB1 on-premises) sang Subscriber (đích, ở đây là SQLDB1 trên Azure).
- Azure SQL Database không hỗ trợ làm Publisher (chỉ làm Subscriber), và chỉ hỗ trợ một số loại replication cụ thể từ on-premises SQL Server (từ phiên bản 2016 SP1 trở lên, bao gồm SQL Server 2019).
- Kiến thức cập nhật đến 2026: Theo tài liệu Microsoft mới nhất (Azure SQL Database hỗ trợ Transactional Replication với các cải tiến bảo mật như TLS 1.2+ và Always Encrypted), đây vẫn là phương pháp chuẩn cho hybrid replication (xem tài liệu tham khảo bên dưới).
📘 Tài liệu tham khảo:
- Microsoft Docs: Replicate databases to and from Azure SQL Database (cập nhật 2024-2026).
- Azure SQL Database Replication Support (xác nhận chỉ hỗ trợ Transactional Replication outbound từ on-premises).
✅ Đáp án đúng: transactional
Lý do lựa chọn:
Loại transactional replication là lựa chọn duy nhất được Azure SQL Database hỗ trợ làm Subscriber từ on-premises SQL Server 2019. Nó sao chép dữ liệu theo giao dịch (transactional), đảm bảo tính nhất quán cao, hỗ trợ cả initial snapshot và continuous changes (thay đổi liên tục). Quy trình: Cấu hình Distribution Server trên on-premises, Publisher là DB1, Subscriber là SQLDB1 với push subscription. Đây là giải pháp hybrid replication tiêu chuẩn, hiệu suất cao cho workload OLTP.
🔍 Giải thích tất cả các phương án
Dưới đây là phân tích từng lựa chọn, giữ nguyên nội dung gốc bằng tiếng Anh, với lý do đúng/sai bằng tiếng Việt:
-
transactional
✅ Đúng. Như đã giải thích, Azure SQL Database chỉ hỗ trợ làm subscriber cho transactional replication từ SQL Server on-premises (2016 SP1+). Nó sử dụng Log Reader Agent và Distribution Agent để đẩy thay đổi theo transaction log, đảm bảo zero data loss và low latency. Phù hợp hoàn hảo cho kịch bản này. -
peer-to-peer
❌ Sai. Peer-to-peer replication yêu cầu tất cả các node (publisher/subscriber) phải là SQL Server Enterprise Edition và hỗ trợ bidirectional replication (hai chiều). Azure SQL Database không hỗ trợ làm participant trong peer-to-peer, vì nó chỉ là managed PaaS và không cho phép cấu hình như on-premises full SQL Server. -
snapshot
❌ Sai. Snapshot replication chỉ tạo bản sao tĩnh (snapshot) của toàn bộ dữ liệu tại một thời điểm, không hỗ trợ thay đổi liên tục. Azure SQL Database không hỗ trợ snapshot replication làm subscriber (chỉ dùng trong initial sync của transactional). Không phù hợp cho replication ongoing từ on-premises. -
merge
❌ Sai. Merge replication dành cho môi trường disconnected (ngắt kết nối), giải quyết conflict khi dữ liệu thay đổi ở nhiều nơi. Azure SQL Database hoàn toàn không hỗ trợ merge replication làm subscriber, vì nó yêu cầu schema phức tạp và trigger mà PaaS không cho phép tùy chỉnh.
This is a case study. Case studies are not timed separately. You can use as much exam time as you would like to complete each case. However, there may be additional case studies and sections on this exam. You must manage your time to ensure that you are able to complete all questions included on this exam in the time provided.
To answer the questions included in a case study, you will need to reference information that is provided in the case study. Case studies might contain exhibits and other resources that provide more information about the scenario that is described in the case study. Each question is independent of the other questions in this case study.
At the end of this case study, a review screen will appear. This screen allows you to review your answers and to make changes before you move to the next section of the exam. After you begin a new section, you cannot return to this section.
To start the case study -
To display the first question in this case study, click the Next button. Use the buttons in the left pane to explore the content of the case study before you answer the questions. Clicking these buttons displays information such as business requirements, existing environment, and problem statements. If the case study has an All Information tab, note that the information displayed is identical to the information displayed on the subsequent tabs. When you are ready to answer a question, click the Question button to return to the question.
Overview -
ADatum Corporation is a financial services company that has a main office in New York City.
Existing Environment. Licensing Agreement
ADatum has a Microsoft Volume Licensing agreement that includes Software Assurance.
Existing Environment. Network Infrastructure
ADatum has an on-premises datacenter and an Azure subscription named Sub1.
Sub1 contains a virtual network named Network1 in the East US Azure region.
The datacenter is connected to Network1 by using a Site-to-Site (S2S) VPN.
Existing Environment. Identity Environment
The on-premises network contains an Active Directory Domain Services (AD DS) forest.
The forest contains a single domain named corp.adatum.com.
The corp.adatum.com domain syncs with a Microsoft Entra tenant named adatum.com.
Existing Environment. Database Environment
The datacenter contains the servers shown in the following table.
DB1 and DB2 are used for transactional and analytical workloads by an application named App1.
App1 runs on Microsoft Entra hybrid joined servers that run Windows Server 2022. App1 uses Kerberos authentication.
DB3 stores compliance data used by two applications named App2 and App3.
DB3 performance is monitored by using Extended Events sessions, with the event_file target set to a file share on a local disk of SVR3.
Resource allocation for DB3 is managed by using Resource Governor.
Requirements. Planned Changes -
ADatum plans to implement the following changes:
•Deploy an Azure SQL managed instance named Instance1 to Network1.
•Migrate DB1 and DB2 to Instance1.
•Migrate DB3 to Azure SQL Database.
•Following the migration of DB1 and DB2, hand over database development to remote developers who use Microsoft Entra joined Windows 11 devices.
•Following the migration of DB3, configure the database to be part of an auto-failover group.
Requirements. Availability Requirements
ADatum identifies the following post-migration availability requirements:
•For DB1 and DB2, offload analytical workloads to a read-only database replica in the same Azure region.
•Ensure that if a regional disaster occurs, DB1 and DB2 can be recovered from backups.
•After the migration, App1 must maintain access to DB1 and DB2.
•For DB3, manage potential performance issues caused by resource demand changes by App2 and App3.
•Ensure that DB3 will still be accessible following a planned failover.
•Ensure that DB3 can be restored if the logical server is deleted.
•Minimize downtime during the migration of DB1 and DB2.
Requirements. Security Requirements
ADatum identifies the following security requirements for after the migration:
•Ensure that only designated developers who use Microsoft Entra joined Windows 11 devices can access DB1 and DB2 remotely.
•Ensure that all changes to DB3, including ones within individual transactions, are audited and recorded.
Requirements. Management Requirements
ADatum identifies the following post-migration management requirements:
•Continue using Extended Events to monitor DB3.
•In Azure SQL Database, automate the management of DB3 by using elastic jobs that have database-scoped credentials.
Requirements. Business Requirements
ADatum identifies the following business requirements:
•Minimize costs whenever possible, without affecting other requirements.
•Minimize administrative effort.
You need to recommend a solution to meet the security requirements and the business requirements for DB3.
What should you recommend as the first step of the solution?
- A Run the sp_addarticle stored procedure.
- B Run the ALTER TABLE statement and specify the ENABLE CHANGE_TRACKING Clause.
- C Run the ALTER DATABASE statement and specify the SET CHANGE_TRACKING = ON Clause.
- D Run the sys.sp_cdc_enable_db stored procedure.
Xem giải thích
🧩 Phân tích chi tiết nội dung câu hỏi
Câu hỏi thuộc case study của kỳ thi DP-300 (Administering Microsoft Azure SQL Solutions), mô tả môi trường của công ty ADatum với hạ tầng on-premises (datacenter kết nối Azure qua S2S VPN), các server SQL Server (SVR1: SQL 2016 Ent với AG1 chứa DB1/DB2; SVR2: SQL 2016 Ent với AG2 chứa DB1/DB2; SVR3: SQL 2019 Ent chứa DB3), và kế hoạch migrate:
- DB1/DB2 → Azure SQL Managed Instance (Instance1).
- DB3 → Azure SQL Database.
Yêu cầu liên quan đến DB3 sau migration:
- Security: Đảm bảo tất cả thay đổi trên DB3 (bao gồm cả trong individual transactions) được audit và recorded (ghi nhận chi tiết).
- Business: Minimize costs và administrative effort.
- Khác: Manage performance (Resource Governor → có lẽ vdb_manager), auto-failover group, elastic jobs, Extended Events tiếp tục, accessible sau failover, restore nếu logical server xóa.
Câu hỏi cụ thể: Recommend giải pháp đầu tiên (first step) để đáp ứng security (audit/record all changes chi tiết) và business requirements (tiết kiệm chi phí, ít admin effort) cho DB3 trên Azure SQL Database.
📘 Phân tích hình ảnh: Bảng server xác nhận SVR3 chạy Windows Server 2019 + SQL Server 2019 Enterprise chứa DB3 (hiện dùng Extended Events với file target trên local disk, Resource Governor). DB3 lưu compliance data cho App2/App3 → cần audit chi tiết sau migrate. Không ảnh hưởng trực tiếp đến lựa chọn, nhưng nhấn mạnh DB3 cần high compliance/audit.
🛠️ Giải pháp phù hợp: Sử dụng Change Data Capture (CDC) trên Azure SQL Database (supported từ 2019, cập nhật 2026 vẫn là feature core). CDC capture tất cả INSERT/UPDATE/DELETE tại row-level, trong transactions (commit log-based), tự động hóa (ít admin), low cost (không cần agent riêng, dùng system tables). First step: Enable CDC trên DB trước khi enable trên table.
✅ Đáp án đúng và lý do lựa chọn
Run the sys.sp_cdc_enable_db stored procedure.
Lý do:
- Đây là bước đầu tiên để enable CDC trên database trong Azure SQL Database (sau migrate DB3).
- CDC đáp ứng security: Record all changes (insert/update/delete data) chi tiết trong transactions (dùng transaction log, capture before/after values), lưu vào system tables (cdc.change_tables) → dễ audit/query mà không cần custom triggers/auditing phức tạp.
- Business: Minimize costs (built-in, no extra licensing; chỉ ~1-5% overhead storage/CPU theo MS Docs 2024-2026), minimize admin (tự động, integrate với elastic jobs cho automation).
- Sau bước này, mới enable CDC trên tables (sp_cdc_enable_table). Phù hợp post-migration, kết hợp auto-failover group (CDC sync qua geo-replication).
- ✅ Hoàn hảo với req: Compliance data → CDC là best practice cho auditing granular mà low effort.
📘 Nguồn tham khảo:
- Microsoft Docs: Enable CDC on Azure SQL DB (cập nhật 2024, valid 2026).
- Azure SQL Auditing vs CDC → CDC chi tiết hơn cho changes within tx.
- DP-300 Exam Guide (2024): CDC cho transactional auditing.
🧩 Giải thích tất cả các phương án
-
❌ Run the sp_addarticle stored procedure.
Sai vìsp_addarticledùng cho Transactional Replication (publish articles/tables để replicate). Không phải auditing/record changes; chỉ sync data giữa publisher-subscriber. Không đáp ứng security (không capture chi tiết tx changes), tốn kém hơn (cần distributor, agent), cao admin effort → vi phạm business req. Không liên quan migrate Azure SQL DB. -
❌ Run the ALTER TABLE statement and specify the ENABLE CHANGE_TRACKING Clause.
Sai vì Change Tracking (ALTER TABLE ... ENABLE CHANGE_TRACKING) chỉ track metadata changes (primary key của rows thay đổi), không record data chi tiết (không before/after values, không full tx auditing). Overhead thấp nhưng không capture within individual transactions đầy đủ → không meet security. Phải enable DB-level trước, nhưng vẫn kém CDC. -
❌ Run the ALTER DATABASE statement and specify the SET CHANGE_TRACKING = ON Clause.
Sai tương tự trên: Change Tracking DB-level (ALTER DB SET CHANGE_TRACKING = ON) chỉ enable cho tables, track metadata (không data changes chi tiết, không suitable cho audit compliance). Không record "all changes including within tx" → fail security. Low cost nhưng không đủ granular. -
✅ Run the sys.sp_cdc_enable_db stored procedure.
Đúng như giải thích trên: Bước first để enable CDC DB-wide, capture/record all DML changes chi tiết trong tx, low cost/effort. Hoàn hảo!
🛠️ Khuyến nghị triển khai tiếp theo: Sau enable CDC, chạy sys.sp_cdc_enable_table trên tables cần audit, config elastic jobs query cdc tables, giữ Extended Events cho monitoring. Test failover để ensure accessibility.
This is a case study. Case studies are not timed separately. You can use as much exam time as you would like to complete each case. However, there may be additional case studies and sections on this exam. You must manage your time to ensure that you are able to complete all questions included on this exam in the time provided.
To answer the questions included in a case study, you will need to reference information that is provided in the case study. Case studies might contain exhibits and other resources that provide more information about the scenario that is described in the case study. Each question is independent of the other questions in this case study.
At the end of this case study, a review screen will appear. This screen allows you to review your answers and to make changes before you move to the next section of the exam. After you begin a new section, you cannot return to this section.
To start the case study -
To display the first question in this case study, click the Next button. Use the buttons in the left pane to explore the content of the case study before you answer the questions. Clicking these buttons displays information such as business requirements, existing environment, and problem statements. If the case study has an All Information tab, note that the information displayed is identical to the information displayed on the subsequent tabs. When you are ready to answer a question, click the Question button to return to the question.
Overview -
ADatum Corporation is a financial services company that has a main office in New York City.
Existing Environment. Licensing Agreement
ADatum has a Microsoft Volume Licensing agreement that includes Software Assurance.
Existing Environment. Network Infrastructure
ADatum has an on-premises datacenter and an Azure subscription named Sub1.
Sub1 contains a virtual network named Network1 in the East US Azure region.
The datacenter is connected to Network1 by using a Site-to-Site (S2S) VPN.
Existing Environment. Identity Environment
The on-premises network contains an Active Directory Domain Services (AD DS) forest.
The forest contains a single domain named corp.adatum.com.
The corp.adatum.com domain syncs with a Microsoft Entra tenant named adatum.com.
Existing Environment. Database Environment
The datacenter contains the servers shown in the following table.
DB1 and DB2 are used for transactional and analytical workloads by an application named App1.
App1 runs on Microsoft Entra hybrid joined servers that run Windows Server 2022. App1 uses Kerberos authentication.
DB3 stores compliance data used by two applications named App2 and App3.
DB3 performance is monitored by using Extended Events sessions, with the event_file target set to a file share on a local disk of SVR3.
Resource allocation for DB3 is managed by using Resource Governor.
Requirements. Planned Changes -
ADatum plans to implement the following changes:
•Deploy an Azure SQL managed instance named Instance1 to Network1.
•Migrate DB1 and DB2 to Instance1.
•Migrate DB3 to Azure SQL Database.
•Following the migration of DB1 and DB2, hand over database development to remote developers who use Microsoft Entra joined Windows 11 devices.
•Following the migration of DB3, configure the database to be part of an auto-failover group.
Requirements. Availability Requirements
ADatum identifies the following post-migration availability requirements:
•For DB1 and DB2, offload analytical workloads to a read-only database replica in the same Azure region.
•Ensure that if a regional disaster occurs, DB1 and DB2 can be recovered from backups.
•After the migration, App1 must maintain access to DB1 and DB2.
•For DB3, manage potential performance issues caused by resource demand changes by App2 and App3.
•Ensure that DB3 will still be accessible following a planned failover.
•Ensure that DB3 can be restored if the logical server is deleted.
•Minimize downtime during the migration of DB1 and DB2.
Requirements. Security Requirements
ADatum identifies the following security requirements for after the migration:
•Ensure that only designated developers who use Microsoft Entra joined Windows 11 devices can access DB1 and DB2 remotely.
•Ensure that all changes to DB3, including ones within individual transactions, are audited and recorded.
Requirements. Management Requirements
ADatum identifies the following post-migration management requirements:
•Continue using Extended Events to monitor DB3.
•In Azure SQL Database, automate the management of DB3 by using elastic jobs that have database-scoped credentials.
Requirements. Business Requirements
ADatum identifies the following business requirements:
•Minimize costs whenever possible, without affecting other requirements.
•Minimize administrative effort.
You need to recommend a backup solution to restore DB3. The solution must meet the availability requirements.
Which type of backup should you use?
- A differential
- B transaction log
- C long-term retention (LTR)
- D point-in-time restore (PITR)
Xem giải thích
🧩 Phân tích chi tiết nội dung câu hỏi
📖 Tóm tắt case study liên quan đến DB3:
ADatum Corporation đang di chuyển DB3 từ server on-premises SVR3 (chạy SQL Server 2019 Enterprise, lưu trữ dữ liệu compliance cho App2 và App3) sang Azure SQL Database. DB3 hiện sử dụng Extended Events (với target file share trên disk local của SVR3) và Resource Governor để quản lý tài nguyên. Sau migration:
- DB3 sẽ là thành viên của auto-failover group (đảm bảo accessible sau planned failover).
- Yêu cầu availability chính: Đảm bảo DB3 có thể khôi phục (restore) ngay cả khi logical server bị xóa (deleted). Các yêu cầu khác bao gồm quản lý performance từ App2/App3, tiếp tục dùng Extended Events, và tự động hóa bằng elastic jobs.
Hình ảnh bảng server xác nhận: SVR3 là nơi chứa DB3 độc lập (không thuộc Always On AG như DB1/DB2 trên SVR1/SVR2), giúp tập trung vào migration DB3 sang Azure SQL DB Hyperscale hoặc General Purpose (dựa trên workload compliance và performance monitoring).
❓ Nội dung câu hỏi cụ thể:
Câu hỏi yêu cầu recommend a backup solution để restore DB3, phải đáp ứng availability requirements (đặc biệt: "Ensure that DB3 can be restored if the logical server is deleted"). Đây là post-migration scenario trên Azure SQL Database, nơi backup mặc định bao gồm automated backups (full weekly, differential 12-24h, log hourly) hỗ trợ PITR lên đến 35 ngày (hoặc hơn với config). Tuy nhiên, chỉ một loại backup đặc biệt đảm bảo khôi phục khi logical server bị xóa hoàn toàn (server deletion xóa hết automated backups thông thường).
🎯 Đáp án đúng: long-term retention (LTR) ✅
Lý do lựa chọn:
Long-term retention (LTR) là giải pháp backup dài hạn của Azure SQL Database (cập nhật đến 2026: hỗ trợ retention lên đến 10 năm, Gen2 storage với chi phí tối ưu hóa). LTR backups được lưu trữ độc lập (geo-redundant, không gắn với lifecycle của logical server gốc), nên có thể restore DB3 ra server mới ngay cả khi logical server gốc bị xóa. Điều này trực tiếp đáp ứng yêu cầu availability "Ensure that DB3 can be restored if the logical server is deleted", đồng thời minimize costs (pay-per-storage) và administrative effort (auto-configurable). LTR tương thích với auto-failover group và elastic jobs.
🛠️ Cách implement: Tạo LTR policy qua Azure Portal/CLI: New-AzSqlDatabaseLongTermRetentionPolicy. Restore từ LTR vault bất kỳ lúc nào.
📋 Giải thích tất cả các phương án (giữ nguyên nội dung gốc bằng tiếng Anh)
-
differential ❌
Phân tích sai: Differential backup chỉ là backup khác biệt (chỉ thay đổi kể từ full backup gần nhất), thuộc automated backups mặc định của Azure SQL DB. Khi logical server bị xóa, tất cả automated backups (bao gồm differential) sẽ bị xóa theo, không thể restore. Không đáp ứng yêu cầu khôi phục sau server deletion, chỉ phù hợp cho recovery ngắn hạn nội bộ server. -
transaction log ❌
Phân tích sai: Transaction log backup dùng cho point-in-time recovery (phục hồi đến thời điểm cụ thể bằng log chain). Tuy nhiên, log backups cũng là phần của automated backups gắn chặt với logical server. Server deletion sẽ xóa hết log backups, không thể dùng để restore DB3 độc lập. Không phù hợp cho scenario long-term hoặc server-lifecycle independent. -
long-term retention (LTR) ✅
(Đã giải thích ở trên: Đúng vì độc lập server, retention dài hạn, chi phí thấp – lý tưởng cho compliance data như DB3). -
point-in-time restore (PITR) ❌
Phân tích sai: PITR dùng automated backups (full + diff + log) để restore đến thời điểm bất kỳ trong retention period (7-35 ngày mặc định, mở rộng với LTR). Nhưng PITR phụ thuộc hoàn toàn vào logical server tồn tại; server deletion xóa hết backups, không restore được. PITR chỉ intra-server, không geo-independent như LTR.
📘 Tài liệu tham khảo (cập nhật AWS? – Case là Azure, áp dụng docs Azure mới nhất 2024-2026)
- Azure SQL Database automated backups & LTR ✅ (Xác nhận LTR independent of server deletion).
- Restore from LTR after server deletion 🛠️ (Hướng dẫn restore bất kỳ server nào).
- Azure SQL availability & failover (Tích hợp LTR với auto-failover).
- Kiến thức 2026: LTR Gen2 (2023+) hỗ trợ zone-redundant, compressible storage giảm 50% chi phí cho DB3 compliance.
💡 Lời khuyên DBA: Đối với Azure SQL DB như DB3, luôn enable LTR cho dữ liệu quan trọng (compliance/audit). Kết hợp với auditing (security req: audit all changes) và elastic jobs để tự động hóa. Minimize downtime migration dùng Azure Database Migration Service (DMS).
This is a case study. Case studies are not timed separately. You can use as much exam time as you would like to complete each case. However, there may be additional case studies and sections on this exam. You must manage your time to ensure that you are able to complete all questions included on this exam in the time provided.
To answer the questions included in a case study, you will need to reference information that is provided in the case study. Case studies might contain exhibits and other resources that provide more information about the scenario that is described in the case study. Each question is independent of the other questions in this case study.
At the end of this case study, a review screen will appear. This screen allows you to review your answers and to make changes before you move to the next section of the exam. After you begin a new section, you cannot return to this section.
To start the case study -
To display the first question in this case study, click the Next button. Use the buttons in the left pane to explore the content of the case study before you answer the questions. Clicking these buttons displays information such as business requirements, existing environment, and problem statements. If the case study has an All Information tab, note that the information displayed is identical to the information displayed on the subsequent tabs. When you are ready to answer a question, click the Question button to return to the question.
Overview -
ADatum Corporation is a financial services company that has a main office in New York City.
Existing Environment. Licensing Agreement
ADatum has a Microsoft Volume Licensing agreement that includes Software Assurance.
Existing Environment. Network Infrastructure
ADatum has an on-premises datacenter and an Azure subscription named Sub1.
Sub1 contains a virtual network named Network1 in the East US Azure region.
The datacenter is connected to Network1 by using a Site-to-Site (S2S) VPN.
Existing Environment. Identity Environment
The on-premises network contains an Active Directory Domain Services (AD DS) forest.
The forest contains a single domain named corp.adatum.com.
The corp.adatum.com domain syncs with a Microsoft Entra tenant named adatum.com.
Existing Environment. Database Environment
The datacenter contains the servers shown in the following table.
DB1 and DB2 are used for transactional and analytical workloads by an application named App1.
App1 runs on Microsoft Entra hybrid joined servers that run Windows Server 2022. App1 uses Kerberos authentication.
DB3 stores compliance data used by two applications named App2 and App3.
DB3 performance is monitored by using Extended Events sessions, with the event_file target set to a file share on a local disk of SVR3.
Resource allocation for DB3 is managed by using Resource Governor.
Requirements. Planned Changes -
ADatum plans to implement the following changes:
•Deploy an Azure SQL managed instance named Instance1 to Network1.
•Migrate DB1 and DB2 to Instance1.
•Migrate DB3 to Azure SQL Database.
•Following the migration of DB1 and DB2, hand over database development to remote developers who use Microsoft Entra joined Windows 11 devices.
•Following the migration of DB3, configure the database to be part of an auto-failover group.
Requirements. Availability Requirements
ADatum identifies the following post-migration availability requirements:
•For DB1 and DB2, offload analytical workloads to a read-only database replica in the same Azure region.
•Ensure that if a regional disaster occurs, DB1 and DB2 can be recovered from backups.
•After the migration, App1 must maintain access to DB1 and DB2.
•For DB3, manage potential performance issues caused by resource demand changes by App2 and App3.
•Ensure that DB3 will still be accessible following a planned failover.
•Ensure that DB3 can be restored if the logical server is deleted.
•Minimize downtime during the migration of DB1 and DB2.
Requirements. Security Requirements
ADatum identifies the following security requirements for after the migration:
•Ensure that only designated developers who use Microsoft Entra joined Windows 11 devices can access DB1 and DB2 remotely.
•Ensure that all changes to DB3, including ones within individual transactions, are audited and recorded.
Requirements. Management Requirements
ADatum identifies the following post-migration management requirements:
•Continue using Extended Events to monitor DB3.
•In Azure SQL Database, automate the management of DB3 by using elastic jobs that have database-scoped credentials.
Requirements. Business Requirements
ADatum identifies the following business requirements:
•Minimize costs whenever possible, without affecting other requirements.
•Minimize administrative effort.
You need to recommend a solution to ensure that the performance of DB3 is optimized after the migration to Azure SQL Database. The solution must meet availability requirements.
What should you include in the recommendation?
- A vertical scaling
- B a custom resource pool
- C Resource Governor
- D horizontal scaling
Xem giải thích
🧩 Phân tích chi tiết nội dung câu hỏi
Câu hỏi thuộc phần case study của kỳ thi chứng chỉ (có lẽ là DP-300: Administering Microsoft Azure SQL Solutions), mô tả tình huống thực tế tại công ty ADatum Corporation – một công ty dịch vụ tài chính.
-
Bối cảnh hiện tại (Existing Environment):
- Hạ tầng on-premises bao gồm các server SQL Server: SVR1 (Windows Server 2016, SQL Server 2016 Enterprise, có Always On Availability Group AG1 chứa DB1 và DB2?), SVR2 (tương tự, AG2 chứa DB1 DB2), SVR3 (Windows Server 2019, SQL Server 2019 Enterprise chứa DB3). 📊 (Từ hình ảnh bảng: SVR1/SVR2 dùng cho DB1/DB2 transactional/analytical workloads của App1; SVR3 dùng DB3 cho compliance data của App2/App3. DB3 hiện dùng Resource Governor để quản lý tài nguyên, Extended Events để monitor với target file share local).
- Kết nối với Azure qua S2S VPN, domain corp.adatum.com sync với Entra ID (Azure AD).
-
Kế hoạch thay đổi (Planned Changes): Migrate DB1/DB2 sang Azure SQL Managed Instance (Instance1), DB3 sang Azure SQL Database. Sau migrate, DB3 join auto-failover group; handover dev cho remote devs dùng Entra-joined Win11.
-
Yêu cầu Availability cho DB3 sau migrate ✅:
- Quản lý performance issues do thay đổi demand từ App2/App3 (tức workload biến động).
- DB3 vẫn accessible sau planned failover.
- Khôi phục được nếu logical server bị xóa.
- Minimize downtime migrate.
-
Câu hỏi cụ thể: Khuyến nghị giải pháp để optimize performance của DB3 sau migrate sang Azure SQL Database, đồng thời đáp ứng availability requirements. 🛠️ (Tập trung vào DB3: workload compliance, varying resource demands từ 2 apps, cần scale linh hoạt mà không ảnh hưởng HA/DR).
Câu hỏi yêu cầu giải pháp optimize performance (tăng tốc, xử lý load biến động) trong Azure SQL Database, phải phù hợp với auto-failover group (hỗ trợ General Purpose/Business Critical/Hyperscale tiers) và các req khác như elastic jobs, Extended Events (hỗ trợ trong Azure SQL DB).
✅ Đáp án đúng: vertical scaling
Lý do lựa chọn 📘:
- Trong Azure SQL Database (phiên bản mới nhất 2026), vertical scaling (scale vCore/DTU up/down) là cách tối ưu để xử lý performance issues do resource demand changes từ App2/App3 – workload biến động cần điều chỉnh compute nhanh chóng mà không downtime (zero-downtime scaling trong hầu hết tiers).
- Đáp ứng availability: Hỗ trợ đầy đủ auto-failover group (AFG) cho HA/DR (planned/unplanned failover), geo-restore nếu logical server delete (point-in-time restore + long-term retention). General Purpose tier (khuyến nghị minimize cost) cho phép vertical scale seamless.
- Trên on-prem, DB3 dùng Resource Governor (không migrate được), nên vertical scaling thay thế hiệu quả, tự động/auto-scale trong serverless compute (nếu dùng Hyperscale/General Purpose serverless – new feature 2024+).
- Minimize cost/admin effort: Scale theo nhu cầu, pay-per-use, không cần custom config phức tạp.
- Kiến thức cập nhật: Theo docs Azure 2026, vertical scaling hỗ trợ Hyperscale (up to 128TB, auto-scale storage/performance) và General Purpose v2 (preview 2024, GA 2025) với serverless option cho varying workloads. ✅
Tài liệu tham khảo:
- Azure SQL Database scaling (vertical scaling guidance).
- Auto-failover groups (hỗ trợ vertical scale).
- DP-300 exam guide (Microsoft Learn, updated 2025).
🔍 Giải thích tất cả các phương án
-
vertical scaling ✅ (Đúng):
Như phân tích trên, đây là giải pháp chuẩn cho Azure SQL DB để optimize performance với workload biến động (scale compute theo demand). Hỗ trợ AFG, zero-downtime, phù hợp req availability (failover accessible, restore server delete via geo-restore/LTR). Thay thế Resource Governor on-prem hiệu quả. 🟢 -
a custom resource pool ❌ (Sai):
Azure SQL Database không hỗ trợ custom resource pools (chỉ có trong SQL Server on-prem/VM/MI). Đây là tính năng của Resource Governor để phân bổ CPU/Memory cho workloads, nhưng PaaS Azure SQL DB quản lý tự động qua service tiers (vCore/DTU). Sử dụng sẽ không khả thi post-migration, không optimize được performance varying demands. 🔴 -
Resource Governor ❌ (Sai):
Resource Governor không được hỗ trợ trong Azure SQL Database (chỉ on-prem, Azure SQL MI, SQL VM). DB3 hiện dùng nó trên SVR3 (SQL 2019 Ent), nhưng sau migrate PaaS, không migrate được. Không đáp ứng req optimize performance (vì thiếu), và không liên quan availability (AFG cần tiers hỗ trợ scaling khác). Microsoft loại bỏ để simplify management. 🛑 -
horizontal scaling ❌ (Sai):
Horizontal scaling (sharding/read replicas/hyperscale) phù hợp analytical/HTAP lớn, nhưng không phải primary cho DB3 (compliance data transactional từ App2/App3, không phải massive read-scale). Hyperscale hỗ trợ nhưng tốn kém hơn vertical (req minimize cost), và câu hỏi focus "performance optimized" cho demand changes (scale-out phức tạp hơn, cần app changes). Không trực tiếp thay Resource Governor cho resource mgmt. Vertical ưu tiên cho single DB varying load. 📉
Kết luận 🎯: Vertical scaling là khuyến nghị tối ưu, align đầy đủ req. Migrate DB3 dùng General Purpose tier + AFG + vertical scale để minimize cost/effort! 🚀
This is a case study. Case studies are not timed separately. You can use as much exam time as you would like to complete each case. However, there may be additional case studies and sections on this exam. You must manage your time to ensure that you are able to complete all questions included on this exam in the time provided.
To answer the questions included in a case study, you will need to reference information that is provided in the case study. Case studies might contain exhibits and other resources that provide more information about the scenario that is described in the case study. Each question is independent of the other questions in this case study.
At the end of this case study, a review screen will appear. This screen allows you to review your answers and to make changes before you move to the next section of the exam. After you begin a new section, you cannot return to this section.
To start the case study -
To display the first question in this case study, click the Next button. Use the buttons in the left pane to explore the content of the case study before you answer the questions. Clicking these buttons displays information such as business requirements, existing environment, and problem statements. If the case study has an All Information tab, note that the information displayed is identical to the information displayed on the subsequent tabs. When you are ready to answer a question, click the Question button to return to the question.
Overview -
ADatum Corporation is a financial services company that has a main office in New York City.
Existing Environment. Licensing Agreement
ADatum has a Microsoft Volume Licensing agreement that includes Software Assurance.
Existing Environment. Network Infrastructure
ADatum has an on-premises datacenter and an Azure subscription named Sub1.
Sub1 contains a virtual network named Network1 in the East US Azure region.
The datacenter is connected to Network1 by using a Site-to-Site (S2S) VPN.
Existing Environment. Identity Environment
The on-premises network contains an Active Directory Domain Services (AD DS) forest.
The forest contains a single domain named corp.adatum.com.
The corp.adatum.com domain syncs with a Microsoft Entra tenant named adatum.com.
Existing Environment. Database Environment
The datacenter contains the servers shown in the following table.
DB1 and DB2 are used for transactional and analytical workloads by an application named App1.
App1 runs on Microsoft Entra hybrid joined servers that run Windows Server 2022. App1 uses Kerberos authentication.
DB3 stores compliance data used by two applications named App2 and App3.
DB3 performance is monitored by using Extended Events sessions, with the event_file target set to a file share on a local disk of SVR3.
Resource allocation for DB3 is managed by using Resource Governor.
Requirements. Planned Changes -
ADatum plans to implement the following changes:
•Deploy an Azure SQL managed instance named Instance1 to Network1.
•Migrate DB1 and DB2 to Instance1.
•Migrate DB3 to Azure SQL Database.
•Following the migration of DB1 and DB2, hand over database development to remote developers who use Microsoft Entra joined Windows 11 devices.
•Following the migration of DB3, configure the database to be part of an auto-failover group.
Requirements. Availability Requirements
ADatum identifies the following post-migration availability requirements:
•For DB1 and DB2, offload analytical workloads to a read-only database replica in the same Azure region.
•Ensure that if a regional disaster occurs, DB1 and DB2 can be recovered from backups.
•After the migration, App1 must maintain access to DB1 and DB2.
•For DB3, manage potential performance issues caused by resource demand changes by App2 and App3.
•Ensure that DB3 will still be accessible following a planned failover.
•Ensure that DB3 can be restored if the logical server is deleted.
•Minimize downtime during the migration of DB1 and DB2.
Requirements. Security Requirements
ADatum identifies the following security requirements for after the migration:
•Ensure that only designated developers who use Microsoft Entra joined Windows 11 devices can access DB1 and DB2 remotely.
•Ensure that all changes to DB3, including ones within individual transactions, are audited and recorded.
Requirements. Management Requirements
ADatum identifies the following post-migration management requirements:
•Continue using Extended Events to monitor DB3.
•In Azure SQL Database, automate the management of DB3 by using elastic jobs that have database-scoped credentials.
Requirements. Business Requirements
ADatum identifies the following business requirements:
•Minimize costs whenever possible, without affecting other requirements.
•Minimize administrative effort.
You need to recommend which configuration to perform twice to enable access to the primary and secondary replicas of DB3. The solution must meet the availability requirements.
What should you recommend?
- A Enable database firewall rules.
- B Create database-scoped credentials.
- C Configure connection strings that reference the read-write listener.
- D Configure virtual network service endpoints.
Xem giải thích
🧩 Phân tích chi tiết nội dung câu hỏi
Câu hỏi thuộc phần case study của kỳ thi chứng chỉ Azure (như DP-300: Administering Microsoft Azure SQL Solutions), mô tả tình huống thực tế của công ty ADatum – một doanh nghiệp dịch vụ tài chính. Họ có hạ tầng on-premises với các server SQL Server (SVR1, SVR2, SVR3) như sau (dựa trên hình ảnh đính kèm):
- SVR1: Windows Server 2016, SQL Server 2016 Enterprise, có Always On Availability Group (AG) tên AG1 chứa hai database DB1 và DB2.
- SVR2: Windows Server 2016, SQL Server 2016 Enterprise, có Always On Availability Group tên AG1 chứa hai database DB1 và DB2 (cùng AG với SVR1 để high availability).
- SVR3: Windows Server 2019, SQL Server 2019 Enterprise, chứa database DB3 (dùng cho App2 và App3 lưu trữ dữ liệu compliance).
Kế hoạch thay đổi chính:
- Migrate DB1/DB2 sang Azure SQL Managed Instance (Instance1).
- Migrate DB3 sang Azure SQL Database và cấu hình thành phần của auto-failover group (nhóm failover tự động, bao gồm primary replica và secondary replica để đảm bảo tính sẵn sàng cao).
Yêu cầu availability cho DB3 sau migration (liên quan trực tiếp đến câu hỏi):
- Quản lý vấn đề hiệu suất do thay đổi nhu cầu tài nguyên từ App2 và App3.
- Đảm bảo DB3 vẫn accessible sau planned failover (chuyển đổi chủ động).
- Đảm bảo DB3 có thể restore nếu logical server bị xóa.
- Giảm thiểu downtime migration (không trực tiếp nhưng hỗ trợ HA).
Câu hỏi tập trung vào: Recommend cấu hình nào cần thực hiện LẦN NỬA (perform twice) để enable access đến primary và secondary replicas của DB3, đồng thời đáp ứng yêu cầu availability (đặc biệt là accessible sau failover).
Bối cảnh then chốt: Sau migration, DB3 nằm trong auto-failover group của Azure SQL Database (phiên bản mới nhất 2026 hỗ trợ geo-redundant với readable secondary). Primary replica xử lý read-write, secondary replica hỗ trợ read-only và failover tự động. App2/App3 cần kết nối ổn định đến cả hai replicas mà không gián đoạn sau failover. Việc "perform twice" ám chỉ cần áp dụng cho hai ứng dụng App2 và App3 (vì DB3 dùng chung bởi hai app này).
✅ Đáp án đúng và lý do lựa chọn
Đáp án đúng: Configure connection strings that reference the read-write listener.
🛠️ Lý do chi tiết:
- Trong Azure SQL Database auto-failover group (cập nhật mới nhất 2026), mỗi group có read-write listener endpoint (ví dụ:
myfailovergroup.database.windows.net) – một DNS endpoint duy nhất tự động route traffic read-write đến primary replica. Khi planned failover xảy ra, listener tự động chuyển hướng đến secondary replica mới trở thành primary, đảm bảo accessible liên tục mà không cần thay đổi connection string. - Để "enable access đến primary và secondary replicas": Apps dùng listener này để luôn kết nối primary (RW), và secondary gián tiếp qua failover/read-only listener (nếu cần RO workload). Điều này đáp ứng yêu cầu "DB3 still accessible following planned failover" và restore nếu server xóa (failover group bảo vệ point-in-time restore).
- Perform twice: Vì DB3 dùng bởi hai apps (App2 và App3), cần cập nhật connection strings trong config của cả hai apps để reference listener endpoint này. Không làm vậy, apps sẽ mất kết nối sau failover.
- Giảm thiểu admin effort và cost (business reqs), vì listener transparent, không cần hardcode server names.
- Hình ảnh servers on-prem (AGs) chỉ minh họa existing env, không ảnh hưởng post-migration Azure.
📋 Phân tích tất cả các phương án (đúng/sai)
Dưới đây là phân tích từng lựa chọn giữ nguyên text gốc tiếng Anh, với giải thích hoàn toàn bằng tiếng Việt sử dụng emoji để nổi bật:
-
❌ Enable database firewall rules.
❌ Sai vì: Firewall rules (database-level) chỉ kiểm soát access từ IP cụ thể đến database, không liên quan đến routing traffic giữa primary/secondary replicas trong failover group. Chúng không đảm bảo access sau failover (listener mới tự handle), và không cần "perform twice" cụ thể cho replicas. Nếu dùng, vẫn cần kết hợp listener, nhưng không giải quyết yêu cầu cốt lõi. -
❌ Create database-scoped credentials.
❌ Sai vì: Database-scoped credentials dùng cho elastic jobs (management req cho DB3 tự động hóa) hoặc T-SQL external access, không phải để enable app access replicas. Chúng authenticate cho jobs/services, không route connection đến primary/secondary. Không đáp ứng availability sau failover. -
✅ Configure connection strings that reference the read-write listener.
✅ Đúng vì: Như giải thích trên, đây là cách chuẩn (best practice Azure 2026) để apps (App2/App3) kết nối ổn định đến cả hai replicas qua single endpoint. Perform twice cho hai apps, đảm bảo no downtime post-failover, offload workload nếu cần RO listener bổ sung. -
❌ Configure virtual network service endpoints.
❌ Sai vì: VNet service endpoints bảo mật network traffic từ VNet đến Azure SQL (như Sub1/Network1), chỉ là lớp networking, không enable access replicas hay handle failover routing. On-prem connect via S2S VPN rồi migrate, nhưng không cần "twice" cho replicas và không đáp ứng req accessible sau failover.
📘 Tài liệu tham khảo (cập nhật mới nhất đến 2026)
- Azure Docs - Auto-failover groups: docs.microsoft.com/en-us/azure/azure-sql/database/auto-failover-group-overview – Chi tiết listener endpoints và connection strings.
- Connection policies for failover: docs.microsoft.com/en-us/azure/azure-sql/database/connectivity-settings – Read-write listener best practice.
- DP-300 Exam Guide: Microsoft Learn – Case studies nhấn mạnh listener cho HA in Azure SQL DB (2024-2026 updates hỗ trợ serverless và geo-restore).
- Always On Migration to Azure: docs.microsoft.com/en-us/azure/azure-sql/managed-instance/migrate-ag – Liên kết AG on-prem (hình ảnh) với Azure failover.
Hy vọng phân tích này giúp bạn nắm vững! 🚀 Nếu cần thêm chi tiết Azure SQL admin, hãy hỏi nhé.