Ngân hàng đề — Microsoft Azure Database Administrator

Tìm thấy 217 câu.

Câu 181
You have two on-premises Microsoft SQL Server 2019 instances named SQL1 and SQL2.

You need to migrate the databases hosted on SQL1 to Azure. The solution must meet the following requirements:

•The service that hosts the migrated databases must be able to communicate with SQL2 by using linked server connections.
•Administrative effort must be minimized.

What should you use to host the databases?
  1. A a single Azure SQL database
  2. B SQL Server on Azure Virtual Machines
  3. C Azure SQL Managed Instance
  4. D an Azure SQL Database elastic pool
Xem giải thích

🧩 Giải thích nội dung câu hỏi

Câu hỏi mô tả tình huống: Bạn có hai instance Microsoft SQL Server 2019 on-premises tên là SQL1 và SQL2.
Nhiệm vụ là migrate các database từ SQL1 sang Azure, với hai yêu cầu chính:

  • Dịch vụ lưu trữ các database đã migrate phải có khả năng giao tiếp với SQL2 thông qua linked server connections (kết nối liên server, cho phép query dữ liệu giữa các SQL Server instances).
  • Giảm thiểu nỗ lực quản trị (administrative effort phải minimized), nghĩa là ưu tiên giải pháp tự động hóa cao, ít phải quản lý thủ công như patch, backup, scaling.
    🛠️ Mục tiêu chính: Chọn dịch vụ Azure phù hợp để host database, đảm bảo tính tương thích SQL Server cao (hỗ trợ linked server outbound đến SQL2 on-prem) và mô hình PaaS để giảm admin effort.
    📘 Kiến thức cập nhật: Dựa trên tài liệu Azure mới nhất (2024-2026), Azure SQL Managed Instance hỗ trợ gần 100% tính năng SQL Server Enterprise, bao gồm linked servers (docs: Azure SQL Managed Instance - Linked servers).

✅ Đáp án đúng và lý do lựa chọn

Azure SQL Managed Instance
🧩 Lý do: Đây là dịch vụ PaaS (Platform as a Service) với tương thích cao nhất (hỗ trợ linked server connections đầy đủ, bao gồm outbound đến SQL2 on-prem qua VNet peering hoặc VPN). Nó tự động hóa hầu hết admin tasks (backup, patching, high availability), minimize administrative effort. Phù hợp migrate lift-and-shift từ SQL Server 2019 mà không thay đổi code lớn.
📘 Nguồn: Migration to Azure SQL Managed Instance và Linked servers in Managed Instance.

🔍 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 văn bản gốc tiếng Anh). Tôi đánh dấu ✅ đúng hoặc ❌ sai, kèm lý do chi tiết bằng tiếng Việt dựa trên tính năng Azure mới nhất:

  • ❌ a single Azure SQL database
    ❌ Sai vì: Azure SQL Database (single DB) là PaaS thuần túy, không hỗ trợ linked server outbound đến SQL Server on-prem như SQL2 (chỉ hỗ trợ inbound elastic queries hoặc external tables hạn chế). Không đáp ứng yêu cầu giao tiếp linked server. Tuy giảm admin effort, nhưng thiếu tương thích SQL Server đầy đủ cho migrate phức tạp.
    📘 Nguồn: Azure SQL Database features not supported.

  • ❌ SQL Server on Azure Virtual Machines
    ❌ Sai vì: Đây là IaaS, hỗ trợ linked servers đầy đủ (giống on-prem), nhưng administrative effort cao (phải tự quản lý VM: OS patching, backup, HA, scaling thủ công). Không minimize effort như yêu cầu, dù migrate dễ dàng lift-and-shift.
    📘 Nguồn: SQL Server on Azure VMs overview.

  • ✅ [ĐÚNG] Azure SQL Managed Instance
    ✅ Đúng vì: Hỗ trợ linked servers outbound đầy đủ (cấu hình dễ dàng qua VNet integration với SQL2 on-prem), tương thích 99% SQL Server 2019. Là PaaS managed, tự động hóa admin (auto-patching, backup, failover), minimize effort tối đa. Lý tưởng cho migrate database với kết nối cross-premises.
    📘 Nguồn: Azure SQL Managed Instance compatibility.

  • ❌ an Azure SQL Database elastic pool
    ❌ Sai vì: Elastic pool chỉ là cơ chế scaling cho nhiều single Azure SQL Databases (chia sẻ resources), không hỗ trợ linked servers outbound (giống single DB). Không giải quyết yêu cầu giao tiếp SQL2, chỉ optimize cost/performance cho workload read/write-heavy, không phải host migrate với linked server.
    📘 Nguồn: Elastic pools in Azure SQL Database.

Câu 182
You have an Azure SQL database named DB1 in the General Purpose service tier.

The performance metrics for DB1 are shown in the following exhibit.



You need to reduce the Log IO percentage. The solution must minimize costs.

What should you do?
  1. A Change Service tier to Business Critical.
  2. B Increase the number of vCores.
  3. C Perform a checkpoint operation.
  4. D Change Recovery model to Simple.
Xem giải thích

🧩 Phân tích chi tiết nội dung câu hỏi

Câu hỏi xoay quanh một cơ sở dữ liệu Azure SQL Database tên là DB1, đang chạy ở service tier General Purpose. 📊 Hình ảnh biểu đồ performance metrics hiển thị Log IO percentage (Max) theo thời gian thực (từ 12:30 đến 12:50 UTC).

  • Phân tích hình ảnh cụ thể:
    • Trục Y: Phần trăm Log IO từ 0% đến 110% (với đường max ở 100%).
    • Trục X: Thời gian từ 12:30 đến 12:50 UTC.
    • Đường biểu đồ màu xanh: Thấp gần 0% từ 12:30 đến khoảng 12:40, sau đó spike đột ngột lên 100% từ 12:40 đến 12:50, rồi giảm dần xuống thấp.
    • Vấn đề chính: Log IO percentage cao bất thường (đỉnh 100%), cho thấy transaction log đang bị tắc nghẽn (log write bottleneck), thường do các trang dirty (dữ liệu chưa được ghi vào disk) tích tụ trong buffer cache, chờ checkpoint để flush vào log files. Điều này phổ biến ở workload nặng hoặc checkpoint tự động bị delay trong General Purpose tier.

Mục tiêu: Giảm Log IO percentage mà phải minimize costs (tiết kiệm chi phí nhất). 🛠️ Đây là vấn đề phổ biến trong Azure SQL, nơi Log IO cao ảnh hưởng hiệu suất mà không cần nâng cấp hardware ngay lập tức.

✅ Đáp án đúng: Perform a checkpoint operation

Lý do chọn đáp án đúng (dựa trên kiến thức Azure SQL cập nhật đến 2026):

  • Checkpoint operation (lệnh CHECKPOINT trong T-SQL) sẽ flush ngay lập tức các dirty pages từ buffer cache vào data và log files, giải phóng transaction log và giảm Log IO percentage nhanh chóng.
  • Hình ảnh cho thấy spike đột ngột → checkpoint thủ công sẽ xử lý backlog log writes mà không tốn thêm chi phí (chỉ là operation miễn phí, không thay đổi tier hay resources).
  • Trong General Purpose tier (serverless hoặc provisioned), checkpoint tự động có thể delay do compute sharing, nên manual checkpoint là giải pháp tối ưu, minimize costs. ✅ Theo docs Azure 2024-2026, đây là best practice cho high log IO spikes.

❌ Giải thích tất cả các phương án (đúng/sai)

  • Change Service tier to Business Critical ❌
    Sai vì: Business Critical tier cung cấp local SSD storage và higher IOPS/throughput cho log writes, có thể giảm Log IO lâu dài. Tuy nhiên, nó đắt hơn nhiều (khoảng 3-5x General Purpose), vi phạm yêu cầu minimize costs. Không cần thiết cho spike tạm thời như trong hình.

  • Increase the number of vCores ❌
    Sai vì: Tăng vCores nâng compute capacity, giúp xử lý workload nhanh hơn và gián tiếp giảm log pressure (nhờ checkpoint nhanh hơn). Nhưng tăng chi phí provisioned compute (theo giờ sử dụng), không phải giải pháp rẻ nhất cho vấn đề log-specific. Hình ảnh spike log IO thuần túy, không phải CPU-bound.

  • Perform a checkpoint operation ✅
    Đúng vì: Như đã giải thích trên, trực tiếp flush log backlog, giảm IO percentage ngay lập tức miễn phí, phù hợp spike đột ngột trong hình. Không ảnh hưởng recovery model hay tier.

  • Change Recovery model to Simple ❌
    Sai vì: Simple recovery model giảm log retention (không giữ tail-log cho full backups), ít log writes hơn cho bulk ops. Tuy nhiên, không giải quyết backlog log hiện tại (spike đã xảy ra), và mất point-in-time recovery (rủi ro dữ liệu). Không minimize costs hiệu quả cho vấn đề IO tức thì; cần full recovery cho production DB.

📘 Tài liệu tham khảo (cập nhật mới nhất Azure đến 2026)

Giải pháp này đảm bảo hiệu suất cao mà tiết kiệm! 🚀 Nếu cần script T-SQL, hãy cho biết thêm.

Câu 183
You have an Azure subscription that contains three instances of SQL Server on Azure Virtual Machines.

You plan to implement a disaster recovery solution.

You need to be able to perform disaster recovery drills regularly. The solution must meet the following requirements:

•Minimize administrative effort for the recovery drills.
•Isolate the recovery environment from the production environment

What should you use?
  1. A native Microsoft SQL Server backup
  2. B Azure Site Recovery
  3. C Recovery Services vaults
  4. D Azure Backup
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 xoay quanh việc triển khai giải pháp khôi phục thảm họa (Disaster Recovery - DR) cho ba instance SQL Server chạy trên Azure Virtual Machines (VMs) trong một Azure subscription. Yêu cầu chính bao gồm:

  • Thực hiện các bài kiểm tra DR drills định kỳ (tức là mô phỏng khôi phục mà không ảnh hưởng đến môi trường production thực tế).
  • Giảm thiểu nỗ lực quản trị cho các buổi drills này (tức là tự động hóa, dễ dàng thực hiện mà không cần can thiệp thủ công nhiều).
  • Cách ly môi trường khôi phục khỏi môi trường production (tức là tạo môi trường test riêng biệt, không làm gián đoạn hệ thống đang chạy).

🛠️ Bối cảnh kỹ thuật: SQL Server trên Azure VMs là các máy ảo IaaS, không phải PaaS như Azure SQL Database. Giải pháp DR cần hỗ trợ replication toàn bộ VM (bao gồm OS, ứng dụng SQL Server và dữ liệu), cho phép test failover (chuyển đổi thử nghiệm) để drills mà không ảnh hưởng production. Kiến thức cập nhật đến năm 2026 (Azure Site Recovery phiên bản mới nhất hỗ trợ Azure-to-Azure replication với RPO thấp, test failover isolated qua recovery plans và managed disks).

✅ Đáp án đúng: Azure Site Recovery

Lý do lựa chọn:

  • Azure Site Recovery (ASR) là dịch vụ chuyên biệt cho DR và migration VMs, hỗ trợ replication liên tục các Azure VMs (bao gồm SQL Server) đến một vùng/target khác.
  • ✅ Minimize administrative effort: ASR cho phép tạo Recovery Plans tự động hóa toàn bộ quy trình failover (multi-VM coordination), chỉ cần click để test failover mà không cần restore thủ công.
  • ✅ Isolate recovery environment: Test failover tạo môi trường riêng biệt (sử dụng resource group/network khác, shutdown VMs production tạm thời nếu cần nhưng có thể rollback dễ dàng), hoàn toàn cách ly khỏi production.
  • ✅ Phù hợp drills định kỳ: Hỗ trợ Test Failover không ảnh hưởng production, sau drills dùng Cleanup để xóa môi trường test.
  • 📘 Nguồn tham khảo: Azure Site Recovery documentation (updated 2025) và Recovery Plans for orchestrated failovers.

📋 Giải thí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 văn bản gốc bằng tiếng Anh. Mỗi phương án được đánh giá dựa trên yêu cầu câu hỏi:

  • native Microsoft SQL Server backup
    ❌ Sai: Đây chỉ là tính năng backup database native của SQL Server (như FULL/DIFF/LOG backups). Không hỗ trợ replication toàn VM, không có cơ chế test failover tự động để drills, và yêu cầu nỗ lực cao (restore thủ công trên VM mới). Không isolate môi trường đầy đủ vì phải tạo VM thủ công. Không phù hợp cho DR VMs Azure.

  • Azure Site Recovery
    ✅ Đúng: Như giải thích ở trên, ASR đáp ứng hoàn hảo tất cả yêu cầu: drills dễ dàng với test failover isolated, tự động hóa cao, replication VM-level. Là lựa chọn chuẩn cho Azure VMs DR theo best practices Microsoft.

  • Recovery Services vaults
    ❌ Sai: Đây chỉ là kho lưu trữ (vault) dùng chung cho Azure Backup và ASR để quản lý backups/replications. Không phải giải pháp DR thực thi, không hỗ trợ drills/test failover trực tiếp. Bạn vẫn cần ASR hoặc Azure Backup bên trong vault để hoạt động.

  • Azure Backup
    ❌ Sai: Dịch vụ backup VMs/databases tốt cho point-in-time restore, nhưng drills yêu cầu full environment failover (multi-VM). Azure Backup thiếu test failover isolated tự động như ASR (chỉ restore đơn lẻ, nỗ lực cao để setup môi trường test riêng), không optimize cho DR drills định kỳ trên VMs SQL Server.

Câu 184
You have an Azure SQL database named DB1 that contains a nonclustered index named index1.

End users report slow queries when they use index1.

You need to identify the operations that are being performed on the index.

Which dynamic management view should you use?
  1. A Sys.dm_exec_query_plan_stats
  2. B Sys.dm_db_index_physical_stats
  3. C Sys.dm_db_index_operational_stats
  4. D Sys.dm_db_index_useage_stats
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 quản trị cơ sở dữ liệu Azure SQL Database, cụ thể là xử lý vấn đề hiệu suất index. Tình huống: Bạn có một cơ sở dữ liệu Azure SQL tên DB1 chứa một nonclustered index tên index1. Người dùng cuối báo cáo truy vấn chậm khi sử dụng index này. Nhiệm vụ: Xác định các hoạt động (operations) đang được thực hiện trên index để chẩn đoán nguyên nhân chậm.

🔍 Mục tiêu chính: Chọn Dynamic Management View (DMV) phù hợp để theo dõi các hoạt động thời gian thực trên index, như seek, scan, update, latch waits, page splits... Điều này giúp DBA Azure xác định bottleneck gây chậm query liên quan đến index.

📘 Kiến thức cập nhật: Theo tài liệu Microsoft Azure SQL Database mới nhất (tính đến 2026, phiên bản SQL Server engine 16.x+ tích hợp trong Azure SQL), các DMV này được sử dụng để monitor hiệu suất index mà không cần công cụ bên ngoài.

✅ Đáp án đúng: Sys.dm_db_index_operational_stats

Lý do lựa chọn:
DMV này cung cấp thống kê hoạt động thời gian thực (real-time operational stats) cho index cụ thể, bao gồm các chỉ số như range_scan_count, singleton_lookup_count, leaf_insert_count, leaf_delete_count, page_split_count, page_merge_count, và các latch waits. Nó lý tưởng để xác định operations đang diễn ra trên index1 gây chậm query, đặc biệt trong môi trường Azure SQL với workload động. Dữ liệu reset khi index offline hoặc server restart, giúp capture vấn đề hiện tại.
🛠️ Cách dùng ví dụ:

SELECT * FROM sys.dm_db_index_operational_stats(DB_ID('DB1'), OBJECT_ID('table_name'), 1, NULL) 
WHERE index_id = (SELECT index_id FROM sys.indexes WHERE name = 'index1');

❌ Giải thích tất cả các phương án

  • Sys.dm_exec_query_plan_stats
    ❌ Sai: DMV này tập trung vào thống kê query plan (như cached plan stats, execution stats cho query), không cung cấp thông tin cụ thể về operations trên index. Nó hữu ích cho phân tích query execution tổng quát, nhưng không drill-down vào index-level operations như seek/scan/update. Không phù hợp để troubleshoot index1 cụ thể.

  • Sys.dm_db_index_physical_stats
    ❌ Sai: DMV này báo cáo thống kê vật lý (physical stats) của index, như fragmentation (avg_fragmentation_in_percent), page count, fill factor. Tuyệt vời để detect fragmentation gây chậm, nhưng không theo dõi operations đang thực hiện (chỉ snapshot trạng thái tĩnh). Phải scan toàn bộ index, tốn tài nguyên.

  • Sys.dm_db_index_operational_stats
    ✅ Đúng (như đã giải thích ở trên). Đây là lựa chọn chính xác nhất cho operations thời gian thực trên index.

  • Sys.dm_db_index_useage_stats
    ❌ Sai (lưu ý: tên đúng là sys.dm_db_index_usage_stats): DMV này theo dõi thống kê sử dụng tích lũy (cumulative usage) từ lần restart SQL Server hoặc index rebuild, như user_seeks, user_scans, user_lookups, user_updates. Dữ liệu không real-time (có thể cũ), reset thường xuyên, nên không chính xác để identify operations đang diễn ra gây chậm query hiện tại.

📚 Tài liệu tham khảo

🛠️ Lời khuyên DBA Azure: Kết hợp DMV này với Extended Events hoặc Query Store để monitor liên tục, và cân nhắc rebuild index nếu phát hiện page splits cao!

Câu 185
You have an instance of SQL Server on Azure Virtual Machines named VM1.

You need to implement a disaster recovery solution that meets the following requirements:

•Returns the solution to an operational state within 15 minutes of a failure
•Can perform disaster recovery testing in an isolated environment
•Minimizes administrative effort

What should you include in the solution?
  1. A active geo-replication
  2. B auto-failover groups
  3. C Azure Site Recovery
  4. D a failover cluster instance (FCI)
Xem giải thích

🧩 Phân tích chi tiết nội dung câu hỏi

Câu hỏi tập trung vào việc triển khai giải pháp phục hồi sau thảm họa (Disaster Recovery - DR) cho một instance SQL Server chạy trên Azure Virtual Machines (VM) có tên VM1. Các yêu cầu cụ thể bao gồm:

  • ✅ Khôi phục hệ thống về trạng thái hoạt động trong vòng 15 phút sau sự cố (thời gian Recovery Time Objective - RTO ≤ 15 phút).
  • ✅ Thực hiện kiểm tra DR trong môi trường cách ly (isolated environment), tránh ảnh hưởng đến production.
  • ✅ Giảm thiểu nỗ lực quản trị (minimize administrative effort), nghĩa là giải pháp tự động hóa cao, dễ quản lý.

🛠️ Bối cảnh: SQL Server trên Azure VM là mô hình IaaS, không phải PaaS như Azure SQL Database. Giải pháp DR phải hỗ trợ replication VM-level, failover nhanh, test không gián đoạn và quản lý đơn giản. Dựa trên tài liệu Microsoft cập nhật đến năm 2026 (Azure Site Recovery phiên bản mới nhất hỗ trợ RTO dưới 15 phút với near-zero downtime cho VMs).

📘 Tài liệu tham khảo:

✅ Đáp án đúng: Azure Site Recovery

Lý do lựa chọn:
Azure Site Recovery (ASR) là dịch vụ replication và DR chuyên dụng cho Azure VMs, bao gồm SQL Server on VM. Nó đáp ứng hoàn hảo tất cả yêu cầu:

  • RTO ≤ 15 phút: Hỗ trợ crash-consistent snapshots mỗi 30 giây đến 15 phút, failover tự động hoặc thủ công chỉ trong vài phút (thường <15 phút với test failover).
  • Test DR isolated: Tạo "test failover" trong mạng ảo cách ly (isolated VNet), không ảnh hưởng production, dễ cleanup sau test.
  • Minimize admin effort: Tự động hóa replication, monitoring qua Azure portal, policy-based configuration, không cần script phức tạp.
    🧩 ASR replicate toàn bộ VM (bao gồm SQL data), hỗ trợ multi-region, và tích hợp Always On Availability Groups nếu cần.

📋 Giải thích tất cả các phương án (đúng/sai)

  • ❌ active geo-replication
    Phương án này sai vì active geo-replication là tính năng của Azure SQL Database (PaaS), không áp dụng cho SQL Server trên VM (IaaS). Nó replicate database-level ở nhiều vùng, nhưng không hỗ trợ toàn bộ VM, không có isolated test dễ dàng cho VM, và RTO có thể vượt 15 phút nếu downtime cao. Không phù hợp với VM1.

  • ❌ auto-failover groups
    Phương án này sai vì auto-failover groups dành cho Azure SQL Database hoặc Managed Instance, hỗ trợ automatic failover database-level. Không replicate VM infrastructure, thiếu isolated testing cho toàn VM (chỉ test DB), và admin effort cao hơn khi config cross-subscription. Không dùng cho SQL on Azure VM.

  • ✅ Azure Site Recovery
    Như đã giải thích ở phần đáp án đúng: Hoàn toàn phù hợp, tự động, nhanh chóng và isolated. Đây là lựa chọn chuẩn theo best practices Microsoft cho DR VMs đến 2026.

  • ❌ a failover cluster instance (FCI)
    Phương án này sai vì FCI (Always On Failover Cluster Instances) yêu cầu shared storage (như Storage Spaces Direct hoặc SAN), config phức tạp với Windows Failover Clustering. Admin effort cao (manual setup cluster, quorum config), test DR không isolated dễ dàng (cần môi trường riêng đầy đủ), và RTO thường >15 phút nếu failure storage. Phù hợp HA intra-region hơn DR cross-region.

🛠️ Kết luận: Azure Site Recovery là giải pháp tối ưu, giúp DBA Azure dễ dàng quản lý DR cho SQL on VM mà không cần can thiệp sâu! Nếu cần config chi tiết, tham khảo Azure Portal > Site Recovery > Enable replication cho VM1.

Câu 186
You have a SQL Server on Azure Virtual Machines instance named SQLVM1 that was deployed by using an Azure Marketplace SQL Server 2019 Enterprise image.

You need to change the Microsoft SQL Server instance on SQLVM1 to the Standard edition. The solution must ensure licensing compliance.

What should you do first?
  1. A From the SQL Server Installation Center on SQLVM1, run the Edition Upgrade wizard.
  2. B From SQLVM1, uninstall the SQL Server instance.
  3. C From the SQL Server Installation Center on SQLVM1, run the Repair wizard.
  4. D From the Azure portal, reconfigure SQLVM1.
Xem giải thích

🧩 Giải thích nội dung câu hỏi

Câu hỏi tập trung vào tình huống quản lý SQL Server trên Azure Virtual Machines (VM), cụ thể là instance tên SQLVM1 được triển khai từ Azure Marketplace image SQL Server 2019 Enterprise. Nhiệm vụ là thay đổi edition của Microsoft SQL Server instance từ Enterprise sang Standard, đồng thời đảm bảo tuân thủ licensing (giấy phép sử dụng).

🛠️ Chi tiết kỹ thuật:

  • Các image SQL Server từ Azure Marketplace đi kèm license included (giấy phép được tính vào chi phí VM theo edition cụ thể, ví dụ Enterprise đắt hơn Standard).
  • Việc thay đổi edition không đơn giản vì phải cập nhật cả billing Azure (hóa đơn) và cấu hình SQL instance để tránh vi phạm license (ví dụ: sử dụng Enterprise features với license Standard).
  • Bước đầu tiên cần làm phải từ Azure portal để đảm bảo compliance, không thể chỉ thao tác cục bộ trên VM vì Azure quản lý license qua image và extension SQL IaaS.
  • Theo kiến thức cập nhật AWS? (Lưu ý: Câu hỏi thuộc Azure, không phải AWS; có thể là nhầm lẫn chủ đề. Áp dụng docs Azure mới nhất đến 2026, với SQL Server 2022+ hỗ trợ tương tự).

✅ Đáp án đúng và lý do lựa chọn

Đáp án đúng: From the Azure portal, reconfigure SQLVM1.

Lý do 🧩:

  • Với SQLVM1 từ Marketplace image Enterprise, edition được "khóa" với Azure billing model (pay-as-you-go license). Để downgrade sang Standard, bước đầu tiên là reconfigure VM qua Azure portal (thay image reference sang Standard edition image, resize nếu cần, hoặc redeploy với SQL IaaS Extension mới).
  • Điều này đảm bảo licensing compliance vì Azure tự động cập nhật billing (giảm chi phí theo Standard), và SQL instance được reimage/reprovision mà không mất dữ liệu (nếu backup trước).
  • Không dùng local tools vì chúng không sync với Azure license metadata. Theo Azure SQL VM docs (2024-2026), đây là best practice cho edition change.

📋 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 văn bản gốc tiếng Anh). Mỗi phương án được đánh dấu ✅ hoặc ❌, kèm giải thích chi tiết bằng tiếng Việt:

  • ❌ From the SQL Server Installation Center on SQLVM1, run the Edition Upgrade wizard.
    Sai vì: Wizard này chỉ hỗ trợ upgrade edition (ví dụ Developer → Standard), không hỗ trợ downgrade từ Enterprise → Standard một cách chính thức (SQL Server 2019+ giới hạn downgrade features). Hơn nữa, chạy local không cập nhật Azure billing/license metadata, dẫn đến vi phạm compliance (vẫn bị charge Enterprise price). Không phải bước đầu tiên an toàn.

  • ❌ From SQLVM1, uninstall the SQL Server instance.
    Sai vì: Uninstall chỉ xóa instance cục bộ, mất dữ liệu/database nếu không backup, và không tự động reinstall Standard edition. Azure vẫn coi VM là Enterprise image → không compliance license (billing không đổi). Phải redeploy mới, nhưng đây không phải bước đầu tiên hiệu quả, phức tạp và rủi ro cao.

  • ❌ From the SQL Server Installation Center on SQLVM1, run the Repair wizard.
    Sai vì: Repair wizard chỉ sửa lỗi installation/corruption, không thay đổi edition (giữ nguyên Enterprise). Không ảnh hưởng billing Azure, nên vi phạm licensing (vẫn dùng Enterprise license với Standard intent). Đây là công cụ troubleshoot, không dành cho edition switch.

  • ✅ From the Azure portal, reconfigure SQLVM1.
    Đúng vì: Từ portal, chọn VM → Resize/Reimage hoặc Reconfigure SQL VM (qua SQL virtual machine blade), thay image sang SQL Server 2019 Standard Marketplace image. Azure tự sync license/billing, hỗ trợ in-place change với minimal downtime (dùng SQL IaaS Extension v2+). Đảm bảo compliance 100%, theo best practice mới nhất.

📘 Tài liệu tham khảo

Hy vọng phân tích giúp bạn nắm rõ! 🚀 Nếu cần demo Azure portal steps, hãy hỏi thêm.

Câu 187
You plan to deploy an Azure SQL managed instance.

You need to restore database backups across regions.

Which type of storage account should you use?
  1. A locally-redundant storage (LRS)
  2. B zone-redundant storage (ZRS)
  3. C geo-zone-redundant storage (GZRS)
  4. D geo-redundant storage (GRS)
Xem giải thích

🧩 Phân tích chi tiết nội dung câu hỏi

Câu hỏi tập trung vào việc triển khai Azure SQL Managed Instance (một dịch vụ quản lý cơ sở dữ liệu SQL Server trên Azure, cung cấp tính năng gần giống on-premises nhưng được Azure quản lý tự động).
Yêu cầu chính: Khôi phục (restore) bản sao lưu cơ sở dữ liệu qua các vùng (regions) khác nhau.
📌 Bối cảnh: Bản sao lưu của Azure SQL Managed Instance được lưu trữ trong Azure Storage Account. Để hỗ trợ khôi phục cross-region (từ vùng chính sang vùng phụ), tài khoản lưu trữ phải có khả năng sao chép dữ liệu địa lý (geo-replication) đến vùng thứ cấp. Điều này đảm bảo tính sẵn sàng cao và khả năng phục hồi thảm họa (disaster recovery).
🛠️ Phiên bản cập nhật: Theo tài liệu Microsoft Azure mới nhất (tính đến 2026, dựa trên Azure SQL Managed Instance với tính năng Cross-Region Restore - cập nhật từ 2023), chỉ các loại storage hỗ trợ geo-redundancy mới cho phép restore backups từ vùng phụ.

Nguồn tham khảo:
📘 Microsoft Docs: Restore Azure SQL Managed Instance backups
📘 Azure Storage redundancy options

✅ Đáp án đúng và lý do lựa chọn

Đáp án đúng: geo-redundant storage (GRS)
Lý do: GRS sao chép dữ liệu asynchronously từ vùng chính sang vùng phụ (cách nhau ít nhất 300km), cho phép khôi phục bản sao lưu trực tiếp từ vùng thứ cấp mà không cần sao chép thủ công. Đây là yêu cầu bắt buộc cho tính năng Cross-Region Restore của Azure SQL Managed Instance, đảm bảo RPO thấp và khả năng failover nhanh chóng. Các loại khác không hỗ trợ cross-region đầy đủ.

❌ Phân tích tất cả các phương án (đúng/sai)

Dưới đây là phân tích chi tiết từng lựa chọn, giữ nguyên văn bản gốc tiếng Anh. Mỗi phương án được đánh giá dựa trên khả năng hỗ trợ restore cross-region:

  • locally-redundant storage (LRS) ❌ SAI
    LRS chỉ sao lưu dữ liệu trong cùng một data center (3 bản sao), không có replication ra vùng khác. Không thể restore cross-region vì dữ liệu không được sao chép địa lý, dẫn đến mất dữ liệu nếu vùng chính gặp sự cố.

  • zone-redundant storage (ZRS) ❌ SAI
    ZRS phân phối dữ liệu qua 3 availability zones trong cùng một region, tăng tính sẵn sàng intra-region nhưng không replicate cross-region. Restore chỉ giới hạn trong region gốc, không đáp ứng yêu cầu khôi phục qua các vùng.

  • geo-zone-redundant storage (GZRS) ❌ SAI
    GZRS kết hợp ZRS ở vùng chính + GRS sang vùng phụ, hỗ trợ geo-redundancy tốt hơn. Tuy nhiên, theo yêu cầu cụ thể của Azure SQL Managed Instance (cross-region restore), GRS là lựa chọn chuẩn và được khuyến nghị chính thức; GZRS có thể dùng nhưng không phải đáp án tối ưu trong ngữ cảnh câu hỏi (dựa trên docs 2026, ưu tiên GRS cho backups đơn giản).

  • geo-redundant storage (GRS) ✅ ĐÚNG
    Như đã giải thích ở trên, GRS là loại storage lý tưởng với replication asynchronous cross-region, kích hoạt trực tiếp tính năng restore từ secondary region cho Azure SQL Managed Instance.

🛡️ Lưu ý cuối: Chọn storage account khi tạo backup policy trong Azure portal hoặc PowerShell, và kích hoạt cross-region restore qua T-SQL (ALTER DATABASE ... SET HADR GEO BACKUP = PRIMARY). Nếu cần RA-GRS/RA-GZRS (read-access), có thể nâng cấp để đọc từ secondary.

Câu 188
Your on-premises network contains a Microsoft SQL Server 2016 server that hosts a database named db1.

You have an Azure subscription.

You plan to migrate db1 to an Azure SQL managed instance.

You need to create the SQL managed instance. The solution must minimize the disk latency of the instance.

Which service tier should you use?
  1. A Business Critical
  2. B Hyperscale
  3. C General Purpose
  4. D Premium
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 môi trường Azure:
Bạn có một mạng nội bộ (on-premises) chứa máy chủ Microsoft SQL Server 2016 lưu trữ cơ sở dữ liệu tên db1. Bạn sở hữu một Azure subscription và dự định di chuyển (migrate) db1 lên Azure SQL Managed Instance.
Yêu cầu chính: Tạo SQL Managed Instance với giải pháp tối thiểu hóa độ trễ đĩa (minimize the disk latency) của instance.

📌 Mục tiêu cốt lõi: Chọn service tier phù hợp nhất để giảm thiểu thời gian truy cập đĩa (disk I/O latency), đảm bảo hiệu suất cao cho workload yêu cầu tốc độ nhanh. Azure SQL Managed Instance hỗ trợ các service tier khác nhau với đặc tính lưu trữ riêng biệt (local SSD vs. remote storage), ảnh hưởng trực tiếp đến độ trễ.

✅ Đáp án đúng: Business Critical

Lý do lựa chọn:
Service tier Business Critical sử dụng local SSD storage (lưu trữ SSD cục bộ trên máy chủ vật lý), mang lại độ trễ đĩa thấp nhất (thấp hơn 99% so với remote storage). Điều này lý tưởng cho các workload yêu cầu hiệu suất cao, như OLTP với I/O intensive. Theo tài liệu Azure mới nhất (cập nhật 2024-2026), đây là tier được khuyến nghị để minimize disk latency cho Managed Instance.

🛠️ So sánh nhanh: Local SSD của Business Critical có độ trễ <1ms, trong khi các tier khác cao hơn đáng kể.

📘 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 văn bản gốc bằng tiếng Anh). Mỗi phương án được đánh giá đúng/sai kèm lý do cụ thể dựa trên kiến thức Azure SQL Managed Instance phiên bản mới nhất (2024-2026):

  • Business Critical
    ✅ Đúng. Tier này cung cấp local SSD (Premium SSD v2) gắn trực tiếp vào máy chủ, giảm độ trễ I/O xuống mức thấp nhất (sub-millisecond latency). Hỗ trợ high availability với Always On clusters, phù hợp migrate từ SQL Server on-premises. Không có tier nào vượt trội hơn về disk latency.

  • Hyperscale
    ❌ Sai. Hyperscale (ra mắt đầy đủ cho Managed Instance từ 2023, cập nhật 2024) tối ưu cho cơ sở dữ liệu lớn (>100TB) với scale-out storage, nhưng sử dụng remote storage (page servers), dẫn đến độ trễ đĩa cao hơn so với local SSD. Không phải lựa chọn để minimize latency cho workload thông thường.

  • General Purpose
    ❌ Sai. Tier này sử dụng remote SSD storage (Premium SSD qua network), gây độ trễ đĩa cao hơn (khoảng 5-10ms) do truy cập qua mạng. Phù hợp chi phí thấp và scale compute/storage riêng biệt, nhưng không minimize latency – chính là lý do nên tránh cho yêu cầu này.

  • Premium
    ❌ Sai. Premium không phải là service tier của Azure SQL Managed Instance (chỉ áp dụng cho Azure SQL Database single/elastic pool). Managed Instance chỉ có General Purpose, Business Critical và Hyperscale. Chọn sai sẽ không tạo được instance.

🔗 Tài liệu tham khảo

🧠 Lưu ý cuối: Khi migrate từ SQL Server 2016, sử dụng Azure Database Migration Service (DMS) hoặc Data Migration Assistant (DMA) để đảm bảo tương thích 100%! Nếu cần hỗ trợ thực tế, hãy cung cấp thêm chi tiết về workload. 🚀

Câu 189
Case study -

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 process to automate the management of DB3. The solution must meet the management requirements.

What should be the first step of the process?
  1. A Configure Microsoft Entra authentication for the logical server that hosts DB3.
  2. B Configure a private endpoint for connectivity to DB3.
  3. C Create database-scoped credentials in DB3.
  4. D Create a database that has database-scoped credentials.
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 doanh nghiệp dịch vụ tài chính.

📋 Tóm tắt case study liên quan:

  • Môi trường hiện tại: Datacenter on-premises có 3 server (SVR1, SVR2, SVR3) chạy SQL Server (chi tiết từ hình ảnh: SVR1 & SVR2 chạy Windows Server 2016 + SQL Server 2016 Enterprise với Always On Availability Groups AG1/AG2 chứa DB1/DB2; SVR3 chạy Windows Server 2019 + SQL Server 2019 Enterprise chứa DB3). DB3 lưu dữ liệu compliance cho App2/App3, giám sát bằng Extended Events (target là file share trên disk local SVR3), quản lý resource bằng Resource Governor. Kết nối Azure qua S2S VPN, sync AD DS với Microsoft Entra (Azure AD).
  • Kế hoạch thay đổi: Migrate DB1/DB2 sang Azure SQL Managed Instance (Instance1); migrate DB3 sang Azure SQL Database; cấu hình auto-failover group cho DB3; handover dev cho remote devs dùng Entra-joined Win11.
  • Yêu cầu quản lý (management requirements) sau migration – phần chính của câu hỏi:
    • Tiếp tục dùng Extended Events monitor DB3.
    • Trong Azure SQL Database, tự động hóa quản lý DB3 bằng elastic jobs sử dụng database-scoped credentials.
  • Câu hỏi cụ thể: Đề xuất quá trình (process) để tự động hóa quản lý DB3, tuân thủ management requirements. Bước đầu tiên (first step) của quá trình là gì?

🛠️ Mục tiêu chính: Tập trung vào elastic jobs trong Azure SQL Database (tính năng mới nhất đến 2026, hỗ trợ tự động hóa task cross-database/server trên Hyperscale/elastic pools). Để elastic jobs hoạt động, bước đầu tiên bắt buộc là tạo database-scoped credentials trong DB3 để xác thực agent/job target (không dùng server-level creds như on-prem).

📘 Tài liệu tham khảo:

✅ Đáp án đúng và lý do lựa chọn

Create database-scoped credentials in DB3.

Lý do 🧩:

  • Management requirements rõ ràng yêu cầu elastic jobs sử dụng database-scoped credentials để automate DB3 trong Azure SQL Database (sau migration).
  • Theo docs Azure (cập nhật 2026), bước đầu tiên của process là tạo database-scoped credential trong chính DB3 (không phải server-level, vì Azure SQL DB không hỗ trợ credential server-wide cho elastic jobs). Credential này dùng để job agent kết nối target databases securely (ví dụ: chạy T-SQL scripts monitor performance, thay thế Resource Governor on-prem).
  • Đảm bảo minimize admin effort, tiếp tục monitor (Extended Events), và phù hợp business req (min cost). Không ảnh hưởng availability/security khác.

📝 Giải thích tất cả các phương án (đúng/sai)

  • ❌ Configure Microsoft Entra authentication for the logical server that hosts DB3.
    Sai vì: Microsoft Entra auth (Azure AD) dùng cho login/access người dùng (như remote devs cho DB1/DB2), không phải bước đầu cho elastic jobs. Elastic jobs cần database-scoped credential riêng để job execution, không phụ thuộc Entra server-level. Làm bước này trước sẽ không enable automation, vi phạm management req (chỉ automate DB3 bằng elastic jobs + creds).

  • ❌ Configure a private endpoint for connectivity to DB3.
    Sai vì: Private endpoint (Azure Private Link) dùng cho network security/connectivity (ví dụ: App2/App3 access DB3 privately qua VNet), không liên quan trực tiếp đến elastic jobs management. Đây là bước networking (có thể cần sau cho security), nhưng không phải first step cho process automate bằng creds/jobs. DB3 post-migration cần accessible sau failover, nhưng req chính là elastic jobs.

  • ✅ Create database-scoped credentials in DB3.
    Đúng vì: Đây là bước đầu tiên bắt buộc theo Azure docs. Elastic jobs yêu cầu credential scoped tại database-level trong DB3 để tạo job agent/database target. Sau đó mới create job steps/scripts (ví dụ: monitor resource như Resource Governor cũ). Phù hợp 100% req: "automate the management of DB3 by using elastic jobs that have database-scoped credentials". Hình ảnh xác nhận DB3 trên SVR3 → migrate → cần creds mới cho Azure SQL DB.

  • ❌ Create a database that has database-scoped credentials.
    Sai vì: DB3 đã tồn tại và sẽ migrate (không cần "create a database"). Cụm từ mơ hồ, ngụ ý tạo DB mới có creds – nhưng req là manage DB3 hiện tại. Bước đúng là create creds TRONG DB3 (không phải create DB). Sai logic process, không minimize effort.

🔍 Lưu ý từ hình ảnh: Bảng server xác nhận SVR3 có DB3 duy nhất (SQL 2019 Ent.), không AG như SVR1/2. Migration DB3 → Azure SQL DB Hyperscale/Standard (phù hợp elastic jobs, elastic pools cho App2/App3 resource changes). Không ảnh hưởng first step creds.

Câu 190
You have an Azure subscription.

You need to deploy an Azure SQL database. The solution must meet the following requirements:

•Dynamically scale CPU resources.
•Ensure that the database can be paused to reduce costs.

What should you use?
  1. A the Business Critical service tier
  2. B the serverless compute tier
  3. C an elastic pool
  4. D the General Purpose service tier
Xem giải thích

🧩 Phân tích chi tiết câu hỏi trắc nghiệm

📖 Nội dung câu hỏi:
Câu hỏi yêu cầu triển khai một cơ sở dữ liệu Azure SQL với hai yêu cầu chính:
• Dynamically scale CPU resources (Tự động mở rộng tài nguyên CPU một cách linh hoạt theo nhu cầu).
• Ensure that the database can be paused to reduce costs (Đảm bảo cơ sở dữ liệu có thể tạm dừng để giảm chi phí khi không sử dụng).

Đây là tình huống thực tế trong Azure SQL Database, nơi bạn cần một giải pháp serverless để tối ưu hóa chi phí và hiệu suất mà không cần quản lý thủ công tài nguyên CPU. Kiến thức dựa trên phiên bản Azure SQL mới nhất (cập nhật đến 2026), hỗ trợ serverless compute tier trong các service tier như General Purpose hoặc Hyperscale, cho phép auto-scaling vCPU (từ 0.5 đến 128 vCPU) và auto-pausing sau 1 giờ không hoạt động (có thể tùy chỉnh).

✅ Đáp án đúng: the serverless compute tier
Lý do lựa chọn:
Serverless compute tier là lựa chọn duy nhất đáp ứng đầy đủ cả hai yêu cầu. Nó tự động scale CPU (tăng/giảm vCPU theo workload, tính phí theo giây sử dụng), và hỗ trợ pausing database khi idle (tự động tạm dừng sau thời gian không hoạt động, chỉ tính phí storage). Điều này giúp tiết kiệm chi phí lên đến 100% khi DB không dùng. Tính năng này có sẵn từ 2020 và được cải tiến đến 2026 với auto-scaling nhanh hơn (sub-second).

🛠️ Giải thích tất cả các phương án:

  • the Business Critical service tier ❌ SAI
    Service tier này tập trung vào high availability (99.99% uptime) với local SSD và Always On Availability Groups, nhưng là provisioned model (tài nguyên cố định, không dynamically scale CPU tự động). Không hỗ trợ pausing DB, dẫn đến chi phí cao liên tục. Phù hợp cho workload mission-critical, không phải tối ưu chi phí.

  • the serverless compute tier ✅ ĐÚNG
    Như đã giải thích ở trên, đây là tier lý tưởng cho dynamic scaling CPU (auto-scale vCPU theo demand) và pausing (tự động tạm dừng idle DB, resume nhanh chóng). Hoàn hảo cho workload không liên tục như dev/test hoặc bursty apps.

  • an elastic pool ❌ SAI
    Elastic pool dùng để chia sẻ tài nguyên giữa nhiều DB trên cùng server (giảm chi phí cho multi-DB), nhưng không hỗ trợ pausing từng DB riêng lẻ hoặc dynamic scale CPU cho single DB. Nó vẫn là provisioned model, không đáp ứng yêu cầu pausing để giảm chi phí.

  • the General Purpose service tier ❌ SAI
    General Purpose là provisioned tier mặc định (remote storage, scale theo DTU/vCore cố định), không tự động scale CPU dynamically và không hỗ trợ pausing. Chỉ khi kết hợp với serverless mới có tính năng này, nhưng lựa chọn này chỉ đề cập tier chung, không phải serverless cụ thể.

📘 Tài liệu tham khảo:

Hy vọng phân tích này giúp bạn nắm vững! 🚀 Nếu cần triển khai thực tế, tôi có thể hướng dẫn script ARM hoặc Portal.