Ngân hàng đề — Microsoft Azure Data Fundamentals

Tìm thấy 328 câu.

Câu 211
You have an inventory management database that contains the following table.

Which statement should you use in a SQL query to change the inventory quantity of Product1 to 270?
  1. A INSERT
  2. B MERGE
  3. C UPDATE
  4. D CREATE
Xem giải thích

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

🛤️ Mô tả câu hỏi:
Câu hỏi này thuộc lĩnh vực SQL cơ bản trong quản lý cơ sở dữ liệu, cụ thể là cách thay đổi (cập nhật) dữ liệu trong một bảng hiện có. Bạn đang quản lý một cơ sở dữ liệu hàng tồn kho (inventory management database) với một bảng chứa hai cột chính:

  • ProductName (tên sản phẩm).
  • Quantity (số lượng tồn kho).

📸 Phân tích hình ảnh đính kèm:
Hình ảnh hiển thị bảng dữ liệu cụ thể như sau:
| ProductName | Quantity |
|-------------|----------|
| Product1 | 100 |
| Product2 | 129 |
| Product3 | 176 |

Hiện tại, Product1 có số lượng tồn kho là 100. Nhiệm vụ là sử dụng câu lệnh SQL để thay đổi Quantity của Product1 thành 270, tức là cập nhật giá trị từ 100 lên 270 mà không thêm mới, xóa hoặc tạo bảng.

Câu hỏi yêu cầu chọn câu lệnh SQL phù hợp nhất từ các lựa chọn: INSERT, MERGE, UPDATE, CREATE. Đây là kiến thức SQL chuẩn, áp dụng trên các nền tảng như AWS RDS (hỗ trợ SQL Server, MySQL, PostgreSQL, Oracle – phiên bản mới nhất 2026 vẫn giữ nguyên cú pháp cơ bản này).

Ví dụ câu lệnh đúng: UPDATE table_name SET Quantity = 270 WHERE ProductName = 'Product1';

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

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

Đáp án đúng: UPDATE 🏆

Lý do:
Câu lệnh UPDATE được thiết kế chuyên biệt để cập nhật (thay đổi) dữ liệu hiện có trong bảng, dựa trên điều kiện WHERE. Trong trường hợp này, nó sẽ thay đổi Quantity của Product1 từ 100 thành 270 mà không ảnh hưởng đến các bản ghi khác. Đây là lựa chọn chính xác, hiệu quả và an toàn nhất theo chuẩn SQL (ISO/IEC 9075), được hỗ trợ đầy đủ trên AWS RDS phiên bản mới nhất (2026).

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

  • INSERT ❌ SAI:
    Câu lệnh INSERT dùng để thêm bản ghi mới vào bảng. Nếu dùng INSERT, nó sẽ tạo một hàng mới (ví dụ: thêm Product1 với Quantity=270), dẫn đến duplicate dữ liệu hoặc lỗi nếu có primary key. Không phù hợp để thay đổi dữ liệu hiện có.

  • MERGE ❌ SAI:
    MERGE (hay UPSERT) dùng để kết hợp INSERT, UPDATE, DELETE dựa trên điều kiện so sánh giữa source và target. Nó phức tạp hơn cần thiết cho việc chỉ cập nhật một giá trị đơn giản, và có thể gây lỗi nếu không cấu hình đúng. Không phải lựa chọn tối ưu cho nhiệm vụ cập nhật thuần túy.

  • UPDATE ✅ ĐÚNG:
    Như đã giải thích ở trên, đây là câu lệnh chuẩn và trực tiếp nhất để cập nhật Quantity của Product1 thành 270. Hiệu suất cao, dễ sử dụng, và tránh rủi ro dữ liệu thừa.

  • CREATE ❌ SAI:
    CREATE dùng để tạo mới object như bảng, view, index (ví dụ: CREATE TABLE). Nó không thay đổi dữ liệu mà chỉ định nghĩa cấu trúc, dẫn đến lỗi syntax nếu cố dùng để cập nhật. Hoàn toàn không liên quan.

🔍 Lưu ý bổ sung: Trong AWS RDS (2026), tất cả các engine đều hỗ trợ UPDATE với các cải tiến bảo mật như row-level security, nhưng cú pháp cơ bản không thay đổi. Hãy luôn dùng WHERE để tránh cập nhật toàn bộ bảng! 🚀

Câu 212
Your company needs to implement a relational database in Azure. The solution must minimize ongoing maintenance.
Which Azure service should you use?
  1. A Azure HDInsight
  2. B Azure SQL Database
  3. C Azure Cosmos DB
  4. D SQL Server on Azure Virtual Machines
Xem giải thích

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

Câu hỏi: "Your company needs to implement a relational database in Azure. The solution must minimize ongoing maintenance. Which Azure service should you use?"

📝 Giải thích nội dung câu hỏi:
Câu hỏi tập trung vào việc triển khai một cơ sở dữ liệu quan hệ (relational database) trên nền tảng Azure của Microsoft. Yêu cầu chính là chọn dịch vụ giúp giảm thiểu tối đa công việc bảo trì liên tục (ongoing maintenance), chẳng hạn như cập nhật phần mềm, sao lưu dữ liệu, quản lý phần cứng, vá lỗi bảo mật... Điều này nhấn mạnh vào các dịch vụ PaaS (Platform as a Service) được Azure quản lý tự động, thay vì IaaS yêu cầu quản lý thủ công. Đây là kiến thức cơ bản trong Azure Data Fundamentals (DP-900), phù hợp với các phiên bản Azure mới nhất đến năm 2026, nơi Azure SQL Database tiếp tục là lựa chọn hàng đầu cho relational DB managed service với các tính năng tự động hóa cao như auto-scaling, auto-failover và AI-powered tuning.

✅ Đáp án đúng: Azure SQL Database

Lý do lựa chọn:
Azure SQL Database là dịch vụ PaaS dành riêng cho cơ sở dữ liệu quan hệ (dựa trên SQL Server engine), được Microsoft quản lý hoàn toàn. Nó tự động xử lý bảo trì liên tục như vá lỗi, sao lưu, high availability, scaling, và monitoring – giúp doanh nghiệp giảm thiểu ongoing maintenance xuống mức thấp nhất. Điều này phù hợp hoàn hảo với yêu cầu câu hỏi, đặc biệt trong các mô hình Hyperscale hoặc Serverless mới nhất (cập nhật 2024-2026).
🛠️ Ví dụ thực tế: Không cần lo patching OS hay hardware, chỉ tập trung vào dữ liệu và ứng dụng.

📋 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 bằng tiếng Anh, kèm giải thích đúng/sai bằng tiếng Việt. Tôi sử dụng ✅ cho đúng và ❌ cho sai để dễ theo dõi:

  • Azure HDInsight ❌
    Lý do sai: Đây là dịch vụ big data analytics dựa trên Hadoop/Spark (PaaS), không hỗ trợ relational database mà tập trung vào dữ liệu phi cấu trúc hoặc semi-structured. Nó yêu cầu cấu hình cluster và bảo trì cao hơn, không giảm thiểu ongoing maintenance cho relational DB. Phù hợp cho ETL/big data jobs chứ không phải OLTP relational.

  • Azure SQL Database ✅
    Lý do đúng: Như đã giải thích ở trên, đây là dịch vụ relational PaaS managed tối ưu cho việc giảm maintenance (auto-backup, geo-replication, intelligent performance). Trong phiên bản 2026, nó hỗ trợ serverless compute để tự động pause/resume, tiết kiệm chi phí và bảo trì hơn nữa.

  • Azure Cosmos DB ❌
    Lý do sai: Đây là NoSQL multi-model database (document, key-value, graph...), không phải relational database thuần túy (không hỗ trợ full SQL joins phức tạp). Mặc dù managed PaaS, nó không đáp ứng yêu cầu "relational" và có thể yêu cầu tuning index thủ công ở quy mô lớn.

  • SQL Server on Azure Virtual Machines ❌
    Lý do sai: Đây là IaaS (VM với SQL Server cài đặt), yêu cầu quản lý toàn bộ như OS patching, hardware scaling, backup thủ công – dẫn đến ongoing maintenance cao, trái ngược hoàn toàn với yêu cầu "minimize ongoing maintenance". Chỉ dùng khi cần tùy chỉnh sâu.

📘 Tài liệu tham khảo

Hy vọng phân tích này giúp bạn nắm vững kiến thức Azure Data Fundamentals! 🚀 Nếu cần thêm ví dụ thực hành, hãy hỏi nhé!

Câu 213
You are writing a set of SQL queries that administrators will use to troubleshoot an Azure SQL database.
You need to embed documents and query results into a SQL notebook.
What should you use?
  1. A Microsoft SQL Server Management Studio (SSMS)
  2. B Azure Data Studio
  3. C Azure CLI
  4. D Azure PowerShell
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 tập trung vào tình huống viết một bộ các truy vấn SQL mà các quản trị viên sẽ sử dụng để khắc phục sự cố (troubleshoot) cho một cơ sở dữ liệu Azure SQL. Yêu cầu cụ thể là nhúng (embed) các tài liệu và kết quả truy vấn vào một SQL notebook.

  • Mục tiêu chính: Tìm công cụ phù hợp để tạo notebook SQL, nơi có thể tích hợp tài liệu (như Markdown), mã SQL và hiển thị kết quả truy vấn một cách tương tác, hỗ trợ phân tích và chia sẻ dễ dàng.
  • Ngữ cảnh Azure: Đây là tính năng liên quan đến Azure Data Studio, một công cụ nhẹ, đa nền tảng, được Microsoft thiết kế đặc biệt cho các tác vụ như notebooks trên Azure SQL Database (cập nhật đến năm 2026, Azure Data Studio phiên bản mới nhất hỗ trợ notebooks dựa trên Jupyter với tích hợp sâu AI Copilot và Git).
  • Lý do quan trọng: Notebook giúp kết hợp code, văn bản giải thích và kết quả trực quan, lý tưởng cho troubleshooting so với các công cụ truyền thống.

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

Đáp án đúng: Azure Data Studio
🛠️ Lý do: Azure Data Studio là công cụ chính thức của Microsoft hỗ trợ SQL notebooks (dựa trên công nghệ Jupyter), cho phép nhúng tài liệu Markdown, kết quả truy vấn SQL, biểu đồ và thậm chí tích hợp extension cho Azure SQL. Điều này hoàn hảo cho việc viết truy vấn troubleshoot và chia sẻ notebook tương tác. Tính năng này được cập nhật liên tục đến 2026, với hỗ trợ Copilot cho gợi ý code tự động.

📋 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 tiếng Anh:

  • ❌ Microsoft SQL Server Management Studio (SSMS)
    Phương án này sai vì SSMS là công cụ quản lý SQL truyền thống, tập trung vào viết query, thiết kế database và thực thi script, nhưng không hỗ trợ notebooks hay nhúng tài liệu/kết quả vào notebook tương tác. SSMS chỉ có giao diện grid/result pane cơ bản, không phù hợp cho embed documents (phiên bản mới nhất 20.x đến 2026 vẫn giữ nguyên hạn chế này).

  • ✅ Azure Data Studio
    Phương án này đúng như đã giải thích ở trên. Nó được thiết kế dành riêng cho notebooks SQL trên Azure, hỗ trợ embed đầy đủ tài liệu, query results và visualization, đa nền tảng (Windows/Mac/Linux).

  • ❌ Azure CLI
    Phương án này sai vì Azure CLI là dòng lệnh (command-line interface) để quản lý tài nguyên Azure qua script, không có khái niệm notebooks hay embed documents/query results. Nó chỉ dùng cho automation, không phải môi trường notebook tương tác.

  • ❌ Azure PowerShell
    Phương án này sai tương tự Azure CLI: Đây là module PowerShell cho quản lý Azure qua script, hỗ trợ query SQL gián tiếp nhưng không hỗ trợ notebooks hay nhúng tài liệu/kết quả. Nó dành cho scripting tự động hóa, không phải troubleshooting tương tác.

📘 Tài liệu tham khảo

Hy vọng phân tích này giúp bạn nắm vững kiến thức Azure Data Fundamentals! 🚀 Nếu cần thêm ví dụ notebook, hãy hỏi nhé!

Câu 214
You have an e-commerce application that reads and writes data to an Azure SQL database.
Which type of processing does the application use?
  1. A stream processing
  2. B batch processing
  3. C Online Analytical Processing (OLAP)
  4. D Online Transaction Processing (OLTP)
Xem giải thích

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

Câu hỏi mô tả một ứng dụng thương mại điện tử (e-commerce application) đọc và ghi dữ liệu trực tiếp vào cơ sở dữ liệu Azure SQL.
📌 Ý nghĩa chính:

  • Ứng dụng e-commerce thường xử lý các giao dịch thời gian thực (real-time), như đặt hàng, thanh toán, cập nhật giỏ hàng – đòi hỏi đọc/ghi dữ liệu nhanh chóng, liên tục với tính toàn vẹn cao (ACID properties).
  • Azure SQL Database là dịch vụ relational database quản lý (RDBMS) được tối ưu cho các workload giao dịch.
  • Câu hỏi yêu cầu xác định loại xử lý dữ liệu (processing type) mà ứng dụng này sử dụng, dựa trên đặc trưng hoạt động.
    🛠️ Bối cảnh kiến thức mới nhất (đến 2026): Theo tài liệu Microsoft Azure Data Fundamentals (DP-900) và Azure SQL docs (phiên bản 2024+), Azure SQL hỗ trợ OLTP làm core workload cho transactional apps.

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

Đáp án đúng: Online Transaction Processing (OLTP)
✅ Lý do:

  • E-commerce app thực hiện giao dịch thời gian thực (transactions): Đọc (SELECT) dữ liệu sản phẩm, ghi (INSERT/UPDATE/DELETE) đơn hàng ngay lập tức.
  • OLTP được thiết kế cho workload high-volume, low-latency transactions với normalization schema, indexing để đảm bảo tốc độ và tính nhất quán.
  • Azure SQL Database là lựa chọn chuẩn cho OLTP, hỗ trợ hyperscale và serverless options đến 2026.
    📘 Nguồn tham khảo: Microsoft Learn - Azure SQL Database for OLTP (cập nhật 2024).

📋 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, giữ nguyên nội dung văn bản gốc bằng tiếng Anh. Mỗi phương án được đánh giá đúng/sai với lý do cụ thể:

  • ❌ stream processing
    Sai vì: Stream processing dùng cho dữ liệu liên tục (streaming data) như IoT, logs real-time (ví dụ Kafka + Flink). E-commerce app không xử lý stream mà dùng batch transactions vào SQL DB – không khớp với mô hình streaming (low-latency nhưng non-relational). Azure SQL không phải stream processor chính.

  • ❌ batch processing
    Sai vì: Batch processing xử lý dữ liệu lớn theo lô (hàng loạt, định kỳ) như ETL jobs (ví dụ Azure Data Factory). E-commerce cần real-time reads/writes, không chờ batch – batch sẽ gây delay cho user experience.

  • ❌ Online Analytical Processing (OLAP)
    Sai vì: OLAP dành cho phân tích dữ liệu phức tạp (queries đa chiều, aggregations) trên data warehouse như Azure Synapse Analytics. E-commerce tập trung transactions operational (không phải analytics), OLAP dùng denormalized schema chậm hơn cho inserts/updates.

  • ✅ Online Transaction Processing (OLTP)
    Đúng vì: Như đã giải thích ở trên – hoàn hảo khớp với reads/writes real-time của e-commerce trên Azure SQL. OLTP ưu tiên concurrency, locking, và scalability cho hàng triệu transactions/ngày.
    🛠️ So sánh nhanh: OLTP vs OLAP là cặp phổ biến trong Azure Data Fundamentals; OLTP cho operational DB, OLAP cho reporting.

Hy vọng phân tích này giúp bạn nắm vững kiến thức Azure Data Fundamentals! 🚀 Nếu cần thêm ví dụ, hỏi nhé!

Câu 215
When can you use an Azure Resource Manager template?
  1. A to automate the creation of an interdependent group of Azure resources in a repeatable way
  2. B to apply Azure policies for multi-tenant deployments
  3. C to provision Azure subscriptions
  4. D to control which services and feature administrators and developers can deploy from the Azure portal
Xem giải thích

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

Câu hỏi: When can you use an Azure Resource Manager template?
✅ Giải thích nội dung câu hỏi: Câu hỏi này tập trung vào mục đích chính của Azure Resource Manager (ARM) template, một công cụ trong Microsoft Azure dùng để định nghĩa, triển khai và quản lý các tài nguyên Azure theo cách khai báo (declarative). ARM template cho phép bạn mô tả toàn bộ hạ tầng Azure (như virtual machines, storage accounts, networks, v.v.) trong một file JSON duy nhất, giúp tự động hóa việc tạo ra các nhóm tài nguyên phụ thuộc lẫn nhau một cách lặp lại và nhất quán. Điều này rất hữu ích cho DevOps, CI/CD pipelines (như Azure DevOps hoặc GitHub Actions), và đảm bảo môi trường phát triển/sản xuất giống hệt nhau. Kiến thức cập nhật đến năm 2026 vẫn giữ nguyên vai trò cốt lõi này của ARM templates (nay còn hỗ trợ Bicep như ngôn ngữ thay thế thân thiện hơn, nhưng ARM JSON vẫn là nền tảng).

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

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

Đáp án đúng: to automate the creation of an interdependent group of Azure resources in a repeatable way
🛠️ Lý do chi tiết: Đây chính là mục đích cốt lõi của ARM template! Nó cho phép tự động hóa việc triển khai nhóm tài nguyên phụ thuộc lẫn nhau (interdependent group), ví dụ: một VM cần network interface và storage trước khi tạo. Quá trình này lặp lại (repeatable), nghĩa là bạn có thể deploy cùng một template nhiều lần mà không lo sai sót, hỗ trợ các tham số hóa (parameters) để tùy chỉnh môi trường (dev/staging/prod). Điều này phù hợp với IaC (Infrastructure as Code), giúp scale nhanh và giảm lỗi thủ công.

🔍 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:

  • ✅ to automate the creation of an interdependent group of Azure resources in a repeatable way
    🟢 Đúng vì: Như đã giải thích ở trên, đây là chức năng chính của ARM template – tự động hóa và lặp lại việc tạo nhóm tài nguyên Azure phức tạp, đảm bảo tính nhất quán cao.

  • ❌ to apply Azure policies for multi-tenant deployments
    🔴 Sai vì: ARM template không dùng để áp dụng Azure Policies. Azure Policies được quản lý qua Azure Policy service riêng biệt (trong Azure Governance), dùng để kiểm soát compliance và cấu hình tài nguyên ở cấp subscription/management group. Multi-tenant deployments thường dùng Azure Lighthouse hoặc Enterprise Agreements, không phải ARM template. ARM chỉ deploy resources, không enforce policies.

  • ❌ to provision Azure subscriptions
    🔴 Sai vì: Việc tạo (provision) Azure subscriptions được thực hiện qua Azure Portal, Azure CLI, PowerShell hoặc Enterprise Enrollment APIs, không phải ARM template. ARM templates chỉ hoạt động trong một subscription hiện có để deploy resources (như resource groups). Subscriptions là cấp cao hơn, thuộc Azure Account Management.

  • ❌ to control which services and feature administrators and developers can deploy from the Azure portal
    🔴 Sai vì: Chức năng kiểm soát dịch vụ/features mà admin/developer có thể deploy từ Portal thuộc về Azure Role-Based Access Control (RBAC), Azure Blueprints, hoặc Azure Policy definitions. ARM template không kiểm soát quyền truy cập; nó chỉ là công cụ deploy, không phải governance tool cho permissions.

🧠 Kết luận: ARM templates lý tưởng cho tự động hóa hạ tầng, giúp Azure Data Fundamentals nắm vững khái niệm IaC. Nếu deploy thực tế, hãy dùng az deployment group create! 🚀

Câu 216
You have an Azure SQL database that you access directly from the Internet.
You recently changed the public IP address of your computer.
After changing the IP address, you can no longer access the database. You can connect to other resources in Azure.
What is a possible cause of the issue?
  1. A role-based access control (RBAC)
  2. B Dynamic Host Configuration Protocol (DHCP)
  3. C Domain Name Service (DNS)
  4. D a database-level firewall
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 có một cơ sở dữ liệu Azure SQL mà bạn truy cập trực tiếp từ Internet. Gần đây, bạn thay đổi địa chỉ IP công khai (public IP) của máy tính. Sau khi thay đổi, bạn không còn truy cập được vào cơ sở dữ liệu nữa, nhưng vẫn kết nối bình thường với các tài nguyên khác trong Azure.
📌 Vấn đề cốt lõi: Sự cố chỉ xảy ra với cơ sở dữ liệu Azure SQL cụ thể, sau khi IP thay đổi, và không ảnh hưởng đến các dịch vụ Azure khác. Điều này gợi ý nguyên nhân liên quan đến cơ chế kiểm soát truy cập dựa trên IP ở mức cơ sở dữ liệu, không phải vấn đề mạng chung hoặc quyền hạn toàn cục.
🛠️ Bối cảnh Azure SQL: Azure SQL Database hỗ trợ truy cập từ Internet qua firewall rules (quy tắc tường lửa), cho phép chỉ định IP cụ thể hoặc dải IP được phép kết nối. Đây là tính năng bảo mật mặc định từ phiên bản mới nhất (2024-2026), theo tài liệu Microsoft Azure cập nhật.

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

Đáp án đúng: a database-level firewall
🧠 Lý do: Azure SQL hỗ trợ firewall ở mức cơ sở dữ liệu (database-level firewall), nơi bạn có thể cấu hình quy tắc chỉ cho phép các IP cụ thể truy cập vào database đó. Khi thay đổi public IP của máy tính, IP mới không nằm trong danh sách được phép → bị chặn. Các tài nguyên Azure khác (như storage hoặc VM) không bị ảnh hưởng vì chúng có firewall riêng hoặc không yêu cầu quy tắc IP nghiêm ngặt như vậy. Đây là nguyên nhân phổ biến nhất, phù hợp với triệu chứng "chỉ database bị ảnh hưởng sau thay đổi IP".
📘 Tài liệu tham khảo: Configure a server-level firewall rule - Azure SQL Database và Database-level firewall rules (cập nhật 2024).

📋 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, giữ nguyên văn bản gốc bằng tiếng Anh:

  • ❌ role-based access control (RBAC)
    Phương án này sai vì RBAC là cơ chế kiểm soát quyền truy cập dựa trên vai trò người dùng (như Owner, Contributor), không liên quan đến IP address. Thay đổi IP không ảnh hưởng đến RBAC, và bạn vẫn kết nối được các tài nguyên Azure khác → loại trừ RBAC.

  • ❌ Dynamic Host Configuration Protocol (DHCP)
    Phương án này sai vì DHCP dùng để tự động cấp IP nội bộ trong mạng LAN, không liên quan đến public IP truy cập Internet hoặc Azure SQL. Vấn đề chỉ xảy ra với một database cụ thể sau thay đổi public IP → DHCP không phải nguyên nhân.

  • ❌ Domain Name Service (DNS)
    Phương án này sai vì DNS chỉ giải quyết tên miền thành IP (như azure.com → IP server). Thay đổi public IP client không ảnh hưởng đến DNS resolution, và bạn vẫn kết nối được các tài nguyên Azure khác → DNS không gây ra sự cố này.

  • ✅ a database-level firewall
    Phương án này đúng như đã giải thích ở trên. Firewall mức database chặn IP không được phép, khớp hoàn hảo với triệu chứng: chỉ Azure SQL bị ảnh hưởng, sau thay đổi IP, và không phải vấn đề mạng toàn cục.
    🛠️ Mẹo khắc phục: Thêm IP mới vào firewall rules qua Azure Portal > SQL Database > Networking > Firewalls and virtual networks.

Câu 217
Which command-line tool can you use to query Azure SQL databases?
  1. A sqlcmd
  2. B bcp
  3. C azdata
  4. D Azure CLI
Xem giải thích

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

Câu hỏi gốc (bằng tiếng Anh):
Which command-line tool can you use to query Azure SQL databases?

✅ Giải thích nội dung câu hỏi:
Câu hỏi này tập trung vào việc xác định công cụ dòng lệnh (command-line tool) phù hợp nhất để thực hiện truy vấn (query) dữ liệu trên Azure SQL databases – một dịch vụ cơ sở dữ liệu quan hệ được quản lý bởi Microsoft Azure, dựa trên công nghệ SQL Server. "Query" ở đây ám chỉ việc chạy các câu lệnh SQL như SELECT, INSERT, UPDATE để tương tác trực tiếp với dữ liệu trong cơ sở dữ liệu. Câu hỏi yêu cầu chọn tool chuyên dụng, dễ sử dụng từ terminal hoặc command prompt, hỗ trợ kết nối và thực thi SQL một cách linh hoạt. Đây là kiến thức cơ bản trong Microsoft Azure Data Fundamentals (DP-900), nhấn mạnh các công cụ quản lý dữ liệu Azure SQL. (Kiến thức cập nhật đến 2026: Azure SQL vẫn sử dụng sqlcmd làm tool chính thức cho querying, theo docs Azure mới nhất).

📘 Nguồn tham khảo:

✅ Đáp án đúng: sqlcmd

Lý do lựa chọn:
🛠️ sqlcmd là công cụ dòng lệnh chính thức và được khuyến nghị của Microsoft để truy vấn (query) Azure SQL databases. Nó hỗ trợ kết nối qua chuỗi kết nối (connection string), thực thi các câu lệnh SQL tương tác (interactive mode) hoặc batch script, và trả về kết quả dưới dạng bảng. Ví dụ: sqlcmd -S server.database.windows.net -U user -P pass -Q "SELECT * FROM table". Tool này tương thích hoàn hảo với Azure SQL Database, Azure SQL Managed Instance và SQL Server on-premises, với các tính năng như scripting variables, output formats (CSV, JSON). Đến năm 2026, sqlcmd phiên bản mới nhất (v17+) vẫn là lựa chọn hàng đầu cho developers và DBAs.

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

  • sqlcmd
    ✅ Đúng – Như đã giải thích ở trên, đây là tool chuyên dụng cho querying SQL trên Azure. Nó hỗ trợ full T-SQL syntax, error handling và là phần của SQL Server tools suite. Không có tool nào thay thế trực tiếp sqlcmd cho mục đích này trong Azure ecosystem.

  • bcp
    ❌ Sai – bcp (Bulk Copy Program) là công cụ dùng để import/export dữ liệu hàng loạt (bulk data) giữa file và database, không phải để query dữ liệu. Nó chỉ hỗ trợ các lệnh đơn giản như xuất bảng ra file (ví dụ: bcp table out file.txt), không chạy SELECT query tương tác hay xử lý kết quả phức tạp. Không phù hợp cho querying thông thường.

  • azdata
    ❌ Sai – azdata là công cụ dòng lệnh dành cho quản lý Azure Data clusters (như SQL Server Big Data Clusters hoặc Azure Synapse Analytics trên Kubernetes). Nó dùng để deploy, scale và monitor clusters (ví dụ: azdata sql login create), chứ không phải query dữ liệu trực tiếp trên Azure SQL databases. Tool này quá chuyên biệt và không hỗ trợ T-SQL querying cơ bản.

  • Azure CLI
    ❌ Sai – Azure CLI (az command) là công cụ quản lý tài nguyên Azure tổng quát (như tạo database: az sql db create), không dùng để query dữ liệu bên trong database. Nó chỉ hỗ trợ metadata operations qua az sql extension, không chạy SQL queries hay kết nối trực tiếp như sqlcmd. Để query, bạn vẫn cần sqlcmd hoặc công cụ khác.

Hy vọng phân tích này giúp bạn nắm vững kiến thức Azure Data Fundamentals! 🚀 Nếu cần ví dụ code thực tế, hãy hỏi thêm nhé!

Câu 218
You are deploying a software as a service (SaaS) application that requires a relational database for Online Transaction Processing (OLTP).
Which Azure service should you use to support the application?
  1. A Azure Cosmos DB
  2. B Azure HDInsight
  3. C Azure SQL Database
  4. D Azure Synapse Analytics
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 mô tả tình huống bạn đang triển khai một ứng dụng Software as a Service (SaaS) cần sử dụng cơ sở dữ liệu quan hệ (relational database) để hỗ trợ Online Transaction Processing (OLTP). OLTP là loại xử lý giao dịch trực tuyến, tập trung vào các hoạt động đọc/ghi nhanh chóng, ACID-compliant (Atomicity, Consistency, Isolation, Durability), phù hợp với ứng dụng doanh nghiệp như xử lý đơn hàng, tài khoản người dùng. Câu hỏi yêu cầu chọn dịch vụ Azure phù hợp nhất để hỗ trợ ứng dụng này.
(Lưu ý: Mặc dù người dùng đề cập "chủ đề liên quan đến AWS", nhưng câu hỏi rõ ràng tập trung vào các dịch vụ Azure của Microsoft, phù hợp với vai trò Azure Data Fundamentals của tôi. Kiến thức dựa trên tài liệu Azure cập nhật mới nhất đến năm 2026, với Azure SQL Database vẫn là lựa chọn hàng đầu cho relational OLTP PaaS).

✅ Đáp án đúng: Azure SQL Database
Lý do lựa chọn: Azure SQL Database là dịch vụ PaaS (Platform as a Service) cung cấp cơ sở dữ liệu quan hệ SQL Server đầy đủ tính năng, được tối ưu hóa cho OLTP với hiệu suất cao, khả năng mở rộng tự động (serverless/auto-scale), hỗ trợ ACID transactions, indexing, và tích hợp seamless với SaaS apps. Nó quản lý hoàn toàn infrastructure, backup, patching, giúp developer tập trung vào code. Phù hợp hoàn hảo cho SaaS cần relational DB OLTP.
(Dẫn nguồn: Microsoft Docs - Azure SQL Database Overview - Cập nhật 2025/2026 với hỗ trợ Hyperscale và Ledger cho OLTP nâng cao).

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

  • ❌ Azure Cosmos DB
    Phương án SAI vì Azure Cosmos DB là dịch vụ NoSQL multi-model (document, key-value, graph, columnar), được thiết kế cho global distribution và low-latency ở quy mô lớn, không phải relational DB thuần túy. Nó hỗ trợ SQL API nhưng thiếu full ACID transactions cho OLTP phức tạp, ưu tiên scale-out hơn OLTP truyền thống. Không phù hợp cho SaaS cần relational OLTP chuẩn.

  • ❌ Azure HDInsight
    Phương án SAI vì Azure HDInsight là dịch vụ big data analytics dựa trên Hadoop/Spark/Kafka, dùng cho batch processing và ETL với dữ liệu phi cấu trúc/lớn, không phải relational DB cho OLTP. Nó tập trung vào phân tích dữ liệu lớn (Hadoop ecosystem), không hỗ trợ giao dịch thời gian thực nhanh chóng cần thiết cho SaaS OLTP.

  • ✅ Azure SQL Database
    Phương án ĐÚNG (như đã giải thích ở trên). Đây là lựa chọn lý tưởng cho relational OLTP trong SaaS, với serverless options, high availability (99.99% SLA), và tích hợp Azure AD/security.
    (Dẫn nguồn: Azure SQL for OLTP Workloads - Xác nhận ưu tiên cho transactional apps đến 2026).

  • ❌ Azure Synapse Analytics
    Phương án SAI vì Azure Synapse Analytics là nền tảng data warehouse và analytics (OLAP), kết hợp SQL pools, Spark pools cho big data querying và machine learning, không tối ưu cho OLTP. Nó xử lý hàng tỷ rows cho reporting/analytics, nhưng kém hiệu quả với giao dịch nhỏ/lặp lại cao của OLTP SaaS.

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

  • Azure Data Services Comparison (Matrix so sánh tất cả dịch vụ).
  • Azure for SaaS Builders (Hướng dẫn triển khai SaaS với SQL DB).
    Hy vọng phân tích này giúp bạn nắm vững kiến thức Azure Data Fundamentals! 🚀 Nếu cần thêm câu hỏi, hãy hỏi nhé!
Câu 219 Chọn nhiều đáp án
What are two benefits of platform as a service (PaaS) relational database offerings in Azure, such as Azure SQL Database? Each correct answer presents a complete solution.
NOTE: Each correct selection is worth one point.
  1. A access to the latest features
  2. B complete control over backup and restore processes
  3. C in-database machine learning services
  4. D reduced administrative effort for managing the server infrastructure
Xem giải thích

🧩 Phân tích chi tiết câu hỏi trắc nghiệm về Azure SQL Database (PaaS)

📘 Nội dung câu hỏi:
Câu hỏi yêu cầu xác định hai lợi ích chính của các dịch vụ cơ sở dữ liệu quan hệ theo mô hình Platform as a Service (PaaS) trên Azure, chẳng hạn như Azure SQL Database. Đây là dạng câu hỏi trắc nghiệm multi-select (chọn nhiều đáp án đúng), mỗi đáp án đúng được tính 1 điểm. PaaS ở đây nhấn mạnh vào việc Azure quản lý hạ tầng nền tảng (server, OS, updates), giúp người dùng tập trung vào ứng dụng và dữ liệu mà không cần lo lắng về quản trị hạ tầng. Câu hỏi kiểm tra sự hiểu biết về lợi ích cốt lõi của PaaS so với IaaS (như SQL Server trên VM) hoặc on-premises.

✅ Đáp án đúng (hai lựa chọn):

  • access to the latest features
  • reduced administrative effort for managing the server infrastructure

🛠️ Lý do chọn đáp án đúng:
Những lợi ích này là đặc trưng cốt lõi của PaaS trên Azure SQL Database (cập nhật đến phiên bản mới nhất 2026). Azure tự động áp dụng các bản cập nhật tính năng mới nhất mà không cần can thiệp thủ công, và giảm đáng kể nỗ lực quản trị bằng cách Microsoft chịu trách nhiệm toàn bộ hạ tầng server (scaling, patching, high availability). Điều này giúp tiết kiệm thời gian, chi phí và tăng độ tin cậy.

📋 Giải thích chi tiết tất cả các phương án (giữ nguyên văn bản gốc):

  • ✅ access to the latest features
    Đúng: Trong Azure SQL Database (PaaS), bạn luôn có quyền truy cập vào các tính năng mới nhất mà Microsoft phát hành liên tục (như Intelligent Query Processing, Ledger, hoặc các cải tiến AI/ML tích hợp). Azure tự động triển khai updates mà không downtime lớn, khác với IaaS/on-prem cần tự quản lý. (Lợi ích PaaS tiêu chuẩn).

  • ❌ complete control over backup and restore processes
    Sai: PaaS như Azure SQL Database tự động hóa backup (point-in-time restore lên đến 35 ngày), bạn chỉ cấu hình retention policy chứ không có "complete control" như IaaS (VM SQL Server) nơi bạn tự quản lý file backup. Điều này giảm gánh nặng nhưng hy sinh kiểm soát chi tiết.

  • ❌ in-database machine learning services
    Sai: Đây là tính năng có sẵn trên Azure SQL (như T-SQL PREDICT với ONNX models hoặc native ML scoring), nhưng không phải lợi ích đặc trưng của PaaS. Nó tồn tại ở cả PaaS, IaaS và SQL Server on-prem/SQL Managed Instance. Lợi ích PaaS tập trung vào quản lý hạ tầng, không phải tính năng ML cụ thể.

  • ✅ reduced administrative effort for managing the server infrastructure
    Đúng: PaaS loại bỏ nhu cầu quản lý server (OS patching, hardware scaling, HA/DR), Azure xử lý toàn bộ. Bạn chỉ tập trung vào database engine, giúp giảm 70-80% công sức admin so với IaaS (dữ liệu từ Microsoft benchmarks 2026).

📚 Tài liệu tham khảo (cập nhật mới nhất 2026):

Hy vọng phân tích này giúp bạn nắm vững Azure Data Fundamentals! 🚀 Nếu cần thêm ví dụ thực tế, hãy hỏi nhé!

Câu 220
When you create an Azure SQL database, which account can always connect to the database?
  1. A the Azure Active Directory (Azure AD) account that created the database
  2. B the server admin login account of the logical server
  3. C the Azure Active Directory (Azure AD) administrator account
  4. D the sa account
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 Azure SQL Database (một dịch vụ cơ sở dữ liệu quan hệ được quản lý trên nền tảng Microsoft Azure). Cụ thể, khi bạn tạo một Azure SQL database trên một logical server (máy chủ logic), câu hỏi hỏi về tài khoản nào luôn có thể kết nối (connect) đến database đó một cách mặc định, không cần cấu hình thêm.

📘 Bối cảnh chi tiết:

  • Azure SQL Database được tạo trong một logical server (không phải máy chủ vật lý như on-premises).
  • Khi tạo logical server, bạn bắt buộc phải chỉ định một server admin login (tài khoản quản trị SQL authentication với username/password).
  • Tài khoản này có quyền db_owner trên tất cả các database trong server, nên luôn kết nối được ngay lập tức.
  • Các tài khoản khác (như Azure AD) cần cấu hình bổ sung để có quyền truy cập.
  • Kiến thức dựa trên tài liệu Microsoft Azure cập nhật đến năm 2026 (không có thay đổi lớn về cơ chế authentication cơ bản từ Azure SQL Database phiên bản hiện tại).

✅ Đáp án đúng: the server admin login account of the logical server

Lý do lựa chọn 🛠️:

  • Đây là tài khoản bắt buộc tạo khi thiết lập logical server và là quản trị viên cấp server (server-level admin).
  • Tài khoản này luôn có quyền kết nối và quản lý tất cả database trên server đó, bao gồm database mới tạo, không cần thiết lập thêm.
  • Trong Azure Portal hoặc Azure CLI/PowerShell, khi New-AzSqlServer, bạn phải cung cấp AdministratorLogin và AdministratorLoginPassword – đây chính là tài khoản này.

📋 Phân tích tất cả các phương án

  • ❌ the Azure Active Directory (Azure AD) account that created the database
    Sai vì: Tài khoản Azure AD của người tạo database không tự động có quyền kết nối. Azure AD authentication phải được bật riêng (Azure AD admin phải set up trước), và tài khoản creator chỉ có quyền nếu được assign role cụ thể. Không phải "luôn luôn" kết nối được.

  • ✅ the server admin login account of the logical server
    Đúng vì: Như giải thích trên, đây là tài khoản SQL authentication mặc định được tạo cùng logical server, có quyền sysadmin tương đương, luôn kết nối được đến mọi database trên server mà không cần config thêm.

  • ❌ the Azure Active Directory (Azure AD) administrator account
    Sai vì: Azure AD admin (nếu được chỉ định) là optional và chỉ áp dụng cho Azure AD authentication. Nó không tồn tại mặc định khi tạo database/server, và chỉ kết nối nếu active directory admin được set qua Azure Portal/CLI. Không "luôn luôn" có sẵn.

  • ❌ the sa account
    Sai vì: Trong Azure SQL Database, không có tài khoản 'sa' (system administrator) như SQL Server on-premises. Azure SQL sử dụng server admin login thay thế, và 'sa' bị vô hiệu hóa hoàn toàn để tăng bảo mật (theo mô hình PaaS).

📚 Tài liệu tham khảo

Hy vọng phân tích này giúp bạn nắm vững Azure Data Fundamentals! 🚀 Nếu cần thêm ví dụ thực hành, hãy hỏi nhé!