Ngân hàng đề — Microsoft Azure Database Administrator
Tìm thấy 217 câu.
You need to ensure that each customer can only connect to and access their respective database.
Which two actions should you perform? Each correct answer presents part of the solution.
NOTE: Each correct selection is worth one point.
- A Implement row-level security (RLS).
- B Create users in each database.
- C Configure the database firewall.
- D Configure the server firewall.
- E Create logins in the master database.
- F Implement Always Encrypted.
Xem giải thích
🧩 Giải thích nội dung câu hỏi
Câu hỏi này xoay quanh tình huống quản trị Azure SQL Database (một dịch vụ cơ sở dữ liệu quan hệ được quản lý trên Azure). Bạn có 40 cơ sở dữ liệu Azure SQL, mỗi cái dành cho một khách hàng khác nhau, và tất cả đều nằm trên cùng một Azure SQL Database server (server logic).
Mục tiêu: Đảm bảo mỗi khách hàng chỉ có thể kết nối (connect) và truy cập (access) vào cơ sở dữ liệu riêng của họ, không thể chạm đến database của người khác.
Đây là câu hỏi trắc nghiệm chọn nhiều đáp án đúng (multi-select), yêu cầu chọn hai hành động (each correct answer worth 1 point).
Vấn đề cốt lõi là kiểm soát truy cập ở mức database-level trên cùng một server, bao gồm xác thực người dùng và kiểm soát kết nối từ IP (firewall), theo các tính năng mới nhất của Azure SQL đến năm 2026 (hỗ trợ contained database users và database-level firewall rules – không thay đổi lớn từ phiên bản 2023-2026).
📘 Tài liệu tham khảo:
✅ Đáp án đúng và lý do lựa chọn
Hai hành động đúng cần thực hiện là:
- Create users in each database 🛡️: Tạo người dùng (users) riêng biệt trong từng database (contained database users), giúp khách hàng xác thực và chỉ truy cập được database của họ mà không cần login server-level. Điều này ngăn họ "nhảy" sang database khác trên cùng server.
- Configure the database firewall 🔒: Cấu hình quy tắc firewall ở mức database, cho phép kiểm soát IP kết nối riêng cho từng database, đảm bảo chỉ IP của khách hàng đó mới connect được vào database tương ứng.
Lý do chọn hai cái này: Chúng kết hợp xác thực (authentication) và phân quyền kết nối (network access) ở mức database, phù hợp hoàn hảo cho multi-tenant trên cùng server. Không cần server-level vì sẽ ảnh hưởng toàn bộ. (Đúng theo best practice Azure SQL v2026).
📋 Phân tí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, giữ nguyên nội dung gốc tiếng Anh. Mỗi phương án được đánh dấu ✅ (đúng) hoặc ❌ (sai), kèm giải thích lý do bằng tiếng Việt:
-
Implement row-level security (RLS). ❌
Sai vì RLS chỉ giới hạn truy cập dữ liệu ở mức hàng (row) bên trong một database, không ngăn khách hàng kết nối hoặc truy cập vào database khác trên cùng server. Nó dùng cho data isolation trong cùng DB, không phải database-level isolation. 🧩 Không giải quyết vấn đề connect/access database riêng. -
Create users in each database. ✅
Đúng vì tạo contained users (người dùng độc lập trong từng DB) cho phép khách hàng connect trực tiếp đến database của họ qua SQL Authentication hoặc Azure AD, mà không cần server login. Họ không thể access DB khác. 🛡️ Đây là cách chuẩn để isolate access per database trên cùng server (hỗ trợ full từ Azure SQL 2016+ đến 2026). -
Configure the database firewall. ✅
Đúng vì firewall rules ở mức database cho phép định nghĩa IP/start-end IP riêng cho từng DB, chặn kết nối từ IP không được phép vào đúng DB đó. Server firewall quá rộng, không phù hợp multi-tenant. 🔒 Tính năng này được ưu tiên trong Azure SQL Hyperscale và General Purpose (2026). -
Configure the server firewall. ❌
Sai vì firewall ở mức server áp dụng cho toàn bộ server (tất cả 40 DB), không thể customize per database. Nếu mở IP cho một khách, tất cả khách khác cũng bị ảnh hưởng. 🛑 Không đạt yêu cầu isolation. -
Create logins in the master database. ❌
Sai vì logins ở master DB (server-level) chỉ cho phép kết nối đến server, sau đó cần map user vào từng DB. Nhưng khách hàng có thể thử connect đến DB khác nếu có quyền, không đảm bảo "only their respective database". 💥 Gây rủi ro cross-database access. -
Implement Always Encrypted. ❌
Sai vì Always Encrypted chỉ mã hóa dữ liệu (client-side encryption) để bảo vệ sensitive data khỏi admin, không liên quan đến kiểm soát kết nối hoặc access database. 🛡️ Encryption ≠ Access Control. Không giải quyết vấn đề chính.
🛠️ Lời khuyên thực tế từ Azure DBA: Sau khi áp dụng hai action đúng, test bằng cách connect từ SSMS với credentials riêng và kiểm tra firewall rules qua Azure Portal > SQL Server > Firewalls and virtual networks. Nếu dùng Azure AD, ưu tiên Entra ID users cho security tốt hơn (cập nhật 2026).
You need to record whenever users query the CustomerPII table.
Which two options should you enable? Each correct answer presents part of the solution.
NOTE: Each correct selection is worth one point.
- A server audit specification
- B SQL Server audit
- C database audit specification
- D a server principal
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 SQL Server trên Azure Virtual Machine (VM). Cụ thể:
- Bạn đang quản lý một SQL Server chạy trên Azure VM, chứa cơ sở dữ liệu tên DB1.
- Trong DB1 có bảng CustomerPII (có thể chứa thông tin cá nhân nhạy cảm của khách hàng - PII: Personally Identifiable Information).
- Yêu cầu chính: Ghi lại (record/audit) mọi lần người dùng truy vấn (query) bảng CustomerPII. Nghĩa là cần theo dõi các hoạt động SELECT, INSERT, UPDATE, DELETE... trên bảng này.
- Đây là câu hỏi trắc nghiệm nhiều lựa chọn (multi-select): Cần chọn hai tùy chọn đúng để kích hoạt (enable), mỗi lựa chọn đúng đáng 1 điểm.
- Mục tiêu: Sử dụng tính năng SQL Server Audit để giám sát chi tiết ở mức bảng cụ thể, đảm bảo tuân thủ bảo mật và quy định (như GDPR hoặc HIPAA).
🛠️ Cách thức hoạt động tổng quát: Để audit truy vấn trên một bảng cụ thể trong SQL Server (phiên bản mới nhất 2022/2024 trên Azure VM đến 2026), bạn phải:
- Bật SQL Server Audit ở mức server.
- Tạo Database Audit Specification ở mức database để chỉ định hành động trên bảng/table cụ thể.
- Điều này ghi log vào file, Windows Event Log, hoặc Azure Storage (tùy cấu hình).
✅ Đáp án đúng và lý do lựa chọn
Hai đáp án đúng là:
SQL Server audit và database audit specification.
Lý do chi tiết:
- Để audit truy vấn bảng CustomerPII cụ thể, bạn phải enable SQL Server audit trước (làm nền tảng ở mức server). Sau đó, tạo database audit specification để lọc và ghi chi tiết các sự kiện như SELECT/QUERY trên bảng đó.
- Đây là quy trình chuẩn theo tài liệu Microsoft (không thay đổi đến SQL Server 2024/2026). Nếu thiếu một trong hai, audit sẽ không hoạt động đầy đủ cho bảng cụ thể.
✅ Kết quả: Kết hợp hai tính năng này sẽ record chính xác mọi query trên CustomerPII, với log chi tiết (user, thời gian, câu lệnh SQL).
📋 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 một cách chi tiết. Tôi giữ nguyên văn bản gốc tiếng Anh, chỉ giải thích bằng tiếng Việt:
-
❌ [SAI] server audit specification
Phương án này sai vì server audit specification chỉ audit các sự kiện ở mức server (như login/logout, permission changes, server-level actions). Nó không thể chỉ định audit cho bảng cụ thể như CustomerPII trong database. Nếu dùng cái này, bạn chỉ theo dõi server-wide, không tập trung vào query bảng → Không đáp ứng yêu cầu. -
✅ [ĐÚNG] SQL Server audit
Phương án này đúng vì SQL Server audit là tính năng nền tảng phải enable đầu tiên ở mức server. Nó cho phép tạo các audit actions, kết nối với file log hoặc Azure Storage. Bắt buộc để database audit specification hoạt động, và hỗ trợ audit query chi tiết trên bảng (khi kết hợp). Đây là bước 1 trong quy trình chuẩn. -
✅ [ĐÚNG] database audit specification
Phương án này đúng vì database audit specification được tạo trong database DB1 để chỉ định chính xác audit actions (như SELECT trên CustomerPII). Nó lọc và record query cụ thể trên bảng/table/object, dựa trên SQL Server audit đã enable. Hoàn hảo cho yêu cầu record "whenever users query the CustomerPII table". -
❌ [SAI] a server principal
Phương án này sai vì a server principal chỉ là tài khoản/đối tượng xác thực ở mức server (như login SQL hoặc Windows login). Nó không liên quan đến việc enable audit, mà chỉ dùng để gán quyền. Không enable được audit query qua cái này → Hoàn toàn không phù hợp.
📘 Tài liệu tham khảo (cập nhật mới nhất đến 2026)
- Microsoft Docs chính thức: SQL Server Audit (Database Engine) (áp dụng cho SQL Server 2022/2024 trên Azure VM).
- Hướng dẫn Azure-specific: Audit SQL Server on Azure VMs – Xác nhận quy trình enable SQL Server Audit + Database Audit Spec.
- Cập nhật 2024/2026: Không thay đổi lớn; hỗ trợ tích hợp Azure Monitor/Defender for SQL cho log nâng cao.
- Ví dụ T-SQL:
CREATE SERVER AUDIT...rồiCREATE DATABASE AUDIT SPECIFICATION... ON CustomerPII BY public.
🛠️ Lời khuyên thực tế: Trong Azure Portal, dùng SQL Server Audit blade để cấu hình nhanh. Test bằng query SELECT trên CustomerPII và kiểm tra log file! Nếu cần script, tôi có thể hỗ trợ thêm. 😊
You review the actual execution plan for the query, and you add an index to a table referenced by the query.
You need to compare the previous actual execution plan for the query to the Live Query Statistics.
What should you do first in Microsoft SQL Server Management Studio (SSMS)?
- A For DB1, set QUERY_CAPTURE_MODE of Query Store to All.
- B Run the SET SHOWPLAN_ALL Transact-SQL statement.
- C Save the actual execution plan.
- D Enable Query Store for DB1.
Xem giải thích
🧩 Giải thích chi tiết nội dung câu hỏi
Câu hỏi tập trung vào tình huống quản trị cơ sở dữ liệu Azure SQL Database (tên DB1) trong Microsoft SQL Server Management Studio (SSMS). Quy trình cụ thể như sau:
- Bạn chạy một truy vấn (query) trên DB1 và xem actual execution plan (kế hoạch thực thi thực tế) của nó.
- Sau đó, bạn thêm một index vào bảng được tham chiếu bởi truy vấn đó (để tối ưu hóa hiệu suất).
- Mục tiêu: So sánh actual execution plan trước khi thêm index với Live Query Statistics (thống kê truy vấn trực tiếp, hiển thị tiến trình thực thi thời gian thực của query đang chạy sau khi thay đổi).
📌 Vấn đề chính: Bước đầu tiên (first) cần làm trong SSMS để thực hiện so sánh này là gì? Đây là kỹ năng quan trọng trong việc tuning performance cho Azure SQL, giúp DBA đánh giá tác động của index mới mà không mất kế hoạch thực thi cũ.
(Kiến thức dựa trên phiên bản SSMS 19.x và Azure SQL mới nhất đến 2026, nơi Live Query Statistics vẫn là công cụ chính để monitor query live – không thay đổi lớn từ SSMS 17+).
✅ Đáp án đúng: Save the actual execution plan.
Lý do lựa chọn:
🛠️ Để so sánh actual execution plan trước khi thêm index với Live Query Statistics sau khi thêm index, bước đầu tiên phải lưu (save) actual execution plan hiện tại trong SSMS (qua nút "Save Execution Plan As" hoặc Ctrl+Shift+S trong Execution Plan tab). File .sqlplan được lưu sẽ chứa chi tiết thực thi cũ (cost, operations, I/O, CPU,...). Sau đó, chạy lại query để xem Live Query Statistics (Ctrl+Alt+Q hoặc toolbar icon), và so sánh trực tiếp hai plan. Đây là cách đơn giản, nhanh chóng nhất mà không phụ thuộc Query Store.
📘 Nguồn tham khảo:
📋 Giải thích tất cả các phương án (đúng/sai)
-
Save the actual execution plan.
✅ Đúng. Như đã giải thích ở trên, đây là bước đầu tiên logic và trực tiếp nhất trong SSMS để lưu giữ plan cũ, cho phép so sánh với Live Query Statistics sau thay đổi index. Không cần cấu hình thêm database. -
For DB1, set QUERY_CAPTURE_MODE of Query Store to All.
❌ Sai. QUERY_CAPTURE_MODE = All chỉ điều chỉnh Query Store để capture tất cả queries (bao gồm idle/repeated), nhưng Query Store lưu estimated/actual plans lịch sử, không phải để so sánh trực tiếp với Live Query Statistics ngay lập tức. Hơn nữa, đây không phải bước "first" vì cần Query Store đã enable trước, và không giải quyết việc lưu plan hiện tại. -
Run the SET SHOWPLAN_ALL Transact-SQL statement.
❌ Sai. SET SHOWPLAN_ALL chỉ trả về estimated execution plan dạng text (không có actual stats như row counts thực tế), không lưu plan để so sánh, và không liên quan đến Live Query Statistics (yêu cầu actual runtime data). Nó chỉ dùng cho debug nhanh, không phù hợp ở đây. -
Enable Query Store for DB1.
❌ Sai. Enable Query Store (ALTER DATABASE ... SET QUERY_STORE = ON) là cần thiết để sử dụng Query Store lâu dài, nhưng không phải bước đầu tiên cho việc so sánh actual plan hiện tại với Live Stats. Query Store cần thời gian capture dữ liệu mới, và không lưu plan ngay lập tức như save thủ công trong SSMS. Nếu DB1 chưa có Query Store, việc enable cũng không giúp so sánh plan "previous" tức thì.
Tóm tắt nhanh 🎯: Save actual plan là cách native SSMS, đơn giản nhất cho DBA Azure SQL khi tuning index! Nếu dùng Query Store thường xuyên, có thể kết hợp sau, nhưng không thay thế bước first.
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 an Azure Data Lake Storage account that contains a staging zone.
You need to design a daily process to ingest incremental data from the staging zone, transform the data by executing an R script, and then insert the transformed data into a data warehouse in Azure Synapse Analytics.
Solution: You schedule an Azure Databricks job that executes an R notebook, and then inserts the data into the data warehouse.
Does this meet the goal?
- A Yes
- B No
Xem giải thích
🧩 Phân tích nội dung câu hỏi
Câu hỏi thuộc dạng series questions trong kỳ thi chứng chỉ Microsoft Azure (như AZ-305 hoặc DP-203), nơi mỗi câu trình bày một kịch bản giống nhau nhưng giải pháp khác nhau. Người dùng không thể quay lại câu trả lời sau khi chọn, và một số câu có thể có nhiều giải pháp đúng hoặc không có giải pháp đúng nào.
Kịch bản chính:
Bạn có một tài khoản Azure Data Lake Storage (ADLS Gen2) chứa staging zone (vùng lưu trữ tạm).
Mục tiêu (goal): Thiết kế quy trình hàng ngày để:
- Ingest incremental data (hấp thụ dữ liệu tăng dần, chỉ phần mới/thay đổi, không full load).
- Transform data bằng cách thực thi R script (biến đổi dữ liệu sử dụng ngôn ngữ R).
- Insert transformed data vào data warehouse trong Azure Synapse Analytics (cụ thể là Dedicated SQL Pool hoặc Serverless SQL Pool).
Giải pháp đề xuất: Lên lịch một Azure Databricks job thực thi R notebook, sau đó insert data vào data warehouse.
Câu hỏi: Giải pháp này có đạt mục tiêu không? (Does this meet the goal?)
📘 Kiến thức cập nhật đến 2026: Theo tài liệu AWS không liên quan (câu hỏi là Azure thuần túy). Sử dụng phiên bản mới nhất Azure Synapse Analytics (tích hợp chặt chẽ với Fabric từ 2024), khuyến nghị sử dụng Synapse Pipelines hoặc Azure Data Factory (ADF) cho orchestration incremental ingest, Synapse Spark pools cho transform (hỗ trợ SparkR), và PolyBase/COPY INTO cho load hiệu quả vào Dedicated SQL Pool (cải tiến performance lên 30% so với 2023).
✅ Đáp án đúng: No
Lý do chọn đáp án đúng 🛠️:
Giải pháp không đạt mục tiêu vì:
- Azure Databricks hỗ trợ R notebooks tốt cho transform (qua SparkR), nhưng không hiệu quả cho insert incremental data vào Azure Synapse Analytics Dedicated SQL Pool. Insert qua JDBC từ Databricks chậm, không scale cho daily incremental loads lớn (có thể mất hàng giờ/gigabyte dữ liệu).
- Không xử lý incremental ingest tự động từ staging zone (ADLS); notebook R phải tự code logic detect changes (Delta Lake hoặc timestamp), nhưng giải pháp không đề cập, dẫn đến full scan staging zone → tốn kém chi phí và thời gian.
- Best practice Azure-native (2024-2026): Sử dụng Synapse Pipeline/ADF để copy incremental (qua watermark hoặc Change Data Feed), transform bằng Synapse Spark pool (tích hợp R), rồi load qua PolyBase hoặc COPY INTO từ ADLS (nhanh gấp 5-10x so với JDBC). Databricks là lựa chọn thay thế nhưng không optimal cho Synapse ecosystem.
📋 Giải thích tất cả các phương án
-
Yes ❌ SAI:
Phương án này sai vì giả định Databricks job + R notebook đủ để ingest incremental, transform và insert hiệu quả. Thực tế, insert qua JDBC từ Databricks vào Synapse DW chậm và không khuyến khích cho production daily process (dẫn đến throttling hoặc timeout). Không tận dụng incremental loading native của Synapse (như T-SQL MERGE hoặc Pipeline activities). Giải pháp chỉ "executes R notebook and inserts" mà không chỉ rõ cơ chế incremental → không meet goal đầy đủ. -
No ✅ ĐÚNG:
Phương án này đúng vì giải pháp không đáp ứng yêu cầu toàn diện. Databricks phù hợp transform R tại scale, nhưng toàn bộ workflow (incremental ingest → transform → bulk insert) cần Azure-native tools như Synapse Pipelines để orchestrate, tránh dependency cross-service và tối ưu chi phí/performance. Trong series questions, các giải pháp đúng thường dùng ADF/Synapse cho end-to-end Medallion architecture (Bronze/Silver/Gold zones).
📚 Tài liệu tham khảo
- Load data into Synapse Dedicated SQL Pool with PolyBase/COPY (Cập nhật 2025).
- Ingest incremental data with Synapse Pipelines (Hỗ trợ Change Data Capture từ 2024).
- Databricks integration with Synapse (limitations) – Xác nhận JDBC không phải best practice cho bulk loads.
- Microsoft Learn: DP-203T00-A (Data Engineering on Microsoft Azure, version 2026).
Hy vọng phân tích giúp bạn ôn thi hiệu quả! 🚀
Your company's SLA requires that the database in the failover group become available as quickly as possible if a major outage occurs.
You set the Read/Write failover policy to Automatic.
What are two results of the configuration? Each correct answer presents a complete solution.
NOTE: Each correct selection is worth one point.
- A In the event of a datacenter or Azure regional outage, the databases will fail over automatically.
- B In the event of an outage, the databases in the primary instance will fail over immediately.
- C In the event of an outage, you can selectively fail over individual databases.
- D In the event of an outage, you can set a different grace period to fail over each database.
- E In the event of an outage, the minimum delay for the databases to fail over in the primary instance will be one hour.
Xem giải thích
🛠️ Phân tích câu hỏi trắc nghiệm về Disaster Recovery cho Failover Group trong Azure SQL Database Managed Instance
🧩 Giải thích nội dung câu hỏi một cách chi tiết:
Câu hỏi tập trung vào việc lập kế hoạch disaster recovery (khôi phục thảm họa) cho failover group của Azure SQL Database Managed Instance. Failover group là tính năng cho phép sao chép dữ liệu (replication) và chuyển đổi dự phòng (failover) tự động hoặc thủ công giữa các Managed Instance ở các vùng (region) khác nhau của Azure, nhằm đảm bảo tính sẵn sàng cao (high availability).
Công ty yêu cầu SLA (Service Level Agreement) phải làm cho cơ sở dữ liệu trong failover group trở nên khả dụng nhanh nhất có thể khi xảy ra sự cố lớn (major outage). Bạn đã cấu hình Read/Write failover policy thành Automatic (chuyển đổi tự động cho đọc/ghi).
Câu hỏi yêu cầu chọn hai kết quả của cấu hình này (mỗi đáp án đúng đáng 1 điểm). Đây là câu hỏi multi-select (chọn nhiều), kiểm tra kiến thức về hành vi failover tự động: khi nào nó kích hoạt, độ trễ (delay), và phạm vi ảnh hưởng (toàn bộ group hay cá nhân database).
Dựa trên tài liệu Azure cập nhật mới nhất (tính đến 2026), với Automatic failover policy, hệ thống sẽ phát hiện outage ở datacenter/region chính và tự động failover toàn bộ databases trong failover group sang secondary instance sau một khoảng thời gian chờ tối thiểu 1 giờ (grace period) để tránh failover không cần thiết do sự cố tạm thời.
✅ Đáp án đúng và lý do lựa chọn:
Hai đáp án đúng là:
-
In the event of a datacenter or Azure regional outage, the databases will fail over automatically.
✅ Lý do: Với chính sách Automatic, Azure tự động phát hiện outage ở datacenter hoặc region chính và kích hoạt failover toàn bộ databases trong failover group mà không cần can thiệp thủ công. Điều này đảm bảo SLA về tính sẵn sàng cao. -
In the event of an outage, the minimum delay for the databases to fail over in the primary instance will be one hour.
✅ Lý do: Azure áp dụng grace period tối thiểu 1 giờ trước khi thực hiện automatic failover, giúp tránh chuyển đổi do sự cố ngắn hạn (transient failures). Đây là hành vi chuẩn của failover group với policy Automatic, được thiết kế để cân bằng giữa tốc độ và độ tin cậy.
📋 Giải thích tất cả các phương án (đúng và 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 bằng tiếng Anh. Mỗi phương án được đánh giá đúng/sai dựa trên hành vi của failover group trong Azure SQL Managed Instance (phiên bản mới nhất 2026):
-
In the event of a datacenter or Azure regional outage, the databases will fail over automatically.
✅ Đúng: Như đã giải thích, chính sách Automatic kích hoạt failover tự động khi phát hiện outage lớn ở datacenter/region, áp dụng cho toàn bộ databases trong group. -
In the event of an outage, the databases in the primary instance will fail over immediately.
❌ Sai: Failover không diễn ra ngay lập tức (immediately). Có grace period tối thiểu 1 giờ để xác nhận outage thực sự, tránh gián đoạn không cần thiết. Nếu dùng policy Manual, mới có thể failover nhanh hơn nhưng cần thủ công. -
In the event of an outage, you can selectively fail over individual databases.
❌ Sai: Failover group hoạt động ở mức toàn bộ group (atomic failover), không hỗ trợ chọn lọc (selectively) từng database riêng lẻ. Tất cả databases trong group sẽ failover cùng lúc để duy trì tính nhất quán. -
In the event of an outage, you can set a different grace period to fail over each database.
❌ Sai: Grace period là cố định tối thiểu 1 giờ cho toàn bộ failover group, không thể tùy chỉnh khác nhau cho từng database. Không có tùy chọn cấu hình grace period riêng lẻ ở mức database. -
In the event of an outage, the minimum delay for the databases to fail over in the primary instance will be one hour.
✅ Đúng: Đây là quy định chuẩn của Azure: minimum delay 1 giờ (grace period) trước automatic failover, áp dụng cho primary instance trong group.
📘 Tài liệu tham khảo (cập nhật đến 2026):
- Azure SQL Managed Instance Failover Groups - Automatic failover (Microsoft Docs: Xác nhận grace period 1 giờ và automatic failover cho regional outage).
- Azure SQL Database Failover Policies (Chi tiết về Read/Write policy Automatic và hành vi toàn group).
- What's New in Azure SQL (2025-2026 updates) (Không thay đổi grace period, vẫn giữ nguyên để đảm bảo ổn định).
Hy vọng phân tích này giúp bạn nắm vững kiến thức về Azure SQL Managed Instance! 🚀 Nếu cần thêm chi tiết, hãy hỏi nhé!
Which type of Databricks cluster should you use?
- A automated
- B interactive
- C High Concurrency
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 việc chọn loại cluster phù hợp trong Azure Databricks cho công việc xử lý batch (batch processing) được thực hiện một lần mỗi ngày.
- Batch processing là quy trình xử lý dữ liệu lớn theo lô, thường theo lịch trình (scheduled), không cần tương tác thời gian thực.
- Azure Databricks cung cấp các loại cluster khác nhau để tối ưu chi phí, hiệu suất và tính sẵn sàng:
- Cluster được thiết kế cho job tự động sẽ tự khởi động khi job chạy và tắt sau khi hoàn thành, rất phù hợp cho batch hàng ngày để tiết kiệm tài nguyên.
✅ Mục tiêu chính: Chọn cluster tiết kiệm chi phí cho workload không tương tác, chạy định kỳ.
- Cluster được thiết kế cho job tự động sẽ tự khởi động khi job chạy và tắt sau khi hoàn thành, rất phù hợp cho batch hàng ngày để tiết kiệm tài nguyên.
✅ Đáp án đúng: automated
Lý do lựa chọn:
Loại cluster automated (còn gọi là Job clusters) được thiết kế chuyên biệt cho batch processing và scheduled jobs trong Azure Databricks. Nó tự động khởi động khi job bắt đầu (ví dụ: một lần/ngày), xử lý dữ liệu và tự động tắt sau khi hoàn thành, giúp tiết kiệm chi phí lên đến 90% so với cluster luôn chạy. Phù hợp hoàn hảo cho kịch bản chạy hàng ngày, không cần người dùng tương tác liên tục.
(Kiến thức cập nhật 2026: Theo tài liệu Azure Databricks mới nhất, Job clusters vẫn là lựa chọn chuẩn cho batch jobs, hỗ trợ autoscaling và spot instances để tối ưu hơn nữa.)
📋 Giải thích chi tiết tất cả các phương án
🛠️ - automated
✅ Đúng. Như đã giải thích, đây là cluster dành cho job tự động, lý tưởng cho batch processing hàng ngày. Nó chỉ tính phí theo thời gian chạy thực tế, tránh lãng phí khi idle.
❌ - interactive
Sai. Loại interactive (hay All-purpose clusters) dành cho workload tương tác, như exploratory data analysis (EDA), notebook chia sẻ với nhiều user. Chúng luôn chạy (hoặc idle lâu), tốn kém cho batch hàng ngày vì không tự tắt, dẫn đến chi phí cao không cần thiết.
❌ - High Concurrency
Sai. High Concurrency là chế độ của interactive clusters, tối ưu cho nhiều user đồng thời với isolation (cách ly SQL warehouse hoặc notebooks). Không phù hợp cho batch processing đơn lẻ hàng ngày, vì vẫn yêu cầu cluster luôn sẵn sàng và không tự động hóa hoàn toàn như automated clusters.
📘 Tài liệu tham khảo
- Azure Databricks Clusters Documentation (Cập nhật 2025-2026: Nhấn mạnh Job clusters cho scheduled batch).
- Databricks Cluster Types Guide (Phân biệt rõ automated vs. interactive).
- Cost Optimization in Databricks (Job clusters tiết kiệm chi phí cho batch jobs).
Hy vọng phân tích này giúp bạn nắm vững! 🚀 Nếu cần thêm ví dụ code Spark cho batch job, hãy hỏi nhé!
VM1 hosts an instance of Microsoft SQL Server 2019 Standard.
You need to automate the maintenance of VM1 to meet the following requirements:
✑ Automate the patching of SQL Server and Windows Server.
✑ Automate full database backups and transaction log backups of the databases on VM1.
✑ Minimize administrative effort.
What should you do first?
- A Enable a system-assigned managed identity for VM1
- B Register the Azure subscription to the Microsoft.Sql resource provider
- C Install an Azure virtual machine Desired State Configuration (DSC) extension on VM1
- D Register the Azure subscription to the Microsoft.SqlVirtualMachine resource provider
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 tự động hóa bảo trì (maintenance) cho một máy ảo (VM) Azure tên VM1, được xây dựng từ hình ảnh tùy chỉnh (custom image) và đang chạy Microsoft SQL Server 2019 Standard. Các yêu cầu cụ thể bao gồm:
- ✅ Tự động hóa việc vá lỗi (patching) cho SQL Server và Windows Server.
- ✅ Tự động hóa sao lưu đầy đủ cơ sở dữ liệu (full database backups) và sao lưu nhật ký giao dịch (transaction log backups) cho các cơ sở dữ liệu trên VM1.
- ✅ Giảm thiểu nỗ lực quản trị (minimize administrative effort).
Mục tiêu chính: Xác định bước đầu tiên (what should you do first) để kích hoạt các tính năng tự động hóa này. Đây là tình huống liên quan đến Azure SQL Virtual Machines (SQL VM) – một dịch vụ IaaS giúp quản lý SQL Server trên VM Azure với các công cụ tự động hóa tích hợp, như Azure SQL VM Agent cho patching và backups.
Bối cảnh kỹ thuật (cập nhật đến 2026): Azure hỗ trợ SQL IaaS Extension (phiên bản mới nhất v2.x) để tự động hóa patching và backups, nhưng yêu cầu đăng ký resource provider (RP) Microsoft.SqlVirtualMachine trước khi áp dụng. Không cần migrate sang PaaS vì VM đang dùng custom image với SQL Standard on-prem.
✅ Đáp án đúng và lý do lựa chọn
Đáp án đúng: Register the Azure subscription to the Microsoft.SqlVirtualMachine resource provider
Lý do:
- 🛠️ Đây là bước đầu tiên bắt buộc để kích hoạt các tính năng quản lý SQL VM trong Azure. Resource Provider (RP) này cho phép subscription truy cập dịch vụ Azure SQL Virtual Machines, bao gồm:
- Tự động hóa patching cho SQL Server và Windows qua SQL IaaS Agent Extension.
- Tự động hóa backups (full + transaction log) với chính sách backup tự động, lưu trữ vào Azure Blob Storage.
- Giảm nỗ lực admin bằng cách sử dụng portal/CLI/PowerShell để cấu hình một lần.
- Nếu không đăng ký RP này, bạn không thể onboard VM vào SQL VM resource (bước tiếp theo: Assess & onboard qua portal), dẫn đến không áp dụng được automation.
- Theo docs Azure 2026, RP Microsoft.SqlVirtualMachine là prerequisite cho tất cả SQL VM features trên existing VMs.
📋 Giải thích tất cả các phương án (đúng và sai)
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 giá với lý do đúng/sai dựa trên logic Azure SQL VM workflow (cập nhật mới nhất).
-
E ❌ [SAI] Enable a system-assigned managed identity for VM1
Phương án này không phải bước đầu tiên và không trực tiếp giải quyết yêu cầu. Managed Identity dùng để xác thực với Azure services (như Key Vault cho backups), nhưng chỉ cần sau khi onboard VM và configure backups/patching. Nếu enable sớm mà chưa register RP, vẫn không kích hoạt được SQL VM features. Đây là bước phụ, không minimize effort cho patching/backups ngay lập tức. -
E ❌ [SAI] Register the Azure subscription to the Microsoft.Sql resource provider
Sai hoàn toàn vì Microsoft.Sql RP dành cho Azure SQL Database/Managed Instance (PaaS), không phải SQL Server trên VM (IaaS). Đăng ký RP này không hỗ trợ patching/backups cho VM1 (SQL Standard on VM). Nó chỉ enable PaaS resources như logical servers, không liên quan đến VM automation. Lẫn lộn với SQL PaaS! -
E ❌ [SAI] Install an Azure virtual machine Desired State Configuration (DSC) extension on VM1
Không phù hợp vì DSC extension dùng để quản lý cấu hình VM tổng quát (PowerShell-based desired state), không chuyên biệt cho SQL patching/backups. Nó yêu cầu script custom, tăng effort admin (vi phạm yêu cầu minimize effort). Azure khuyến nghị dùng SQL IaaS Extension (qua SQL VM RP) thay vì DSC cho SQL-specific tasks – DSC không hỗ trợ auto backups/transaction logs native. -
A ✅ [ĐÚNG] Register the Azure subscription to the Microsoft.SqlVirtualMachine resource provider
Như đã giải thích ở trên: Bước tiên thiết yếu để unlock SQL VM management. Sau đó, dùng portal > VM > SQL Virtual Machines > Assess & onboard để install agent và config policies. Hoàn hảo cho tất cả requirements!
📘 Tài liệu tham khảo (cập nhật 2026)
- Azure Docs: Azure SQL VM onboarding – Prerequisite: Register Microsoft.SqlVirtualMachine RP.
- SQL IaaS Extension for patching & backups – Auto-patching và backups sau RP registration.
- Azure Resource Providers list – Xác nhận RP cho SQL VM.
- CLI command:
az provider register --namespace Microsoft.SqlVirtualMachine.
Kết luận 🏆: Bắt đầu bằng việc đăng ký RP để mở khóa automation – tiết kiệm thời gian nhất! Nếu cần hỗ trợ implement, hãy cung cấp thêm chi tiết VM.
Users report that the executions of a stored procedure are slower than usual. You suspect that a regressed query is causing the performance issue.
You need to view the query execution plan to verify whether a regressed query is causing the issue. The solution must minimize effort.
What should you use?
- A Performance Recommendations in the Azure portal
- B Extended Events in Microsoft SQL Server Management Studio (SSMS)
- C Query Store in Microsoft SQL Server Management Studio (SSMS)
- D Query Performance Insight in the Azure portal
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: Bạn đang quản lý một cơ sở dữ liệu Azure SQL Database. Người dùng báo cáo rằng việc thực thi một stored procedure chậm hơn bình thường. Bạn nghi ngờ nguyên nhân là một truy vấn bị suy thoái (regressed query) – tức là truy vấn trước đây chạy nhanh nhưng nay chạy chậm do thay đổi plan thực thi (execution plan).
Mục tiêu: Xem query execution plan để xác minh vấn đề, và giải pháp phải tối thiểu hóa công sức (minimize effort).
🔍 Ý nghĩa chính: Regressed query thường xảy ra khi optimizer chọn plan kém hơn do thay đổi dữ liệu, index, hoặc stats. Cần công cụ dễ dùng nhất để so sánh plan cũ/mới mà không cần setup phức tạp.
✅ Đáp án đúng và lý do lựa chọn
Đáp án đúng: Query Store in Microsoft SQL Server Management Studio (SSMS)
🛠️ Lý do chi tiết:
- Query Store là tính năng built-in của Azure SQL Database (từ năm 2017, cập nhật liên tục đến 2026 với cải tiến như force plan, automatic tuning). Nó tự động lưu trữ lịch sử execution plan (actual và estimated) của các truy vấn, bao gồm stored procedure.
- Bạn có thể dễ dàng truy vấn và xem plan qua SSMS (Query Store Reports > Regressed Queries), so sánh plan cũ/mới chỉ với vài cú click – minimize effort tối đa.
- Không cần setup thêm, chỉ cần bật Query Store (mặc định ON ở Azure SQL từ 2023+), phù hợp xác minh regressed query nhanh chóng.
📈 Đây là cách chuẩn Microsoft khuyến nghị cho performance troubleshooting ở Azure SQL DB.
📋 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 nội dung gốc tiếng Anh. Mỗi phương án được đánh giá dựa trên tính phù hợp với yêu cầu "xem execution plan cho regressed query với effort tối thiểu" (dữ liệu cập nhật Azure SQL đến 2026).
-
❌ Performance Recommendations in the Azure portal
Phương án này sai vì chỉ cung cấp gợi ý tự động chung (như tạo index, update stats) qua Intelligent Insights. Không hỗ trợ xem chi tiết execution plan hay so sánh regressed query trực tiếp. Effort cao hơn nếu phải drill-down thủ công, không phải công cụ chuyên sâu cho plan analysis. -
❌ Extended Events in Microsoft SQL Server Management Studio (SSMS)
Phương án này sai vì Extended Events là công cụ low-level tracing mạnh mẽ, nhưng yêu cầu setup session, filter, và phân tích file – effort rất cao (viết script XEvent, replay trace). Không tự động lưu lịch sử plan như Query Store, không lý tưởng cho quick verification regressed query. -
✅ Query Store in Microsoft SQL Server Management Studio (SSMS)
Phương án này đúng như đã giải thích ở trên. Top-down approach dễ dùng nhất: Kết nối SSMS > Object Explorer > Query Store > Chọn report "Regressed Queries" để xem plan diff ngay lập tức. Hỗ trợ force last good plan nếu cần. -
❌ Query Performance Insight in the Azure portal
Phương án này sai vì Query Performance Insight (trong Azure Portal > SQL Database > Query Performance Insight) chỉ hiển thị top resource-consuming queries với CPU/Duration graph, dựa trên Query Store data. Không cho xem execution plan chi tiết (chỉ link đến top queries), và effort cao hơn vì phải chuyển sang SSMS để xem plan thực. Phù hợp monitoring tổng quát, không phải drill-down plan cụ thể.
📘 Tài liệu tham khảo
- Microsoft Docs (cập nhật 2026): Query Store Usage Scenarios – Chi tiết regressed queries troubleshooting.
- Azure SQL Best Practices: Troubleshoot Query Performance – Khuyến nghị Query Store cho execution plans.
- SSMS Guide: Query Store Reports in SSMS (v19+ hỗ trợ real-time analytics).
🔗 Kiểm tra Azure Portal hoặc SSMS mới nhất để confirm!
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 an Azure Data Lake Storage account that contains a staging zone.
You need to design a daily process to ingest incremental data from the staging zone, transform the data by executing an R script, and then insert the transformed data into a data warehouse in Azure Synapse Analytics.
Solution: You use an Azure Data Factory schedule trigger to execute a pipeline that executes an Azure Databricks notebook, and then inserts the data into the data warehouse.
Does this meet the goal?
- A Yes
- B No
Xem giải thích
🧩 Phân tích chi tiết câu hỏi
📘 Nội dung câu hỏi:
Câu hỏi thuộc dạng chuỗi câu hỏi (series of questions) trong kỳ thi chứng chỉ, nơi mỗi câu trình bày một tình huống giống nhau nhưng giải pháp khác nhau. Bạn không thể quay lại sau khi trả lời.
Tình huống: Bạn có tài khoản Azure Data Lake Storage (ADLS) chứa vùng staging (staging zone).
Mục tiêu (goal): Thiết kế quy trình hàng ngày (daily process) để:
- Ingest dữ liệu tăng dần (incremental data) từ vùng staging.
- Transform dữ liệu bằng cách thực thi script R.
- Insert dữ liệu đã transform vào data warehouse trong Azure Synapse Analytics.
🛠️ Giải pháp đề xuất (Solution): Sử dụng Azure Data Factory (ADF) schedule trigger để thực thi một pipeline, pipeline này thực thi Azure Databricks notebook, sau đó insert dữ liệu vào data warehouse.
Câu hỏi chính: Giải pháp này có đạt được mục tiêu không? (Does this meet the goal?)
Câu hỏi kiểm tra kiến thức về tích hợp các dịch vụ Azure để xây dựng pipeline ETL (Extract-Transform-Load) hàng ngày, tập trung vào xử lý incremental data, hỗ trợ R script và tích hợp với Synapse.
✅ Đáp án đúng: Yes
Lý do lựa chọn:
Giải pháp hoàn toàn phù hợp với mục tiêu! 🏆
- ADF schedule trigger đảm bảo quy trình chạy hàng ngày (daily).
- ADF pipeline có thể gọi Databricks notebook activity để đọc incremental data từ ADLS (qua mount hoặc direct access), thực thi R script để transform (Databricks hỗ trợ R natively từ phiên bản 2023+).
- Sau transform, notebook có thể dùng connector để insert trực tiếp vào Synapse Analytics (qua JDBC/ODBC hoặc PolyBase).
Incremental logic được xử lý trong R script (ví dụ: so sánh timestamp hoặc watermark). Tất cả dịch vụ đều tích hợp mượt mà theo tài liệu Azure mới nhất (2024-2026).
📋 Giải thích tất cả các phương án
-
Yes
✅ Đúng vì giải pháp bao quát đầy đủ quy trình: ADF trigger pipeline hàng ngày → Databricks notebook đọc incremental từ ADLS → Chạy R script transform → Insert vào Synapse. Không vi phạm bất kỳ yêu cầu nào, linh hoạt và scalable. -
No
❌ Sai vì không có lý do nào để từ chối. Giải pháp không thiếu bước nào (không cần tool khác như Logic Apps hay Stream Analytics), và Databricks hỗ trợ R tốt hơn các lựa chọn thay thế như ADF Data Flow (không native R). Nếu chọn No, bạn sẽ bỏ lỡ tích hợp chuẩn của Azure.
📚 Tài liệu tham khảo (cập nhật mới nhất đến 2026)
- Azure Data Factory Schedule Trigger 🗓️
- ADF Databricks Notebook Activity 📓 (hỗ trợ R từ DBR 14.3 LTS+).
- Databricks to Synapse Integration 🔗
- ADLS Incremental Load Patterns (Delta Lake cho incremental).
(Nguồn: Microsoft Learn, AWS không liên quan – câu hỏi thuần Azure, kiến thức cập nhật Q1/2026).
You need to ensure that DB1 will support automatic failover without data loss if a datacenter fails. The solution must minimize costs.
Which deployment option and pricing tier should you configure?
- A Azure SQL Database Premium
- B Azure SQL Database serverless
- C Azure SQL Database Basic
- D Azure SQL Database Standard
Xem giải thích
🧩 Phân tích chi tiết câu hỏi
📖 Nội dung câu hỏi:
Câu hỏi yêu cầu cấu hình một cơ sở dữ liệu Azure SQL tên là DB1 để hỗ trợ chuyển đổi dự phòng tự động (automatic failover) mà không mất dữ liệu (without data loss) khi một trung tâm dữ liệu (datacenter) gặp sự cố. Giải pháp phải giảm thiểu chi phí tối đa (minimize costs). Chúng ta cần chọn tùy chọn triển khai (deployment option) và cấp độ giá (pricing tier) phù hợp nhất.
🛠️ Giải thích kỹ thuật:
- Automatic failover: Tính năng tự động chuyển sang bản sao dự phòng khi phát hiện sự cố, không cần can thiệp thủ công.
- Without data loss: Đảm bảo RPO = 0 (Recovery Point Objective bằng 0), nghĩa là sử dụng sao chép đồng bộ (synchronous replication) giữa các bản sao chính/phụ.
- Datacenter fails: Trong Azure, "datacenter" thường ám chỉ Availability Zone (AZ) thất bại (sự cố cục bộ trong region). Azure SQL sử dụng Zone-Redundant High Availability (HA) để xử lý, với 2-3 bản sao đồng bộ tự động failover trong vòng vài giây.
- Minimize costs: Chọn tier thấp nhất nhưng vẫn đáp ứng yêu cầu (không dùng tier cao cấp không cần thiết).
- Deployment options: Bao gồm DTU-based (Basic/Standard/Premium) hoặc vCore-based (General Purpose/Business Critical). Câu hỏi tập trung vào tier hỗ trợ zone-redundancy sync HA.
✅ Đáp án đúng: Azure SQL Database Premium
Lý do chọn:
- Premium tier (DTU model) hỗ trợ Zone-Redundant configuration, sử dụng Always On Availability Groups với sao chép đồng bộ tới các secondary replicas ở các AZ khác nhau trong cùng region. Khi datacenter (AZ) fail, hệ thống tự động failover trong <30 giây mà không mất dữ liệu (RPO=0, RTO<30s).
- Đây là tier thấp nhất về chi phí hỗ trợ tính năng này (rẻ hơn Business Critical vCore cao cấp). Basic/Standard không hỗ trợ zone-redundancy, serverless thì chỉ local-redundant.
- Cập nhật 2026: Vẫn giữ nguyên (Azure SQL docs xác nhận Premium/BC hỗ trợ zone-redundant HA).
🔍 Giải thích tất cả các phương án
✅ Azure SQL Database Premium
- Đúng vì hỗ trợ zone-redundant HA với sao chép đồng bộ, đảm bảo automatic failover không mất dữ liệu khi AZ/datacenter fail. Là lựa chọn tối ưu chi phí (DTU từ 125-4000 DTUs).
❌ Azure SQL Database serverless
- Sai vì serverless chỉ khả dụng trong General Purpose (GP) vCore, không hỗ trợ zone-redundancy hay sync replication. Chỉ có local-redundant storage (LRS), có thể mất dữ liệu nếu AZ fail (RPO >0). Phù hợp workload không đều, nhưng không đáp ứng yêu cầu.
❌ Azure SQL Database Basic
- Sai vì Basic tier chỉ hỗ trợ local-redundant (không zone-redundant), sử dụng asynchronous replication cục bộ. Không có automatic failover sync HA, có nguy cơ mất dữ liệu khi datacenter fail. Chỉ dành workload nhẹ, chi phí thấp nhưng không đủ yêu cầu.
❌ Azure SQL Database Standard
- Sai vì Standard tier (DTU 10-3000) cũng chỉ local-redundant, không zone-redundancy. Replication không sync, không đảm bảo zero data loss. Hỗ trợ geo-replication async nhưng không automatic failover cross-AZ với RPO=0.
📘 Tài liệu tham khảo
- Azure SQL Database High Availability & Zone Redundancy (Cập nhật 2025-2026).
- Service Tiers and HA Options (Xác nhận Premium/BC hỗ trợ sync zone HA).
- Pricing Tiers Comparison (Premium thấp nhất cho yêu cầu).
🛠️ Khuyến nghị triển khai: Sử dụng Azure Portal > DB1 > Compute + storage > chọn Premium + Zone-redundant HA để kích hoạt. Test failover bằng PowerShell/T-SQL!