Courseiva

CCNA Identify considerations for relational data on Azure Questions

75 of 181 questions · Page 2/3 · Identify considerations for relational data on Azure · Answers revealed

76
MCQeasy

A company needs to migrate a large on-premises SQL Server database to Azure with minimal downtime. Which Azure service should they use for the migration?

A.Azure SQL Database
B.Azure Backup
C.Azure Data Factory
D.Azure Database Migration Service
AnswerD

Azure Database Migration Service performs online migrations, continuously replicating source changes to the target while the database stays operational. This satisfies the minimal-downtime constraint, since the cutover occurs only after replication catches up, unlike backup-and-restore approaches that require taking the on-premises SQL Server offline for the entire transfer.

Why this answer

Azure Database Migration Service (D) is correct because it is purpose-built to migrate on-premises SQL Server databases to Azure with minimal downtime, using online migration mode that continuously replicates changes until cutover. Azure SQL Database (A) is a target platform, not a migration tool, so it does not perform the migration itself. Azure Backup (B) only backs up and restores data and does not support live database migration with minimal downtime.

Azure Data Factory (C) is an orchestration and data-integration service suited to data movement and ETL, not seamless SQL Server database migration with minimal downtime.

77
MCQmedium

A company uses Azure SQL Database for a financial system. The Transactions table contains millions of rows. Queries frequently aggregate data for the current month, but also need to retain historical data for 7 years. The company wants to improve query performance for the monthly aggregations and simplify data archiving. Which design should they implement?

A.Create a clustered columnstore index on the entire table.
B.Partition the table by month and create aligned indexes.
C.Use Azure SQL Database elastic pool for the database.
D.Implement transparent data encryption.
AnswerB

Partitioning the table by month and creating aligned indexes is correct because it enables partition elimination for queries that filter on months, directly improving performance for monthly reporting. Aligned indexes—where every index is partitioned on the same partition column—allow partition switching to be fast and atomic: you can move an entire month of historical data to an archive table in seconds without touching the rest of the table. This both simplifies archiving and keeps indexes consistent, solving both stated requirements.

Why this answer

Partitioning the Transactions table by month allows SQL Server to perform partition elimination during queries that aggregate data for the current month, scanning only the relevant partition(s) instead of the entire table. Aligned indexes ensure that index structures follow the same partition scheme, maintaining efficiency for both queries and maintenance. This design also simplifies data archiving by enabling fast partition switching to move older months out of the table without costly delete operations.

Exam trap

The trap here is that candidates confuse performance features like columnstore indexes or elastic pools with the specific need for partition elimination and data archiving, overlooking that partitioning directly addresses both the query performance and data lifecycle requirements.

How to eliminate wrong answers

Option A is wrong because a clustered columnstore index is optimized for large-scale analytical workloads and data warehousing, not for transactional systems with frequent point lookups or updates; it would degrade performance for the financial system's mixed workload. Option C is wrong because an elastic pool is a resource management feature for scaling multiple databases, not a design choice to improve query performance or archiving for a single table. Option D is wrong because transparent data encryption (TDE) provides security at rest but has no impact on query performance or data archiving capabilities.

78
Multi-Selecteasy

Which TWO factors should you consider when choosing between Azure SQL Database and SQL Server on Azure Virtual Machines?

Select 2 answers
A.Need for database auditing
B.Support for geo-replication
C.Compatibility with on-premises SQL Server features
D.Need for Transparent Data Encryption
E.Level of administrative control required
AnswersC, E

Azure SQL Database runs a fixed, Microsoft-managed engine version, so features absent from that surface (for example certain CLR, cross-database or legacy constructs) are unavailable. SQL Server on Azure Virtual Machines preserves full engine compatibility, satisfying workloads depending on on-premises feature parity.

Why this answer

Option C is correct because SQL Server on Azure Virtual Machines runs the full SQL Server engine on an IaaS VM, so it supports the broadest compatibility with on-premises SQL Server features (for example, cross-database queries, SQL Server Agent, CLR, FILESTREAM, and specific legacy features) that Azure SQL Database may not fully support in its PaaS model. Option E is correct because the two services differ fundamentally in administrative control: SQL Server on Azure VMs gives you OS-level and instance-level control (patching, configuration, sysadmin rights, custom settings), while Azure SQL Database is a fully managed PaaS where Microsoft handles most administration and limits control. Options A, B, and D are not the deciding factors: auditing, geo-replication, and Transparent Data Encryption are capabilities available in both Azure SQL Database and SQL Server on Azure VMs, so they do not differentiate the two choices.

79
MCQmedium

You are designing a relational database for a multi-tenant SaaS application. Each tenant's data must be isolated for security and compliance. Which design approach best ensures data isolation while keeping cost manageable?

A.Use Azure Synapse Analytics with workload isolation
B.Use a separate database per tenant
C.Use a single database with a TenantID column and row-level security
D.Use a single database with separate schemas per tenant
AnswerB

A dedicated database per tenant, often called the silo model, provides the strongest possible isolation because each tenant's data resides in its own independent database with its own security credentials, backup schedule, and performance tier. This eliminates the risk of cross-tenant data leakage from application errors or misconfigured queries, and it allows you to restore, scale, or upgrade a single tenant without affecting any other tenant. It also simplifies compliance and audit because data is physically separated at the server level, making it the clear choice for strict multi-tenant isolation requirements.

Why this answer

A separate database per tenant provides strong isolation, ensuring each tenant's data is completely separate for security and compliance, while keeping costs manageable through elastic pools or other cost-effective deployment models. Option A is incorrect because Azure Synapse Analytics is a data warehousing and analytics service, not designed for OLTP multi-tenant isolation. Option C is incorrect because row-level security can help but does not provide the same level of isolation as separate databases.

Option D is incorrect because separate schemas within a single database do not provide full data isolation; they share the same database and resources.

80
MCQmedium

A startup is building a web application with a relational database backend. They expect variable traffic and want to minimize costs by scaling the database automatically based on demand. Which Azure service should they use?

A.Azure SQL Database serverless
B.Azure SQL Managed Instance
C.SQL Server on Azure Virtual Machines
D.Azure Database for MariaDB
AnswerA

Azure SQL Database serverless provides automatic compute scaling that responds to workload demand, and it can pause the database entirely during idle periods. Billing is per-second based on actual compute usage, not provisioned capacity, making it cost-efficient for intermittent or unpredictable application traffic. The startup's web application with variable load fits this model perfectly.

Why this answer

Azure SQL Database serverless is the correct choice because it automatically scales compute resources based on demand and pauses the database during idle periods, charging only for storage and minimal compute. This aligns with the startup's need for variable traffic and cost minimization, as it eliminates the need to provision for peak capacity manually.

Exam trap

The trap here is that candidates may confuse 'serverless' with 'PaaS' broadly, assuming all Azure relational PaaS offerings (like Azure SQL Managed Instance or Azure Database for MariaDB) automatically scale, when in fact only Azure SQL Database serverless provides the specific auto-scaling and auto-pause features for cost optimization under variable traffic.

How to eliminate wrong answers

Option B is wrong because Azure SQL Managed Instance is a fully managed instance of SQL Server with fixed compute resources, requiring manual scaling and incurring costs even when idle, making it unsuitable for variable traffic and cost minimization. Option C is wrong because SQL Server on Azure Virtual Machines requires manual configuration of scaling and auto-scaling via VM scale sets, adding operational overhead and not providing automatic database-level scaling based on demand. Option D is wrong because Azure Database for MariaDB is a relational database but lacks a serverless compute tier; it requires manual scaling of vCores and storage, and does not offer auto-pause or auto-scale features for variable workloads.

81
MCQhard

A SaaS company manages hundreds of customer databases, each representing a tenant. Each tenant database has its own predictable usage pattern, but the aggregate workload across all tenants is variable. The company wants to optimize costs by pooling compute resources across tenants while still ensuring that each tenant benefits from resource isolation under normal loads. Which Azure SQL Database deployment model should they choose?

A.Single database
B.Elastic pool
C.Managed Instance
D.SQL Server on Azure Virtual Machine
AnswerB

Elastic pools share provisioned compute and storage across many databases, so costs are pooled while each tenant database still receives guaranteed resources under normal load. This matches the variable aggregate workload and per-tenant isolation requirement, unlike single databases or managed instances.

Why this answer

Elastic pools are designed for SaaS multi-tenant scenarios where each tenant has a predictable, low average usage but the aggregate workload across tenants is variable. They allow pooling of compute resources (eDTUs or vCores) across multiple databases, providing resource isolation under normal loads via per-database min/max resource limits, while optimizing cost by sharing unused capacity among tenants.

Exam trap

The trap here is that candidates often confuse 'resource isolation' with 'dedicated resources' and choose Single Database, failing to recognize that Elastic Pools provide isolation via per-database resource limits while still pooling compute for cost efficiency.

Why the other options are wrong

A

Single database provides resource isolation but does not allow pooling compute resources across multiple databases to handle variable aggregate workloads cost-effectively.

C

Managed Instance is designed for lift-and-shift migrations of on-premises SQL Server workloads with high compatibility requirements, not for multi-tenant cost optimization with resource pooling and isolation.

D

SQL Server on Azure Virtual Machine requires manual management of compute resources and does not provide built-in pooling or resource isolation across multiple tenant databases, making it unsuitable for optimizing costs with variable aggregate workloads.

82
MCQmedium

A company has an Azure SQL Database and needs to run a weekly data aggregation job that takes several hours. They want to minimize cost and avoid impacting production workload. Which approach should they use?

A.Migrate the database to the Hyperscale service tier
B.Use Azure Elastic Jobs to run the aggregation during off-peak hours
C.Increase the DTU or vCore size of the database to handle the load
D.Create a read-only replica and run the aggregation on the replica
AnswerD

Creating a read-only replica and directing the weekly aggregation to it is the correct approach because it physically separates the heavy read workload from the primary write workload. Azure SQL Database read scale-out (Premium and Business Critical) or a geo-replicated secondary can serve read-only connections with ApplicationIntent=ReadOnly, allowing the aggregation to run on a separate compute and storage footprint. This offloading ensures the primary remains dedicated to production OLTP transactions, minimizing contention and preserving performance.

Why this answer

Creating a read-only replica allows the weekly aggregation job to run against a separate copy of the database without affecting the production workload. Since the replica is read-only, it incurs additional compute costs only during the aggregation window, and you can scale it down or stop it when not in use, minimizing overall cost.

Exam trap

The trap here is that candidates may confuse Azure Elastic Jobs as a workload isolation tool, when in fact it only schedules jobs on the same database and does not provide a separate compute resource.

How to eliminate wrong answers

Option A is wrong because migrating to the Hyperscale service tier is designed for large databases and high throughput, not for cost-effective batch processing; it increases cost and complexity without addressing the need to avoid impacting production. Option B is wrong because Azure Elastic Jobs is a scheduling service for running T-SQL scripts across multiple databases, but it does not isolate the workload from the production database; the aggregation would still run on the same primary database, impacting performance. Option C is wrong because increasing DTU or vCore size on the primary database would temporarily improve performance but would significantly increase cost and still risk impacting production workload during the aggregation run.

83
MCQeasy

A company runs an e-commerce application on Azure SQL Database. During seasonal promotions, traffic spikes significantly, but at other times traffic is low. They want to automatically adjust compute resources based on demand without manual intervention or provisioning. Which Azure SQL Database feature should they use?

A.Geo-replication
B.Elastic pools
C.Serverless compute
D.Hyperscale
AnswerC

Azure SQL Database serverless automatically scales the compute capacity between a configured minimum and maximum number of vCores based on actual workload demand, and it pauses the database when idle to eliminate compute billing. This makes it ideal for intermittent or unpredictable workloads, as it requires no manual intervention and computes billing per second. Note that serverless does not auto-scale storage; storage is billed separately and remains available even while paused.

Why this answer

Serverless compute for Azure SQL Database automatically scales compute resources based on workload demand and pauses the database during inactive periods, charging only for storage and compute used per second. This matches the requirement for automatic adjustment without manual intervention or provisioning, especially for intermittent, unpredictable traffic spikes like seasonal promotions.

Exam trap

The trap here is that candidates confuse Elastic pools (which scale shared resources across multiple databases) with the single-database auto-scaling behavior of Serverless compute, or they assume Hyperscale's high scalability automatically includes dynamic compute scaling without manual intervention.

How to eliminate wrong answers

Option A is wrong because Geo-replication is a disaster recovery and business continuity feature that creates readable replicas in different Azure regions, not an auto-scaling mechanism for compute resources. Option B is wrong because Elastic pools are designed for managing and scaling multiple databases with shared resources in a predictable pattern, not for automatically adjusting compute of a single database based on demand spikes. Option D is wrong because Hyperscale is a service tier for very large databases (up to 100 TB) with fast scaling of storage and compute, but it requires manual scaling of compute replicas and does not provide the automatic pause/resume or per-second billing of serverless compute.

84
MCQmedium

A company uses Azure SQL Database for a sales application. They need to replicate the database to a secondary region for disaster recovery. The secondary should be readable for reporting purposes and data should be synchronized within seconds. Which feature should they use?

A.Active Geo-Replication
B.Auto-failover groups
C.Point-in-time restore
D.Long-term retention
AnswerA

Active Geo-Replication asynchronously replicates committed transactions from the primary Azure SQL database to a readable secondary in a different region, keeping the copy continuously synchronized with a lag usually measured in seconds. This provides a warm, readable target that can serve reporting workloads without impacting the primary, and because Azure manages the replication process, administrative overhead remains minimal. It also supports manual failover for disaster recovery, but for a persistent reporting secondary it is the simplest and most direct fit.

Why this answer

Active Geo-Replication is the correct choice because it creates a readable secondary replica in a different Azure region, with data synchronized within seconds via asynchronous replication. This meets the requirement for both disaster recovery and read-only reporting access, as the secondary can be queried directly without impacting the primary database.

Exam trap

The trap here is that candidates often confuse Auto-failover groups with Active Geo-Replication, assuming the group feature provides faster synchronization, when in fact both use the same asynchronous replication and the key difference is that Auto-failover groups add automatic failover and endpoint management, not lower latency.

How to eliminate wrong answers

Option B (Auto-failover groups) is wrong because while it supports readable secondaries and automatic failover, it is designed for group-level failover of multiple databases and does not guarantee sub-second synchronization; it uses the same underlying geo-replication but adds orchestration, not faster sync. Option C (Point-in-time restore) is wrong because it restores a database to a past state from backups, not a continuously synchronized readable secondary for disaster recovery. Option D (Long-term retention) is wrong because it preserves backups for years for compliance, not for real-time replication or readable secondaries.

85
MCQmedium

A company stores customer data in an Azure SQL Database. To comply with data residency requirements, they need to ensure that all customer data remains within a specific Azure region. Which feature should they use?

A.Use Azure Policy to restrict resource creation to allowed regions
B.Enable geo-replication
C.Configure dynamic data masking
D.Enable transparent data encryption (TDE)
AnswerA

Azure Policy can enforce data residency by applying a policy definition to deny or audit the creation of Azure SQL Database resources outside an approved region. You can target the resource types Microsoft.Sql/servers and Microsoft.Sql/servers/databases, and include parameters for allowed locations so both server and database must be in the required geography. The Deny effect blocks any non-compliant deployment before it happens, while Audit logs violations, making this a governance and compliance control rather than a data-protection feature.

Why this answer

Azure Policy can enforce that resources are only created in approved Azure regions, which directly satisfies data residency requirements by preventing deployment of the Azure SQL Database (or any resource) outside the permitted geography. This is the governance control designed for exactly this compliance scenario.

Exam trap

DP-900 often tests the confusion between encryption, masking, and residency controls — candidates pick TDE or masking because they sound like 'data protection,' missing that only Azure Policy enforces location.

How to eliminate wrong answers

Option B is wrong because geo-replication copies data to a secondary region, which would actually violate data residency by moving data outside the required region. Option C is wrong because dynamic data masking hides sensitive columns from non-privileged users but does not control where data is stored. Option D is wrong because TDE encrypts data at rest within the same region — it addresses confidentiality, not residency.

86
MCQhard

A company uses Azure SQL Database for a financial system. The Transactions table contains millions of rows with a TransactionDate column. Queries frequently aggregate sales totals for the current month, but historical data must be retained for 7 years. Currently, queries scan the entire table, causing performance issues. The company also wants to simplify archiving of old data. Which design should they implement?

A.Create a non-clustered index on the TransactionDate column.
B.Implement table partitioning by month on TransactionDate.
C.Create a materialized view for the current month's data.
D.Convert the table to use a clustered columnstore index.
AnswerB

Partitioning splits the Transactions table into monthly partitions on TransactionDate, enabling partition elimination so current-month aggregates scan only the relevant partition rather than millions of rows. Switching partitions also simplifies archiving by moving old partitions out efficiently.

Why this answer

Table partitioning by month on TransactionDate allows Azure SQL Database to efficiently manage and query large tables by splitting data into manageable segments. Queries that filter on TransactionDate for the current month will only scan the relevant partition(s), eliminating full table scans. Additionally, partitioning simplifies archiving by enabling swift partition switching to move old data to archive tables without complex ETL processes.

Exam trap

The trap here is that candidates often choose a non-clustered index (Option A) thinking it will speed up range queries, but they overlook that partitioning is specifically designed for both performance on large tables and simplified data lifecycle management, which the question explicitly requires.

How to eliminate wrong answers

Option A is wrong because a non-clustered index on TransactionDate would still require key lookups for non-indexed columns and does not eliminate scanning all partitions of historical data; it also does not simplify archiving. Option B is wrong because a materialized view for the current month's data would require manual maintenance and does not address the need to retain and efficiently query 7 years of historical data; it also does not simplify archiving of old data. Option D is wrong because a clustered columnstore index is optimized for analytical workloads on large tables but does not inherently partition data by month, so queries for the current month would still scan all column segments, and it does not provide a built-in mechanism for archiving old data.

87
MCQhard

A multinational corporation is deploying a global application using Azure SQL Database. They need to ensure that users in different geographic regions experience low latency reads. The application can tolerate slightly stale data for reads, but writes must be strongly consistent and must occur in a single primary region. Which feature should they implement?

A.Azure Cosmos DB with multi-master
B.Active geo-replication
C.Failover groups
D.Read scale-out
AnswerB

Active geo-replication is the correct choice because it creates readable secondary replicas of an Azure SQL database in different regions, allowing applications to direct read-only queries to the nearest secondary for low-latency access. These secondaries are maintained through asynchronous replication, so they are near-real-time but not guaranteed to be transaction-consistent with the primary. This directly addresses the need for global read performance while keeping the primary as the sole write endpoint, which is simpler and more predictable than multi-master.

Why this answer

Active geo-replication in Azure SQL Database allows up to four readable secondary databases in different Azure regions, providing low-latency reads for geographically distributed users while maintaining a single writable primary. Because the application tolerates slightly stale reads, the asynchronous replication of active geo-replication is acceptable, and writes remain strongly consistent on the single primary. This matches the requirement exactly.

Exam trap

The trap is confusing active geo-replication (readable cross-region secondaries for latency) with failover groups (DR orchestration with listeners) and read scale-out (same-region read offload) — candidates must match the feature to the specific requirement of cross-region low-latency reads with a single write primary.

How to eliminate wrong answers

Option A is wrong because Azure Cosmos DB with multi-master is a different database platform entirely — the question specifies Azure SQL Database, and multi-master also allows writes in multiple regions, contradicting the single-primary write requirement. Option C is wrong because failover groups are designed for disaster recovery and automatic failover of a group of databases, not for providing readable secondaries for latency reduction; they also do not provide the read-scale capability described. Option D is wrong because read scale-out uses the built-in read-only replica in the same region (or via the read-only routing listener) and does not provide cross-region low-latency reads for global users.

88
MCQmedium

A banking application processes fund transfers. When a transfer is executed, the system must either successfully debit one account and credit the other, or if any step fails, the entire operation must be rolled back so no partial changes remain. Which ACID property directly enforces this behavior?

A.A) Atomicity
B.B) Consistency
C.C) Isolation
D.D) Durability
AnswerA

Atomicity guarantees that a transaction is treated as a single, indivisible unit: either all its operations (e.g., debit and credit in a fund transfer) execute successfully and commit, or none take effect. If any step fails, the database management system rolls back all completed steps to the original state, using undo logs or shadow paging. This all-or-nothing property prevents partial updates, making it the correct ACID property for a multi-step transfer.

Why this answer

Atomicity ensures that a transaction is treated as a single, indivisible unit of work. In this banking scenario, the debit and credit operations are part of one transaction; if either step fails, the entire transaction is rolled back, leaving no partial changes. This is the core property that enforces the 'all-or-nothing' behavior described.

Exam trap

The trap here is that candidates confuse Consistency with Atomicity, thinking that 'keeping data consistent' means the same as 'all-or-nothing rollback,' but Consistency only enforces rules like constraints and triggers, not the indivisible execution of a multi-step operation.

How to eliminate wrong answers

Option B (Consistency) is wrong because consistency ensures that a transaction brings the database from one valid state to another, enforcing integrity constraints (e.g., account balances must never go negative), but it does not guarantee the all-or-nothing rollback of the entire operation. Option C (Isolation) is wrong because isolation controls how concurrent transactions are executed to prevent interference (e.g., dirty reads), but it does not enforce the atomic rollback of a failed multi-step transfer. Option D (Durability) is wrong because durability guarantees that once a transaction is committed, its changes persist even after a system failure, but it has no role in rolling back a failed transaction.

89
MCQmedium

A company stores customer orders in an Azure SQL Database. They need to ensure that the database can automatically scale to handle peak loads without manual intervention. Which Azure feature should they use?

A.Purchase reserved capacity
B.Add a read replica
C.Enable the serverless compute tier
D.Configure an elastic pool
AnswerC

Enabling the serverless compute tier for Azure SQL Database is the correct choice because it automatically scales compute capacity (measured in vCores) based on actual workload demand, scaling up or down within a configured range. It even pauses the database automatically during periods of inactivity, so you are billed only for storage, and resumes quickly when a request arrives. This fits an intermittent order-insert workload without manual intervention.

Why this answer

The serverless compute tier for Azure SQL Database automatically pauses and resumes the database based on compute usage, scaling compute resources on demand without manual intervention. This makes it ideal for handling unpredictable peak loads while minimizing costs during idle periods.

Exam trap

The trap here is that candidates confuse elastic pools with automatic scaling, but elastic pools only share resources across databases and require manual adjustment of pool limits, whereas serverless provides true auto-scale and auto-pause for a single database.

How to eliminate wrong answers

Option A is wrong because purchasing reserved capacity provides a discount for pre-committed usage but does not enable automatic scaling. Option B is wrong because adding a read replica offloads read-only workloads for performance, not for scaling compute capacity automatically. Option D is wrong because configuring an elastic pool shares resources among multiple databases but requires manual scaling of the pool's eDTU/vCore limits and does not provide automatic, per-database compute scaling.

90
MCQhard

A global e-commerce company uses Azure SQL Database for its order management system. They need to ensure high availability with the ability to fail over to an Azure region in a different continent in case of a regional outage. They also want to use the secondary database for read-intensive reporting without affecting the primary's performance. Which Azure SQL Database feature should they enable?

A.Active geo-replication
B.Long-term backup retention
C.Automatic tuning
D.Connection pooling
AnswerA

Active geo-replication creates up to four readable secondaries in any Azure region, satisfying both the cross-continent failover requirement and the reporting-offload requirement. Unlike auto-failover groups, it supports manually initiated failover to any replica and permits read workloads on secondaries, so reporting queries never touch the primary.

Why this answer

Active geo-replication is the correct choice because it creates readable secondary replicas of an Azure SQL Database in a different Azure region (including a different continent). It supports manual failover to the secondary region during an outage, and the secondary can be used for read-only query workloads like reporting without impacting the primary database's performance.

Exam trap

The trap here is that candidates may confuse 'geo-replication' with 'failover groups' or assume that any backup feature (like long-term retention) can serve as a high-availability solution, but only active geo-replication provides a readable secondary in a different continent for both failover and read-scale.

How to eliminate wrong answers

Option B (Long-term backup retention) is wrong because it only preserves database backups for extended periods (up to 10 years) for compliance or recovery, not for real-time failover or read-scale. Option C (Automatic tuning) is wrong because it optimizes query performance through index and plan recommendations, not for high availability or geo-failover. Option D (Connection pooling) is wrong because it manages client-side database connections to reduce latency and resource usage, but does not provide any regional redundancy or read-scale capability.

91
MCQeasy

An e-commerce application uses Azure SQL Database and stores user session data in a table called Sessions. The table contains millions of rows and queries often filter by UserID and LastActivityTime. The development team wants to improve query performance for these filters. What should they implement?

A.Create a clustered index on the SessionID column
B.Create a view that filters the data
C.Create a nonclustered index on UserID and LastActivityTime
D.Partition the table by month
AnswerC

A composite nonclustered index on (UserID, LastActivityTime) is precisely tailored for queries that filter on those two columns, often with UserID as an equality predicate and LastActivityTime as a range predicate. The index's B-tree structure lets SQL Server perform an index seek directly to the relevant rows, significantly reducing logical I/O compared to a full table scan. Because UserID is the leading column, it supports point lookups, while LastActivityTime handles ordering or upper/lower bound filters, making it the optimal, low-cost choice for these access patterns.

Why this answer

A nonclustered index on UserID and LastActivityTime allows the database engine to quickly locate rows matching the filter criteria without scanning the entire table. This index covers the two columns most frequently used in WHERE clauses, significantly reducing I/O and improving query performance for the e-commerce application's session data.

Exam trap

The trap here is that candidates often confuse partitioning with indexing, thinking partitioning alone improves query performance, but without appropriate indexes, queries still require scanning large amounts of data.

How to eliminate wrong answers

Option A is wrong because creating a clustered index on SessionID would physically order the table by that column, which is not used in the filter queries; it would not help queries filtering by UserID and LastActivityTime. Option B is wrong because a view is a saved query definition that does not improve performance; it does not create any index or physical data structure to speed up filtering. Option D is wrong because partitioning the table by month would divide data into segments based on time, but without proper indexes on UserID and LastActivityTime, queries still require scanning multiple partitions or performing full scans within partitions.

92
MCQhard

A company is migrating a 3-TB on-premises SQL Server database to Azure. The database heavily uses cross-database queries with three-part names (e.g., db.schema.table) and relies on SQL Server Agent for scheduled maintenance jobs. They want a fully managed PaaS service with automatic backups and patching, while minimizing application code changes. Which Azure SQL service should they choose?

A.Azure SQL Managed Instance
B.Azure SQL Database (single database)
C.Azure SQL Database (elastic pool)
D.Azure Synapse Analytics dedicated SQL pool
AnswerA

Azure SQL Managed Instance is the correct choice because it offers near-total parity with on-premises SQL Server, preserving critical features like SQL Server Agent and three-part cross-database queries, which are essential for a seamless lift-and-shift of a 3 TB transactional database. Its instance-level scope allows multiple databases to reside on the same logical server, enabling in-database queries across those databases without application rewrites. Being fully managed, it handles patching, backups, and high availability, making it the ideal target for this migration.

Why this answer

Azure SQL Managed Instance is the correct choice because it provides near-100% compatibility with on-premises SQL Server, including support for cross-database queries using three-part names (db.schema.table) and SQL Server Agent for scheduled maintenance jobs. As a fully managed PaaS service, it offers automatic backups, patching, and high availability while minimizing application code changes, unlike Azure SQL Database which lacks cross-database query support and SQL Agent.

Exam trap

The trap here is that candidates often choose Azure SQL Database (single or elastic pool) because it is the most well-known PaaS option, overlooking that it lacks critical on-premises features like cross-database three-part name queries and SQL Server Agent, which are essential for minimizing code changes in this migration scenario.

Why the other options are wrong

B

Azure SQL Database (single database) does not support cross-database queries using three-part names or SQL Server Agent, both of which are required by the scenario.

C

Azure SQL Database (elastic pool) does not support cross-database queries with three-part names or SQL Server Agent, so it cannot meet the migration requirements without significant application changes.

D

Azure Synapse Analytics dedicated SQL pool is a massively parallel processing (MPP) data warehouse designed for large-scale analytics, not for OLTP workloads with cross-database queries and SQL Server Agent jobs. It does not support cross-database queries using three-part names or SQL Server Agent, and migrating a 3-TB SQL Server database with those dependencies would require significant application changes.

93
MCQmedium

A company runs an e-commerce application on Azure SQL Database. The database has a table named Orders with columns: OrderID (int, primary key), CustomerID (int), OrderDate (datetime), TotalAmount (decimal). The application frequently runs the following query: SELECT * FROM Orders WHERE CustomerID = 12345 AND OrderDate BETWEEN '2025-01-01' AND '2025-01-31' ORDER BY OrderDate DESC. The table contains 10 million rows. Which index would best optimize this query?

A.A nonclustered index on OrderDate only.
B.A nonclustered index on (CustomerID, OrderDate DESC) including TotalAmount as included column.
C.A clustered index on (OrderDate, CustomerID).
D.A nonclustered index on (OrderDate DESC) only.
AnswerB

This composite index is optimal because the leading key column CustomerID enables a precise equality seek to exactly the rows for the specified customer. The OrderDate DESC key column then provides both an efficient range scan for the date condition and returns rows already in the required ORDER BY OrderDate DESC order, eliminating a sort operator. Adding TotalAmount as an included column makes the index fully covering: all columns referenced in the SELECT, WHERE, and ORDER BY are present in the index, so SQL Server can satisfy the query entirely from the nonclustered index without costly key lookups into the clustered index or heap.

Why this answer

The query filters on both CustomerID and OrderDate, so a composite nonclustered index on (CustomerID, OrderDate DESC) allows SQL Server to perform an index seek on CustomerID and then an ordered range scan on OrderDate, avoiding a sort operation. Including TotalAmount as an included column makes the index covering, so the query can be satisfied entirely from the index without key lookups to the clustered index.

Exam trap

The trap here is that candidates often think a single-column index on the most selective column (OrderDate) is sufficient, but they overlook that the query's equality filter on CustomerID must be the leading key column to enable an efficient seek, and that including the SELECT column avoids key lookups.

How to eliminate wrong answers

Option A is wrong because an index on OrderDate only would require scanning all rows for the given CustomerID, as the filter on CustomerID cannot use the index, leading to a full scan or inefficient partial scan. Option C is wrong because a clustered index on (OrderDate, CustomerID) would order the entire table by OrderDate first, making seeks on CustomerID inefficient and requiring a scan of all rows for that date range; also, changing the clustered index from the primary key (OrderID) could impact other queries and insert performance. Option D is wrong because an index on OrderDate DESC only suffers the same issue as Option A: it cannot efficiently locate rows for a specific CustomerID, resulting in a scan or bookmark lookup.

94
MCQmedium

A company is migrating a 2-TB on-premises SQL Server database to Azure. The database uses SQL Server Agent jobs for scheduled maintenance, relies on linked servers to query data from another SQL Server instance, and requires cross-database queries within the same instance. The company wants a fully managed PaaS service that minimizes application code changes and provides automatic backups and patching. Which Azure SQL service should they choose?

A.Azure SQL Database (Single Database)
B.Azure SQL Database (Elastic Pool)
C.Azure SQL Managed Instance
D.SQL Server on Azure Virtual Machine
AnswerC

Azure SQL Managed Instance is the recommended destination for a 2 TB on-premises SQL Server database because it provides near-100% T-SQL surface compatibility, including SQL Server Agent, linked servers, Service Broker, and cross-database queries. Unlike Azure SQL Database, it supports instance-scoped features without requiring application changes, and it also handles backups, patching, and high availability automatically as a fully managed PaaS service.

Why this answer

Azure SQL Managed Instance is the correct choice because it provides near 100% compatibility with on-premises SQL Server, including support for SQL Server Agent jobs, linked servers, and cross-database queries within the same instance. As a fully managed PaaS service, it offers automatic backups, patching, and high availability while minimizing application code changes, unlike Azure SQL Database which lacks instance-scoped features.

Exam trap

The trap here is that candidates often confuse Azure SQL Database (which is database-level PaaS) with Azure SQL Managed Instance (which is instance-level PaaS), overlooking that linked servers, Agent jobs, and cross-database queries require instance-scoped functionality not available in Azure SQL Database.

Why the other options are wrong

A

Azure SQL Database (Single Database) does not support SQL Server Agent jobs, linked servers, or cross-database queries, which are required by the company's migration.

B

Azure SQL Database (Elastic Pool) does not support SQL Server Agent jobs, linked servers, or cross-database queries, which are required by the company's workload.

D

SQL Server on Azure Virtual Machine is an IaaS service, not fully managed PaaS. It requires manual patching, backup management, and does not minimize application code changes as much as Azure SQL Managed Instance, which offers higher compatibility with SQL Server Agent jobs, linked servers, and cross-database queries.

95
MCQhard

A company has an Azure SQL Database with an 'Orders' table containing millions of rows. The table has a clustered index on OrderID (primary key). Queries frequently filter by CustomerID (equality) and OrderDate (range). These queries are slow and cause high logical reads. Which index strategy will most improve performance for these specific queries?

A.Create a non-clustered index on (CustomerID, OrderDate).
B.Rebuild the clustered index on (OrderDate, CustomerID).
C.Create a non-clustered index on OrderDate.
D.Create a filtered index on OrderDate for recent dates.
AnswerA

A non-clustered index with leading key CustomerID and second key OrderDate directly supports the query's equality filter on CustomerID and range filter on OrderDate. The optimizer can perform an index seek on CustomerID and then a range seek on OrderDate within that customer's rows, avoiding a full table scan and minimizing page reads. If the SELECTed columns are included or the query is otherwise covered, this index can be particularly efficient, but even as a key-only index it reduces lookups compared to single-column alternatives.

Why this answer

A non-clustered index on (CustomerID, OrderDate) is a covering index for queries filtering by CustomerID (equality) and OrderDate (range). It allows SQL Server to perform an index seek on CustomerID, then a range scan on OrderDate, retrieving all needed columns without touching the clustered index (if the query is covered). This dramatically reduces logical reads compared to a full clustered index scan or a key lookup.

Exam trap

The trap here is that candidates often think a filtered index or a single-column index is sufficient, but they overlook that the query has both an equality and a range predicate, requiring a composite index that supports both in the correct order (equality first, range second) to achieve optimal seek + range scan performance.

Why the other options are wrong

B

Rebuilding the clustered index on (OrderDate, CustomerID) would change the physical order of the table, which is inefficient because the primary key (OrderID) is typically used for unique row identification and joins. The queries filter by CustomerID (equality) and OrderDate (range), so a non-clustered index covering both columns is more appropriate without disrupting the clustered index structure.

C

An index on OrderDate alone does not cover the CustomerID filter, so SQL Server may still need to perform key lookups or scan a large portion of the index, failing to efficiently support both equality and range predicates.

D

A filtered index on OrderDate for recent dates would only improve queries that filter on recent dates, but the question specifies queries filter by CustomerID (equality) and OrderDate (range). The filtered index does not include CustomerID, so it cannot efficiently support the equality filter on CustomerID, leading to key lookups or scans.

96
MCQhard

A retail company uses Azure SQL Database to store inventory data. They notice excessive blocking and deadlocks during peak hours. Which design change would best reduce these issues?

A.Implement read replicas for reporting queries
B.Use the READ UNCOMMITTED isolation level
C.Add appropriate indexes to reduce lock duration
D.Scale up to a higher service objective
AnswerC

Adding appropriate indexes, such as covering or composite indexes, lets queries locate and modify only the necessary rows without scanning large tables. This shortens the time that locks are held and reduces the number of locks acquired, lowering the chance of lock escalation and blocking between concurrent inventory updates. Proper index design is a direct, proactive way to reduce lock duration and is the best-practice response to update conflicts and transaction contention.

Why this answer

Adding appropriate indexes reduces the number of rows scanned during queries, which shortens lock duration and lowers the chance of blocking and deadlocks. In Azure SQL Database, indexes help queries become more efficient by using seeks instead of scans, minimizing the time locks are held on resources.

Exam trap

The trap here is that candidates often confuse scaling up (more resources) with performance tuning, but the DP-900 exam tests understanding that blocking and deadlocks are primarily caused by inefficient query execution, not insufficient hardware.

How to eliminate wrong answers

Option A is wrong because read replicas offload reporting traffic but do not reduce blocking or deadlocks on the primary database; they only separate read workloads. Option B is wrong because READ UNCOMMITTED avoids blocking by reading dirty data but does not reduce deadlocks or blocking for write operations, and it introduces data consistency issues. Option D is wrong because scaling up to a higher service objective increases resources (CPU, IO, memory) but does not address the root cause of inefficient queries that cause long-held locks.

97
MCQmedium

A company is migrating a 1.5 TB on-premises SQL Server database to Azure. The database relies on SQL Server Agent jobs for daily ETL processes and uses linked servers to query data from another on-premises SQL Server database. The company wants a fully managed PaaS service that requires minimal application changes. Which Azure SQL service should they choose?

A.Azure SQL Database
B.Azure SQL Managed Instance
C.SQL Server on Azure Virtual Machines
D.Azure Synapse Analytics
AnswerB

Azure SQL Managed Instance is the correct choice because it provides near-complete SQL Server engine compatibility, including instance-scoped features such as SQL Server Agent, linked servers, CLR, Service Broker, and distributed transactions, while being a fully managed PaaS offering. It offloads patching, backups, and high availability, allowing a lift-and-shift migration of a 1.5 TB on-premises SQL Server database with minimal application changes.

Why this answer

Azure SQL Managed Instance is the correct choice because it provides near 100% compatibility with on-premises SQL Server, including support for SQL Server Agent jobs and linked servers, while being a fully managed PaaS service. This minimizes application changes, as the migration can leverage the existing database code and features without significant rework.

Exam trap

The trap here is that candidates often choose Azure SQL Database because it is the most well-known PaaS option, failing to recognize that its lack of SQL Server Agent and linked server support would require significant application changes, which the question explicitly wants to minimize.

Why the other options are wrong

A

Azure SQL Database does not support SQL Server Agent jobs or linked servers, which are required for the company's daily ETL processes and cross-database queries.

C

SQL Server on Azure Virtual Machines is an IaaS service, not fully managed PaaS, and requires the company to manage the VM and SQL Server, including patching and backups, which contradicts the requirement for minimal application changes and a fully managed service.

D

Azure Synapse Analytics is a distributed analytics service designed for large-scale data warehousing and big data workloads, not for migrating a single 1.5 TB SQL Server database with minimal application changes. It lacks support for SQL Server Agent jobs and linked servers, and would require significant application rewrites.

98
MCQhard

A company uses Azure SQL Database for its e-commerce platform. During a traffic spike, queries against the Orders table become slow. The table has 10 million rows and is clustered on OrderId. The most common query filters by CustomerId and OrderDate range. Which index change would most improve performance?

A.Create a clustered index on CustomerId
B.Partition the table by OrderId
C.Create a nonclustered index on (CustomerId, OrderDate)
D.Create a nonclustered index on (OrderDate, CustomerId)
AnswerC

A nonclustered index on (CustomerId, OrderDate) is the optimal choice because it lets the query optimizer seek directly to the index entry for a specific CustomerId and then perform a range scan on OrderDate within that customer's contiguous block of index rows. Since both columns are key columns, the index can also act as a covering index for the query if only these columns are needed, avoiding costly lookups to the clustered index. This arrangement is ideal for equality on the leading column and inequality/range on the second, which is exactly the pattern of the slow query.

Why this answer

The most common query filters by CustomerId and OrderDate, so a nonclustered index on (CustomerId, OrderDate) provides a covering index that allows the database engine to quickly locate rows without scanning the entire clustered index. This index order supports equality on CustomerId and range scans on OrderDate, which is optimal for the query pattern. In Azure SQL Database, this reduces I/O and improves response time during traffic spikes.

Exam trap

The trap here is that candidates often choose the index with the most selective column first (OrderDate) without considering that the query uses an equality filter on CustomerId, which should be the leading key for optimal seek performance.

How to eliminate wrong answers

Option A is wrong because changing the clustered index to CustomerId would force the table to be physically reordered by CustomerId, which would break the existing OrderId-based ordering and could degrade performance for other queries that rely on OrderId ordering or lookups. Option B is wrong because partitioning by OrderId does not help queries that filter by CustomerId and OrderDate; partitioning would only improve performance if queries were filtered or pruned by the partition key (OrderId). Option D is wrong because indexing on (OrderDate, CustomerId) is less selective for the common query pattern: since OrderDate is a range, the database would need to scan many rows with the same date before filtering by CustomerId, whereas (CustomerId, OrderDate) allows direct seeks on CustomerId first.

99
MCQmedium

Refer to the exhibit. You are reviewing an ARM template for an Azure SQL Database deployment. What is the maximum size (in GB) of the database?

A.256 GB
B.500 GB
C.250 GB
D.268 GB
AnswerC

The value 268,435,456,000 bytes divides exactly by 1,073,741,824 (the number of bytes in one GiB) to give 250, meaning the exhibit represents 250 GiB. In an ARM template, the disk size property is specified as an integer number of GiB, so the correct entry is 250. This binary interpretation matches Azure's capacity behavior, where the displayed 'GB' actually refers to GiB for managed disks.

Why this answer

The ARM template specifies the 'maxSizeBytes' property as 268,435,456,000 bytes. Converting this to gigabytes (divide by 1024^3) yields exactly 250 GB. This is the maximum size of the database as defined in the template.

Exam trap

The trap here is that candidates often mistakenly divide the byte value by 1,000,000,000 (decimal) instead of 1,073,741,824 (binary), leading them to incorrectly select 268 GB instead of the correct 250 GB.

How to eliminate wrong answers

Option A is wrong because 256 GB would correspond to a maxSizeBytes value of 274,877,906,944, which is not the value in the template. Option B is wrong because 500 GB would require a maxSizeBytes value of 536,870,912,000, which is not present. Option D is wrong because 268 GB is a common misinterpretation of the raw byte value (268,435,456,000) without dividing by 1024^3 correctly; the correct conversion yields 250 GB.

100
MCQhard

An e-commerce application uses Azure SQL Database. The Orders table stores millions of rows with columns: OrderID (primary key, clustered index), CustomerID, OrderDate, OrderStatus, TotalAmount. Queries frequently filter on OrderDate and OrderStatus, and sort results by OrderDate DESC. Which indexing strategy will most improve query performance for these filters and sort?

A.Create a nonclustered index on OrderDate only.
B.Create a nonclustered index on OrderDate, OrderStatus and include other columns needed by the query.
C.Create a clustered columnstore index on the table.
D.Create a nonclustered index on OrderStatus only.
AnswerB

A composite nonclustered index on (OrderDate, OrderStatus) allows the query to filter on both columns efficiently and provides the data already sorted by OrderDate (the leading key). Including other columns avoids key lookups, making the query even faster.

Why this answer

A nonclustered index on (OrderDate, OrderStatus) supports both the filter and the sort in a single index seek/scan. SQL Server can use the index to locate rows matching both predicates and return them already sorted by OrderDate DESC without a separate sort operation, which is critical for performance on millions of rows.

Exam trap

The trap here is that candidates often think a single-column index on the most filtered column (OrderDate) is sufficient, overlooking that the second filter (OrderStatus) and the sort order require a composite index to avoid extra processing.

How to eliminate wrong answers

Option A is wrong because an index on OrderDate only does not cover the OrderStatus filter, forcing key lookups or a full scan to evaluate the status predicate, which is inefficient for large tables. Option C is wrong because a clustered columnstore index is optimized for analytical/aggregation workloads, not for point lookups or ordered retrieval of individual rows; it would degrade performance for the described transactional queries. Option D is wrong because an index on OrderStatus only does not help with the OrderDate sort, requiring a separate sort operation after filtering, and it does not support the date range filter efficiently.

101
MCQmedium

A company plans to migrate an on-premises SQL Server database to Azure. The database currently uses SQL Server Agent jobs for scheduled maintenance tasks, cross-database queries, and query store for performance tuning. The database size is 500 GB and needs to scale to 10 TB eventually. They want a managed service that requires minimal application changes. Which Azure relational database service should they choose?

A.Azure SQL Managed Instance
B.Azure SQL Database (single database)
C.Azure SQL Database Hyperscale
D.Azure Database for SQL Server
AnswerA

Azure SQL Managed Instance offers the highest compatibility with on-premises SQL Server, supporting SQL Agent, cross-database queries within the instance, and Query Store. It provides up to 16 TB of storage, meeting the size requirements.

Why this answer

Azure SQL Managed Instance is the correct choice because it provides near 100% compatibility with on-premises SQL Server, including support for SQL Server Agent jobs, cross-database queries, and Query Store, while being a fully managed PaaS service. It allows scaling up to 10 TB (up to 16 TB with some configurations) with minimal application changes, as it uses the same T-SQL surface area and network configuration (VNet) as on-premises SQL Server.

Exam trap

The trap here is that candidates often confuse Azure SQL Database (single database) with SQL Managed Instance, assuming that Hyperscale's large storage capacity compensates for missing features like SQL Server Agent and cross-database queries, but the exam tests the specific feature requirements (Agent jobs, cross-database queries) that only Managed Instance fully supports.

How to eliminate wrong answers

Option B (Azure SQL Database single database) is wrong because it does not support SQL Server Agent jobs or cross-database queries (except via elastic queries or external tables), and its maximum size is 4 TB (or 100 TB with Hyperscale, but still lacks Agent and cross-database support). Option C (Azure SQL Database Hyperscale) is wrong because, while it supports large databases up to 100 TB, it does not support SQL Server Agent jobs or cross-database queries, and it requires application changes for connection strings and some T-SQL features. Option D (Azure Database for SQL Server) is wrong because this is not a real Azure service; the correct name is Azure Database for SQL Server (which is actually a marketing term for SQL Server on Azure VMs) or Azure SQL Database, but as a distinct service, it does not exist — the intended trap is confusing it with SQL Server on Azure VMs, which is IaaS, not a managed service.

102
MCQmedium

A library management system uses Azure SQL Database. The Books table has 500,000 rows with columns: BookID (primary key, clustered), Title, Author, ISBN, PublishedYear, CopiesAvailable. Queries frequently filter by Author and then sort results by PublishedYear in descending order. The queries also return the Title and CopiesAvailable columns. Which indexing strategy will most improve query performance for these operations?

A.Create a nonclustered index on (Author, PublishedYear DESC) and include (Title, CopiesAvailable)
B.Create a nonclustered index on Author only
C.Create a nonclustered index on PublishedYear DESC
D.Keep only the existing clustered index on BookID
AnswerA

A composite nonclustered index with Author as the leading key column lets Azure SQL Database seek directly to the rows for the specified author. Adding PublishedYear DESC as the second key column means rows are already stored in the required sort order, eliminating a sort operator. Including Title and CopiesAvailable makes the index covering, so the query engine returns the result using only index pages, avoiding costly bookmark lookups into the clustered index. This design addresses the filter, ordering, and projection in one pass.

Why this answer

It creates a covering nonclustered index on (Author, PublishedYear DESC) that directly supports the filter (Author) and sort (PublishedYear DESC) operations. Including Title and CopiesAvailable as non-key columns makes the index covering, meaning all required columns are in the index leaf level, so SQL Server can satisfy the query entirely from the index without key lookups to the clustered index. This minimizes I/O and improves query performance.

Exam trap

The trap here is that candidates often think any index on the filtered column (Author) is sufficient, overlooking the need to also cover the sort order and include all returned columns to avoid key lookups.

How to eliminate wrong answers

Option B is wrong because an index on Author only would support the filter but not the sort on PublishedYear DESC, requiring a separate sort operation in the query plan. Option C is wrong because an index on PublishedYear DESC alone does not support the filter on Author, so SQL Server would still need to scan or seek on Author separately. Option D is wrong because the existing clustered index on BookID is not useful for filtering by Author or sorting by PublishedYear, leading to a full table scan and sort.

103
Multi-Selecthard

Which THREE are valid reasons to choose Azure SQL Managed Instance over Azure SQL Database?

Select 3 answers
A.Simpler high-availability configuration
B.Need for SQL Server Agent and CLR integration
C.Desire for automated backups
D.Need for instance-level features like Service Broker or Database Mail
E.Requirement for cross-database queries within the same instance
AnswersB, D, E

SQL Server Agent job scheduling and CLR (common language runtime) stored procedures are part of the broader SQL Server engine surface area that is supported in Azure SQL Managed Instance but unavailable in Azure SQL Database single databases. If your workloads rely on T-SQL agent jobs that run nightly maintenance or managed code that executes inside the database, those features simply cannot be used with a single database. That compatibility gap is a concrete, technical reason to pick Managed Instance.

Why this answer

Azure SQL Managed Instance provides near 100% compatibility with on-premises SQL Server, including instance-level features like SQL Server Agent and CLR integration. These features are not available in Azure SQL Database, which is a Platform-as-a-Service offering that abstracts away the instance scope. Therefore, if your application requires SQL Server Agent for job scheduling or CLR for custom .NET code execution, Managed Instance is the correct choice.

Exam trap

The trap here is that candidates often assume Azure SQL Database supports all instance-level features because it is a 'SQL Server in the cloud,' but Microsoft deliberately removed instance-scoped components like SQL Server Agent and Service Broker to enforce a multi-tenant architecture.

104
MCQmedium

A company is planning to deploy a relational database on Azure. They need to ensure that the database supports automatic backups, point-in-time restore, and built-in high availability without requiring them to manage failover clustering or availability groups. Which Azure SQL deployment option should they use?

A.Azure Database for PostgreSQL
B.Azure SQL Managed Instance
C.SQL Server on Azure Virtual Machines with Always On Availability Groups
D.Azure SQL Database
AnswerD

Azure SQL Database automatically provides built-in high availability, automatic backups, and point-in-time restore without any user configuration. It abstracts away the underlying infrastructure, so the company does not need to manage failover clustering or availability groups. This fully meets the stated requirements.

Why this answer

Azure SQL Database is a fully managed PaaS service that automatically handles high availability, backups, and point-in-time restore. It requires no management of failover clustering or availability groups. While Azure SQL Managed Instance also offers these benefits, it is intended for scenarios requiring instance-level features.

For a straightforward relational database with automatic management, Azure SQL Database is the best fit.

Exam trap

The trap here is assuming that SQL Server on Azure VMs with Always On Availability Groups is necessary for high availability, when Azure SQL Database provides it automatically without management overhead.

105
MCQmedium

A company has 12 SQL Server databases, each about 30 GB. The databases experience unpredictable load spikes during the day. The company wants to migrate to Azure SQL Database to reduce administrative overhead and optimize costs by sharing resources among the databases. Which deployment option should they choose?

A.Single database with provisioned DTU
B.Elastic pool
C.Managed Instance
D.SQL Server on Azure Virtual Machine
AnswerB

Elastic pools in Azure SQL Database allocate a shared set of eDTUs or vCores across multiple databases, so the 12 ~30 GB databases can collectively use resources without each being provisioned for peak demand. Because workload spikes are typically unsynchronized, the pool absorbs them with a small total compute footprint, and per-database min/max DTU or vCore settings let you control resource sharing. This shared billing makes it the most cost-effective and administratively simple choice for many similarly sized databases.

Why this answer

Elastic pools are designed to share resources (eDTUs or eVCores) among multiple databases with unpredictable, overlapping load spikes. By pooling resources, the company can optimize costs because databases do not all peak simultaneously, and the pool’s total resource allocation is lower than the sum of individual peak requirements. This reduces administrative overhead by providing a single management point for scaling and monitoring all databases in the pool.

Exam trap

The trap here is that candidates often choose Single Database (Option A) thinking it is simpler, but they miss that elastic pools are specifically designed for cost optimization when multiple databases have variable and overlapping load patterns, not for isolated workloads.

Why the other options are wrong

A

Single database with provisioned DTU does not allow sharing of resources among databases, so it would not optimize costs for unpredictable load spikes across multiple databases.

C

Managed Instance is designed for lift-and-shift migrations requiring full SQL Server instance-level features, not for sharing resources among multiple databases to optimize cost. It does not provide the elastic pooling capability needed for unpredictable load spikes across databases.

D

SQL Server on Azure Virtual Machine requires manual patching, backups, and scaling, which increases administrative overhead. It does not provide resource sharing among databases, as each VM runs its own SQL Server instance, leading to higher costs and less efficient resource utilization compared to an elastic pool.

106
MCQmedium

A software company develops a multi-tenant SaaS application. They deploy a separate Azure SQL Database for each tenant. The databases are small (2-5 GB) and have highly variable loads — some tenants use the app heavily during the day, others at night. The company wants to maximize resource utilization and minimize costs by allowing databases to share a pool of resources, while still maintaining a predictable performance per database. Which Azure SQL Database deployment option should they choose?

A.Single database with DTU purchasing model
B.Single database with vCore purchasing model
C.Elastic pool
D.Azure SQL Managed Instance
AnswerC

An elastic pool allocates a shared set of DTUs or vCores across a group of Azure SQL databases, automatically distributing capacity based on aggregate demand. For a multi-tenant SaaS app with many low-average, bursty databases, pooling smooths out peaks and reduces cost by paying for a pooled resource budget instead of provisioning each database to its maximum need. Per-database min and max settings let you guard individual tenants from consuming the entire pool, making it the ideal choice for variable usage.

Why this answer

C is correct because an elastic pool allows multiple Azure SQL databases with variable and unpredictable usage patterns to share a fixed pool of resources (eDTUs or vCores), maximizing resource utilization and minimizing cost. The pool provides a predictable performance per database through per-database min/max resource limits, which is ideal for the described multi-tenant SaaS scenario with small databases and highly variable loads.

Exam trap

The trap here is that candidates often confuse elastic pools with single databases, thinking that the vCore model alone provides elasticity, but vCore single databases still allocate dedicated resources per database and lack the shared-pool cost benefit that elastic pools offer for multi-tenant SaaS workloads.

Why the other options are wrong

A

Single databases, whether DTU or vCore, do not allow resource sharing across tenants; each database is isolated with its own fixed resources, leading to underutilization and higher costs for small, variable-load databases.

B

Single database with vCore purchasing model does not allow databases to share a pool of resources; each database is isolated, leading to underutilization and higher costs for small, variable-load databases.

D

Azure SQL Managed Instance is designed for lift-and-shift migrations of large numbers of databases with full SQL Server compatibility, not for sharing resources among many small databases with variable loads. It does not provide the elastic pooling capability needed to maximize utilization and minimize costs for multi-tenant SaaS.

107
MCQmedium

A company uses Azure SQL Database and needs to run complex analytical queries that scan large amounts of data. The queries are experiencing performance issues. Which Azure service should they use to offload the analytical workload?

A.Azure SQL Database (Hyperscale tier)
B.Azure Analysis Services
C.Azure Data Lake Storage
D.Azure Synapse Analytics dedicated SQL pool
AnswerD

Azure Synapse Analytics dedicated SQL pool is a purpose-built, massively parallel processing (MPP) data warehouse service that distributes each table across 60 compute distributions and uses clustered columnstore indexes to scan and aggregate large relational datasets efficiently. Unlike Azure SQL Database, it separates compute and storage and uses a control node to create and parallelize a distributed execution plan across compute nodes, making it ideal for complex analytical queries that would overwhelm an OLTP database. It is the correct choice when an organization needs to consolidate data from a source like Azure SQL Database into a scalable warehouse optimized for reporting and analytics.

Why this answer

Azure Synapse Analytics dedicated SQL pool is designed for large-scale analytical workloads, using a massively parallel processing (MPP) architecture that distributes data across 60 distributions and executes queries in parallel. This offloads complex analytical queries from Azure SQL Database, which uses a single-node SQL Server engine optimized for OLTP, not heavy scanning.

Exam trap

The trap here is that candidates confuse Azure SQL Database Hyperscale (which scales storage and compute for OLTP) with a solution for analytical workloads, not realizing that Hyperscale still uses a single-node query engine unsuitable for massive parallel scans.

How to eliminate wrong answers

Option A is wrong because Azure SQL Database Hyperscale tier is an OLTP-optimized service that scales storage and compute for transactional workloads, not for offloading analytical queries that scan large datasets. Option B is wrong because Azure Analysis Services is a semantic model engine for creating in-memory tabular models, not a query engine for scanning raw large data directly. Option C is wrong because Azure Data Lake Storage is a hierarchical file system for storing big data, not a query execution service; it requires a compute engine like Synapse or Databricks to run analytical queries.

108
MCQmedium

A company uses Azure SQL Database for its e-commerce platform. The reporting team runs complex, long-running queries that join multiple tables and would degrade performance of the transactional workload if executed on the primary database. Which Azure SQL Database feature should the company enable to isolate the reporting queries while ensuring read-only access to the most current data?

A.Automatic tuning
B.Geo-replication
C.Read scale-out (read-only replicas)
D.Elastic query
AnswerC

Azure SQL Database's read scale-out uses a built-in read-only replica in the same region as the primary; when clients set ApplicationIntent=ReadOnly, read-only queries are routed to that replica. This offloads reporting/BI/analytics queries from the primary replica, preventing them from competing for CPU, I/O, and memory with the e-commerce transaction workload. The replica is continuously updated and is intended for exactly this same-region read offload scenario.

Why this answer

Read scale-out (read-only replicas) allows you to offload reporting queries to a read-only replica of the Azure SQL Database, ensuring that complex, long-running queries do not degrade the performance of the primary transactional workload. The replica provides access to the most current data because it uses snapshot isolation and is transactionally consistent with the primary database.

Exam trap

The trap here is that candidates often confuse Geo-replication (which also provides readable secondaries) with read scale-out, but Geo-replication is primarily for disaster recovery and involves asynchronous replication, whereas read scale-out is designed for read workload isolation within the same region with synchronous consistency.

Why the other options are wrong

A

Automatic tuning automatically adjusts query performance based on workload patterns, but it does not create a separate read-only replica to isolate reporting queries from the transactional workload.

B

Geo-replication provides disaster recovery and read-only access to a secondary replica in a different region, but it does not guarantee the most current data due to asynchronous replication lag, and it is not designed for offloading reporting queries within the same region.

D

Elastic query enables querying across multiple Azure SQL databases, but it does not provide isolated read-only replicas for offloading reporting workloads from the primary database.

109
MCQmedium

A SaaS provider hosts databases for hundreds of clients, each with light and sporadic usage. They notice that using separate single databases with provisioned DTUs is cost-inefficient. They need to consolidate the databases while optimizing cost and ensuring that a busy client does not monopolize resources. Which Azure SQL Database option should they use?

A.Single database with provisioned DTU
B.Elastic pool
C.Managed Instance
D.SQL Server on Azure VM
AnswerB

Elastic pools place multiple tenant databases into a single shared resource pool with per-database minimum and maximum DTU settings, so the pool's aggregate capacity absorbs each tenant's spikes while idle databases contribute unused capacity back to the pool. This matches the SaaS pattern of many small databases with low average usage: you pay for the pooled DTUs actually needed rather than a fixed amount per tenant, and the built-in performance isolation prevents one tenant from starving others.

Why this answer

An Azure SQL Database elastic pool is designed to optimize cost for multiple databases with light and sporadic usage by sharing a fixed set of resources (eDTUs) across all databases in the pool. This prevents a busy client from monopolizing resources through per-database resource limits (min and max DTU), ensuring performance isolation while consolidating costs.

Exam trap

The trap here is that candidates often confuse elastic pools with single databases, thinking that provisioned DTUs are always cheaper for sporadic workloads, but they miss that elastic pools share resources across databases to eliminate over-provisioning waste.

How to eliminate wrong answers

Option A is wrong because a single database with provisioned DTUs allocates dedicated resources per database, which is cost-inefficient for hundreds of lightly used databases due to wasted capacity and higher per-database costs. Option C is wrong because Azure SQL Managed Instance is a fully managed instance with fixed resources, designed for lift-and-shift migrations, not for consolidating hundreds of small databases with sporadic usage; it lacks the elastic pooling feature for shared resource allocation. Option D is wrong because SQL Server on Azure VM requires manual management of OS and SQL Server, including resource governance, and incurs costs for the VM and licensing, making it more expensive and complex than an elastic pool for this scenario.

110
MCQmedium

A company is migrating an on-premises SQL Server database to Azure. They want to ensure that database administrators (DBAs) can perform administrative tasks but cannot view sensitive customer data in query results. Which Azure SQL feature should they implement?

A.Dynamic Data Masking
B.Always Encrypted
C.Transparent Data Encryption
D.Row-Level Security
AnswerB

Always Encrypted is correct because it encrypts sensitive data client-side, meaning the plaintext values are never transmitted to or stored in the SQL database. The database engine and DBAs only see ciphertext; the column master key that would permit decryption is held outside the database, typically in Azure Key Vault or the client's key store. Without that key, even a DBA with full server privileges cannot read the original data, which directly satisfies the requirement.

Why this answer

Always Encrypted ensures that sensitive data is encrypted at all times, including during query processing, and that the encryption keys are never revealed to the database engine. This allows DBAs to perform administrative tasks (e.g., backups, index maintenance) while being unable to view the plaintext data in query results, because the decryption occurs only on the client side.

Exam trap

The trap here is that candidates confuse Dynamic Data Masking with Always Encrypted, assuming masking prevents DBAs from seeing data, when in fact masking can be overridden by users with higher permissions, whereas Always Encrypted cryptographically prevents any server-side access to plaintext.

Why the other options are wrong

A

Dynamic Data Masking obfuscates data in query results but does not prevent DBAs from viewing the actual data; they can still access the unmasked data by altering permissions or using queries that bypass the mask. The requirement is to prevent DBAs from viewing sensitive data entirely, which Dynamic Data Masking cannot guarantee.

C

Transparent Data Encryption (TDE) encrypts data at rest but does not prevent DBAs from viewing sensitive data in query results; it protects against unauthorized access to the physical storage, not from authorized users querying the database.

D

Row-Level Security (RLS) restricts access to rows based on user predicates, but it does not prevent DBAs from viewing sensitive data in query results because DBAs typically have elevated permissions that bypass RLS policies.

111
Multi-Selectmedium

Which TWO Azure services can be used to host a relational database that is compatible with SQL Server?

Select 2 answers
A.Azure SQL Database
B.Azure Database for PostgreSQL
C.Azure Cosmos DB
D.Azure SQL Managed Instance
E.Azure Database for MySQL
AnswersA, D

Azure SQL Database is a fully managed platform-as-a-service engine built on the SQL Server database engine, so it satisfies the SQL Server compatibility constraint. It hosts relational data without you managing the underlying operating system or patching, making it a direct fit for the scenario.

Why this answer

Azure SQL Database (A) is correct because it is a fully managed PaaS relational database engine built on the same SQL Server engine, so it is directly compatible with SQL Server T-SQL, tooling, and drivers. Azure SQL Managed Instance (D) is also correct because it runs the SQL Server database engine with near-100% compatibility, including features like SQL Agent, cross-database queries, and CLR, making it a relational SQL Server-compatible service. Azure Database for PostgreSQL (B) is not correct because it is a PostgreSQL-compatible relational service, not SQL Server-compatible.

Azure Cosmos DB (C) is not correct because it is a multi-model NoSQL database, not a relational SQL Server-compatible engine. Azure Database for MySQL (E) is not correct because it is a MySQL-compatible relational service, not SQL Server-compatible.

Exam trap

DP-900 often tests the distinction between SQL Server-compatible services and other relational databases — candidates may incorrectly include PostgreSQL or MySQL as SQL Server-compatible because they are all relational.

112
MCQmedium

A retail company runs analytical reporting queries on a large Sales table in Azure SQL Database. The table contains over 100 million rows and is updated daily with new transactions. The queries aggregate data by product and month, scanning millions of rows per query. The company wants to significantly reduce query execution time without changing the queries. Which indexing strategy should they implement?

A.Create a clustered columnstore index on the table.
B.Create a nonclustered index on the ProductID column.
C.Create a filtered index for the most recent month's data.
D.Create a clustered rowstore index (default) and rely on database compression.
AnswerA

A clustered columnstore index is the optimal choice for an analytical warehouse table because it physically stores each column separately, allowing the query engine to read only the columns needed for aggregations (e.g., ProductID, Month, SalesAmount). This columnar layout enables higher compression ratios (often 5-10x) and uses vectorized batch mode execution, which accelerates scans and SUM/COUNT/GROUP BY operations dramatically compared to row-based storage. The fact that it is clustered means the entire table is organized as a columnstore, eliminating rowstore lookups and making full-scan analytical queries extremely efficient.

Why this answer

A clustered columnstore index is ideal for large data warehousing and analytical workloads because it stores data column-wise, enabling high compression and batch-mode processing. For queries that aggregate millions of rows by product and month, columnstore indexes dramatically reduce I/O and CPU by scanning only the necessary columns and using segment elimination, which directly addresses the requirement to reduce query execution time without changing the queries.

Exam trap

The trap here is that candidates often choose a nonclustered index (B) thinking it will speed up all queries, but they overlook that analytical aggregations on millions of rows require columnstore's batch processing and column elimination, not row-based index seeks.

How to eliminate wrong answers

Option B is wrong because a nonclustered index on ProductID would only speed up point lookups or small range scans, not large aggregations scanning millions of rows; it would likely cause key lookups and still require scanning most of the table. Option C is wrong because a filtered index for the most recent month's data would only benefit queries restricted to that month, but the existing queries aggregate across all months and would not use the filtered index, leaving the full scan overhead unchanged. Option D is wrong because a clustered rowstore index with compression reduces storage size but does not change the fundamental row-based storage and scan pattern; queries still scan all rows and columns, so execution time remains high for large aggregations.

113
MCQmedium

A company has an Azure SQL Database that stores sensitive financial data. They need to ensure that database administrators (DBAs) cannot view the actual data but can still perform administrative tasks. Which feature should they implement?

A.Azure role-based access control (RBAC)
B.Dynamic data masking
C.Transparent data encryption (TDE)
D.Azure SQL Database auditing
AnswerB

Dynamic data masking (DDM) is a column-level security feature that applies masking rules (e.g., partial, default, random, email) to specified sensitive columns. For non-privileged users lacking the UNMASK permission, the database engine transforms the query result set to show obfuscated values, while privileged users with UNMASK see the original data. Because DDM operates at query time without altering stored data, it directly addresses the need to hide sensitive information from specific users and is the correct answer.

Why this answer

Dynamic data masking hides sensitive data from non-privileged users, including DBAs if they are not exempted. Option A is wrong because Azure RBAC controls access but doesn't mask data. Option C is wrong because TDE encrypts at rest but does not hide data from DBAs.

Option D is wrong because Azure SQL Database auditing logs actions but doesn't prevent viewing.

114
MCQhard

An organization stores sensitive customer data in Azure SQL Database. They need to encrypt the data at rest and ensure that only authorized applications can decrypt it. Which combination of features should they implement?

A.Row-Level Security (RLS) and Transparent Data Encryption (TDE)
B.Azure SQL Database Auditing and Transparent Data Encryption (TDE)
C.Transparent Data Encryption (TDE) and Always Encrypted
D.Dynamic Data Masking and Always Encrypted
AnswerC

TDE encrypts the underlying database file, transaction log, and backups so data at rest cannot be read if the physical media is stolen, but it does not protect data from users who have valid access to the database. Always Encrypted elevates protection by keeping encryption keys entirely on the client side, so for selected columns SQL Server only stores and processes ciphertext; only the authorized client application can decrypt the values, and even high-privilege database admins cannot see the plaintext. Together, TDE secures the entire database at rest while Always Encrypted provides column-level confidentiality and controlled decryption by the application, making this the correct pair for end-to-end encryption of sensitive customer data.

Why this answer

Transparent Data Encryption (TDE) encrypts the database, backups, and logs at rest at the storage layer, protecting against physical media theft. Always Encrypted goes further by encrypting specific columns client-side so that even DBAs and the SQL engine cannot see plaintext — only authorized client applications holding the column encryption keys can decrypt. Together they satisfy both 'encrypt at rest' and 'only authorized applications can decrypt'.

Exam trap

DP-900 often tests the misconception that Dynamic Data Masking or Row-Level Security provides encryption — candidates confuse 'hiding data in results' with 'encrypting data at rest' and pick the masking option.

How to eliminate wrong answers

Option A is wrong because Row-Level Security restricts which rows a user can query based on predicates; it does not encrypt data at rest or control decryption by applications. Option B is wrong because Auditing only logs activity for compliance and forensics; it provides no encryption or decryption control. Option D is wrong because Dynamic Data Masking only obscures data in query results for non-privileged users — the underlying data remains plaintext and any user with SELECT can potentially see it via other queries; it is not encryption.

115
MCQeasy

A startup has an application with unpredictable usage patterns on Azure SQL Database. They want to minimize cost by paying only for the compute they use and the database should automatically pause during idle periods. Which Azure SQL Database option should they choose?

A.Serverless
B.Provisioned (DTU or vCore)
C.Hyperscale
D.Business Critical
AnswerA

Serverless is the correct choice because it decouples compute billing from database uptime: you are billed per vCore-second only while actively processing queries, and the database auto-pauses after a configurable idle period (default 60 minutes). This means a workload with unpredictable spikes and long quiet stretches only pays for compute during those spikes, while storage (separately billed) remains intact. The resume-from-pause typically takes tens of seconds, making it practical for sporadic app usage.

Why this answer

Azure SQL Database Serverless is designed for applications with unpredictable usage patterns, as it automatically scales compute resources based on demand and pauses the database during idle periods to eliminate compute costs. This model charges per second for the compute used, making it the most cost-effective choice for workloads that have periods of inactivity.

Exam trap

The trap here is that candidates often confuse 'serverless' with 'Hyperscale' or assume all Azure SQL tiers support auto-pause, but only the Serverless tier provides automatic compute pausing and per-second billing for idle periods.

How to eliminate wrong answers

Option B (Provisioned DTU or vCore) is wrong because it requires a fixed amount of compute resources to be allocated at all times, even when the database is idle, leading to continuous billing and no auto-pause capability. Option C (Hyperscale) is wrong because it is optimized for large databases with high scalability and fast recovery, not for cost savings through auto-pause; it uses a provisioned compute model with no idle pause feature. Option D (Business Critical) is wrong because it is a high-availability tier with multiple replicas and fast failover, designed for mission-critical workloads, and does not support auto-pause or pay-per-use compute billing.

116
MCQeasy

A company plans to migrate an on-premises SQL Server database to Azure. The database uses SQL Server Agent to run scheduled jobs and performs cross-database queries within the same instance. The company wants a fully managed PaaS solution that requires minimal application changes. Which Azure SQL deployment option should they choose?

A.Azure SQL Database (single database)
B.Azure SQL Managed Instance
C.Azure SQL Database elastic pool
D.SQL Server on Azure Virtual Machines
AnswerB

Azure SQL Managed Instance offers high compatibility with on-premises SQL Server, including SQL Server Agent, cross-database queries, and linked servers. It is fully managed and requires minimal changes to existing applications, making it the best fit for this migration.

Why this answer

Azure SQL Managed Instance is the correct choice because it provides full SQL Server Agent support for scheduled jobs and enables cross-database queries within the same instance, while being a fully managed PaaS service. It offers near 100% compatibility with on-premises SQL Server, minimizing application changes during migration.

Exam trap

The trap here is that candidates often choose Azure SQL Database (single database) or elastic pool because they are more commonly discussed as PaaS, but they overlook the specific requirements for SQL Server Agent and cross-database queries, which only Managed Instance supports.

Why the other options are wrong

A

Azure SQL Database (single database) does not support SQL Server Agent or cross-database queries within the same instance, which are required by the company's existing workloads.

C

Azure SQL Database elastic pool does not support SQL Server Agent or cross-database queries, which are required by the company's workload.

D

SQL Server on Azure VMs is an IaaS solution requiring manual management of OS, SQL Server, and backups, and it does not provide the fully managed PaaS experience the company wants. It also requires more application changes than Azure SQL Managed Instance.

117
MCQmedium

A development team is designing a relational database for a hospital patient management system. They need to ensure that each patient's medical record number is unique and not null. Which database constraint should they use?

A.FOREIGN KEY
B.CHECK
C.UNIQUE
D.PRIMARY KEY
AnswerD

A PRIMARY KEY constraint enforces both uniqueness and non-nullness in a single declaration: the column cannot contain any NULL values, and every value must be unique across the table. This makes it the ideal choice for a medical record number, which must always be present and uniquely identify each patient. Additionally, a primary key automatically creates an index (typically clustered) to support fast lookups and enforce data integrity.

Why this answer

The PRIMARY KEY constraint enforces both uniqueness and non-nullability on the column(s) it is applied to. In a relational database, the medical record number is the natural candidate for the primary key of the Patient table because it uniquely identifies each patient and must always have a value. This directly meets the requirement that each patient's medical record number is unique and not null.

Exam trap

The trap here is that candidates often confuse UNIQUE with PRIMARY KEY, forgetting that UNIQUE allows NULL values (in most RDBMS implementations) and therefore does not satisfy the 'not null' requirement without an additional NOT NULL constraint.

How to eliminate wrong answers

Option A is wrong because a FOREIGN KEY constraint enforces referential integrity between two tables, not uniqueness or non-nullability on a single column. Option B is wrong because a CHECK constraint validates that column values meet a specified condition (e.g., age > 0) but does not enforce uniqueness or non-nullability by itself. Option C is wrong because a UNIQUE constraint ensures all values in a column are distinct but allows NULL values (unless combined with a NOT NULL constraint), so it does not guarantee the 'not null' requirement on its own.

118
MCQmedium

A startup is deploying a new application on Azure SQL Database. They expect the database to start at 10 GB but grow to 500 GB over time. They want to be able to scale compute independently of storage and only pay for the compute resources they use. They also want to avoid over-provisioning and automatically pause during idle periods. Which purchasing model and service tier should they choose?

A.DTU-based model with Basic tier
B.vCore-based model with General Purpose serverless tier
C.vCore-based model with Business Critical provisioned tier
D.DTU-based model with Standard tier
AnswerB

The vCore-based General Purpose serverless tier decouples compute and storage, letting the database independently scale compute from 1 to 16 vCores and automatically pause when the session is idle. This means compute is billed only when active, while storage remains separately billed and durable, precisely matching an intermittent new application's desire to avoid paying for unused capacity.

Why this answer

The vCore-based General Purpose serverless tier is correct because it allows independent scaling of compute and storage, automatically pauses the database during idle periods to eliminate compute costs, and supports growth from 10 GB to 500 GB without manual intervention. This model aligns with the startup's need to pay only for consumed compute resources and avoid over-provisioning.

Exam trap

The trap here is that candidates often confuse the DTU model's 'auto-pause' feature (which does not exist) with the vCore serverless tier's auto-pause, or assume the Basic tier's low cost and simplicity fit a growing database without checking its 2 GB storage limit.

Why the other options are wrong

A

The DTU-based Basic tier offers limited storage (max 2 GB) and does not support scaling compute independently of storage, nor does it provide auto-pause capabilities. It cannot accommodate growth from 10 GB to 500 GB.

C

The Business Critical tier is provisioned, not serverless, so it cannot automatically pause during idle periods, and it does not allow independent scaling of compute and storage with pay-per-use billing.

119
MCQeasy

A small business wants to migrate their on-premises SQL Server database to Azure. They have limited budget and want to minimize ongoing management overhead. The database is less than 50 GB and is used by a single application with low concurrent users. The application requires compatibility with SQL Server features such as T-SQL, stored procedures, and functions. The business does not require high availability or disaster recovery. Which Azure relational database service should they choose?

A.SQL Server on Azure Virtual Machines
B.Azure SQL Database (serverless tier)
C.Azure SQL Managed Instance
D.Azure Database for MySQL
AnswerB

Azure SQL Database's serverless tier automatically pauses the database after a period of inactivity and resumes when traffic returns, so you are only billed for compute when it's actually in use. It is a fully managed PaaS offering that includes automatic backups, high availability, and built-in security, while remaining compatible with SQL Server T-SQL. For a small business, this eliminates most administrative work and aligns compute cost with sporadic usage.

Why this answer

Azure SQL Database serverless tier is the best choice because it provides a fully managed, PaaS relational database service that supports T-SQL, stored procedures, and functions, while automatically pausing during idle periods to reduce costs. With a database under 50 GB, low concurrency, and no HA/DR requirements, the serverless tier minimizes both management overhead and cost, as it charges only for compute used per second and storage consumed.

Exam trap

The trap here is that candidates often choose Azure SQL Managed Instance because of its full SQL Server compatibility, overlooking that the serverless tier of Azure SQL Database also supports T-SQL, stored procedures, and functions, and is far more cost-effective for small, low-usage workloads without HA/DR needs.

How to eliminate wrong answers

Option A is wrong because SQL Server on Azure Virtual Machines is an IaaS solution that requires ongoing management of the OS, SQL Server patches, and backups, increasing overhead and cost, which contradicts the business goal of minimizing management. Option C is wrong because Azure SQL Managed Instance is a PaaS service with near-100% SQL Server compatibility but includes built-in high availability and a higher base cost, making it overkill for a small, low-concurrency database that does not need HA/DR. Option D is wrong because Azure Database for MySQL does not support SQL Server-specific features like T-SQL, stored procedures, and functions; it uses a different SQL dialect, so the application would require significant code changes.

120
Multi-Selectmedium

Which TWO of the following are benefits of using Azure SQL Database over SQL Server on Azure Virtual Machines?

Select 2 answers
A.Built-in high availability with automatic failover
B.Automated patching and updates
C.Lower cost because you can choose any number of vCores
D.Ability to install custom software on the database server
E.Full control over the operating system
AnswersA, B

Azure SQL Database's built-in high availability uses multiple synchronous replicas and automatic failover at the database level, so if a node fails, connections are transparently redirected to a healthy replica. This is provisioned and managed by Microsoft without you having to configure Always On Availability Groups or deploy additional VMs. Consequently, you receive a 99.99% uptime SLA while avoiding the operational burden of designing your own HA stack.

Why this answer

Option A is correct because Azure SQL Database is a fully managed PaaS offering that includes built-in high availability with automatic failover, typically using a 99.99% SLA and replicas managed by the service, whereas SQL Server on Azure VMs requires you to configure Always On availability groups or failover cluster instances yourself. Option B is correct because Azure SQL Database handles automated patching and updates of the database engine and underlying OS transparently, while SQL Server on Azure VMs leaves OS and SQL Server patching to the customer. Option C is not a benefit because Azure SQL Database does not let you choose any number of vCores arbitrarily; vCore counts are tied to specific hardware generations and service tiers, and cost depends on the chosen tier and compute size.

Option D is incorrect because installing custom software on the database server is not possible in Azure SQL Database, but it is possible on SQL Server on Azure VMs. Option E is incorrect because full control over the operating system is a characteristic of SQL Server on Azure VMs (IaaS), not Azure SQL Database, which abstracts the OS away from the customer.

Exam trap

The trap is mixing IaaS benefits (OS control, custom software) with PaaS benefits (automated patching, built-in HA); candidates who don't clearly distinguish the two models pick options that belong to the VM deployment.

121
MCQmedium

A company uses Azure SQL Database and wants to ensure that a specific query always uses a particular index. What should they do?

A.Update statistics on the table
B.Use a query hint to force the index
C.Rebuild the index
D.Enable Query Store
AnswerB

Using a query hint such as WITH (INDEX(index_name)) or OPTION (TABLE HINT(...)) explicitly instructs the Azure SQL Database query optimizer to use that index for the specific query, effectively overriding the cost-based decision. This is the only listed technique that directly forces the index at execution time. Apply it sparingly because it overrides the optimizer and may become stale as data distributions change.

Why this answer

Query hints, specifically the INDEX hint, allow you to force the query optimizer to use a particular index for a specific query. In Azure SQL Database, this is done by adding `OPTION (TABLE HINT (table_name, INDEX (index_name)))` to the query, overriding the optimizer's default index selection.

Exam trap

The trap here is that candidates confuse index maintenance (rebuilding, updating stats) with query plan control, thinking that a well-maintained index will automatically be used, when in fact the optimizer may still choose a different index based on cost estimates.

How to eliminate wrong answers

Option A is wrong because updating statistics helps the optimizer make better decisions but does not force a specific index; it only improves the accuracy of cardinality estimates. Option C is wrong because rebuilding an index defragments it and updates statistics, but it does not guarantee the query will use that index; the optimizer may still choose a different index. Option D is wrong because Query Store is a monitoring and troubleshooting feature that tracks query performance and plan changes, but it cannot force a specific index for a query; it can only force a specific query plan, not an index within that plan.

122
MCQmedium

A financial application requires strict consistency and transaction support (ACID). Which Azure data service is most appropriate for storing its core transactional data?

A.Azure Cosmos DB
B.Azure SQL Database
C.Azure Table Storage
D.Azure Data Lake Storage
AnswerB

Azure SQL Database is the correct choice because it is a fully relational database engine that enforces ACID (Atomicity, Consistency, Isolation, Durability) properties for every transaction. Using T-SQL, it provides multi-statement transactions with commit/rollback semantics, row-level locking, and configurable isolation levels to guarantee strict consistency even under concurrent access. This makes it suitable for financial applications where data integrity must be preserved across related tables.

Why this answer

Azure SQL Database is a fully managed relational database service that provides full ACID (Atomicity, Consistency, Isolation, Durability) transaction support through its SQL Server engine. It is the correct choice for a financial application requiring strict consistency and transactional integrity, as it guarantees that all transactions are processed reliably and adhere to the ACID properties.

Exam trap

The trap here is that candidates often confuse Azure Cosmos DB's 'consistency levels' with full ACID transaction support, not realizing that Cosmos DB sacrifices strict transactional guarantees for global scalability and low latency.

How to eliminate wrong answers

Option A is wrong because Azure Cosmos DB is a NoSQL database that offers multiple consistency models (e.g., eventual, session, bounded staleness) but does not provide full ACID transaction support across multiple documents or partitions; it is optimized for global distribution and low latency, not strict transactional consistency. Option C is wrong because Azure Table Storage is a NoSQL key-value store that does not support ACID transactions; it offers only eventual consistency and lacks the relational integrity and transaction management required for core financial data. Option D is wrong because Azure Data Lake Storage is a massively scalable data lake for big data analytics, not a transactional database; it does not support ACID transactions or provide the relational query capabilities needed for core transactional data.

123
MCQmedium

A company uses Azure SQL Database for an e-commerce application. The Orders table has millions of rows. Queries frequently filter on OrderDate and OrderStatus, and sort by OrderDate descending. Which indexing strategy will most improve query performance?

A.Create a clustered index on OrderDate and a non-clustered index on OrderStatus
B.Create a non-clustered index on (OrderDate, OrderStatus) and keep the existing clustered index on OrderID
C.Create a clustered index on OrderID and a non-clustered index on (OrderStatus, OrderDate)
D.Create a non-clustered index on (OrderDate DESC, OrderStatus) and keep the existing clustered index on OrderID
AnswerD

This is correct because the non-clustered index uses OrderDate as the leading column with DESC, which exactly matches the ORDER BY OrderDate DESC requirement and allows the query engine to read rows in the correct order without a sort. Including OrderStatus as a second key column lets the index efficiently handle filtering on both columns, and because OrderID is the clustered key it is automatically appended to non-clustered index entries, making the index covering for a query selecting OrderID, OrderDate, and OrderStatus. Keeping the existing clustered index on OrderID preserves the primary key's uniqueness and avoids unnecessary physical table reorganization, so this design balances performance for the query with minimal impact on other operations.

Why this answer

Creates a covering index for the most common query pattern: filtering on OrderDate and OrderStatus, and sorting by OrderDate descending. By specifying DESC in the index key, the index is ordered in the same direction as the sort, allowing SQL Server to avoid a sort operation and retrieve rows in order directly from the index. This non-clustered index can satisfy the query entirely without touching the clustered index (OrderID), reducing I/O and improving performance.

Exam trap

The trap here is that candidates assume any index on the filtered columns will help, but they overlook the importance of index key order matching the sort direction (DESC) to avoid a sort operation, which is a common performance pitfall in Azure SQL Database.

How to eliminate wrong answers

Option A is wrong because creating a clustered index on OrderDate would physically reorder the table by OrderDate, which can cause page splits and fragmentation due to frequent inserts, and it does not include OrderStatus for filtering, so queries would still need to look up rows. Option B is wrong because the non-clustered index on (OrderDate, OrderStatus) is not ordered descending, so queries sorting by OrderDate DESC would require an expensive sort operation; also, the clustered index on OrderID is fine, but the index order does not match the query sort. Option C is wrong because a non-clustered index on (OrderStatus, OrderDate) does not support the sort by OrderDate DESC efficiently (the leading column is OrderStatus, not OrderDate), and the clustered index on OrderID offers no benefit for date-range filtering.

124
MCQmedium

A company uses Azure SQL Database for an order management system. The 'Orders' table has millions of rows and is queried frequently with filters on OrderDate and CustomerID. The table currently has a clustered index on OrderID. Which action will most improve query performance for these frequent filters?

A.Create a non-clustered index on OrderDate and CustomerID
B.Create a clustered index on OrderDate
C.Create a non-clustered index on OrderID
D.Partition the table by CustomerID
AnswerA

A non-clustered index on OrderDate and CustomerID directly supports the WHERE clauses that filter orders by date ranges and customer lookups. The index structure allows the query engine to perform an index seek rather than a full table scan, dramatically reducing I/O. Including both columns lets the engine satisfy equality on CustomerID and range on OrderDate efficiently, and the index can even cover some queries if only those columns are needed.

Why this answer

The frequent filters on OrderDate and CustomerID require a covering index that includes both columns. A non-clustered index on (OrderDate, CustomerID) allows SQL Server to perform an index seek for queries filtering on those columns, avoiding full clustered index scans on the existing clustered index on OrderID. This directly reduces I/O and improves query response times.

Exam trap

The trap here is that candidates often assume partitioning alone solves query performance issues, but without an appropriate index, partitioning only helps with data management and partition elimination, not with efficient row-level filtering for specific column combinations.

How to eliminate wrong answers

Option B is wrong because changing the clustered index to OrderDate would reorganize the entire table's physical order, which could slow down other queries that rely on the current OrderID ordering and would not directly benefit the specific filter on CustomerID. Option C is wrong because creating a non-clustered index on OrderID duplicates the existing clustered index's key column, offering no performance gain for filters on OrderDate and CustomerID. Option D is wrong because partitioning the table by CustomerID improves manageability and partition elimination for range scans, but it does not create a seekable index structure for the specific combination of OrderDate and CustomerID; queries would still require scanning all partitions unless an appropriate index exists.

125
MCQmedium

A company runs an e-commerce application on Azure SQL Database. The application experiences unpredictable traffic spikes during flash sales and promotional events. The company wants to automatically scale compute resources based on actual demand and pay only for the resources consumed. Which Azure SQL Database deployment option best meets these requirements?

A.Serverless
B.Provisioned DTU
C.Provisioned vCore
D.Hyperscale
AnswerA

Serverless is the correct compute tier for intermittent, unpredictable workloads because it automatically scales compute resources (in vCores) based on actual demand and can pause the database during idle periods, billing only for storage while paused. With a configurable auto-pause delay (1 to 60 minutes) and per-second billing during active use, it eliminates the need to manually resize compute. This makes it far more cost-effective than maintaining fixed compute capacity that would sit idle most of the time, which is exactly why it suits an e-commerce application with spikes in traffic.

Why this answer

The Serverless deployment option for Azure SQL Database automatically scales compute resources (vCores) based on actual demand, pausing the database during idle periods and resuming on the first connection. This model charges per second for the compute used, making it ideal for unpredictable traffic spikes like flash sales, as it eliminates the need to over-provision and ensures you pay only for consumed resources.

Exam trap

The trap here is that candidates confuse Hyperscale's storage scalability with compute auto-scaling, or assume Provisioned tiers can automatically scale without manual intervention, when in fact only Serverless provides automatic compute scaling and per-second billing for intermittent workloads.

How to eliminate wrong answers

Option B is wrong because Provisioned DTU uses a fixed, pre-allocated compute and storage bundle that cannot automatically scale based on demand; you must manually change the service tier or use elastic pools, which still require upfront sizing. Option C is wrong because Provisioned vCore also uses a fixed number of vCores that must be manually scaled up or down, and it charges for the provisioned compute even when idle, not per-second consumption. Option D is wrong because Hyperscale is designed for very large databases (up to 100 TB) with fast scaling of storage and read replicas, but its compute tier is provisioned (not serverless) and does not auto-pause or charge per-second for compute; it targets high-throughput workloads, not intermittent bursty traffic.

126
MCQmedium

A company is migrating a 500 GB financial database to Azure. The database requires low read/write latency, supports a high number of concurrent transactions, and must have a Recovery Point Objective (RPO) of less than 5 seconds and a Recovery Time Objective (RTO) of less than 30 minutes. The company is willing to pay more for these guarantees. Which Azure SQL Database service tier should they choose?

A.General Purpose
B.Business Critical
C.Hyperscale
D.Serverless (General Purpose)
AnswerB

Business Critical provides a local, synchronous Always On Availability Group replica set within the cluster, so every committed transaction is acknowledged on multiple replicas before commit, giving an RPO near zero (SLA of less than 5 seconds) and automatic failover typically around 30 minutes. For a 500 GB financial database, the tier's SSD-backed local storage and high IOPS also minimize latency during normal operations. This combination is exactly why it satisfies the stated RPO/RTO requirements.

Why this answer

Business Critical is the correct choice because it provides the lowest read/write latency through always-on secondary replicas and uses local SSD storage, which is essential for high-concurrency transactional workloads. It also guarantees an RPO of less than 5 seconds via synchronous data replication and an RTO of under 30 minutes, meeting the strict recovery requirements.

Exam trap

The trap here is that candidates often choose Hyperscale because it supports large databases and fast scaling, but they overlook that its RPO is not as tight as Business Critical's synchronous replication, and its read/write latency can be higher due to the page server architecture.

Why the other options are wrong

A

General Purpose tier has higher read/write latency and an RPO of up to 10 seconds, which does not meet the requirement of less than 5 seconds RPO and low latency for high concurrency.

C

Hyperscale is designed for large databases (up to 100 TB) and high scalability, but its RPO is up to 5 minutes and RTO is up to 10 minutes, which does not meet the requirement of RPO < 5 seconds and RTO < 30 minutes.

D

Serverless (General Purpose) does not guarantee an RPO of less than 5 seconds or an RTO of less than 30 minutes; it offers up to 1-hour RPO and auto-pause delays that conflict with low-latency, high-concurrency requirements.

127
MCQhard

You are designing a multi-tenant SaaS application using Azure SQL Database. Each tenant has its own database. You need to perform maintenance across all databases efficiently. Which feature should you use?

A.Elastic pools
B.Failover groups
C.SQL Server Agent
D.Elastic Jobs
AnswerD

Elastic Jobs is correct because it is the Azure SQL Database service purpose-built for orchestrating T-SQL scripts, index rebuilds, or schema migrations across a large set of databases. You create an Elastic Job Agent, define target groups that can include all tenant databases, and schedule jobs that run against each member in parallel. This makes it the appropriate tool for cross-database maintenance in a multi-tenant SaaS.

Why this answer

Elastic Jobs is the Azure SQL Database feature designed to run T-SQL scripts or maintenance tasks across many databases — including all databases in a pool or all databases on a server — from a single job definition. For a multi-tenant SaaS model where each tenant has its own database, Elastic Jobs lets you schedule and execute maintenance (index rebuilds, statistics updates, schema changes) across the entire fleet without writing custom orchestration.

Exam trap

DP-900 often tests the confusion between Elastic pools (resource sharing) and Elastic Jobs (cross-database task execution), and the misconception that SQL Server Agent is available in Azure SQL Database.

How to eliminate wrong answers

Option A is wrong because Elastic pools share compute and storage resources across databases for cost efficiency, but they do not provide a cross-database job scheduling or execution mechanism. Option B is wrong because Failover groups provide geo-replication and automatic failover for disaster recovery, not multi-database maintenance orchestration. Option C is wrong because SQL Server Agent is not available in Azure SQL Database (it exists in SQL Managed Instance and SQL Server on-premises), so it cannot be used to schedule jobs across Azure SQL databases.

128
MCQhard

Your company has an Azure SQL Database that stores customer orders. You notice that long-running reports are causing blocking on the transactional tables. Which approach would minimize impact on transaction processing while still allowing reporting?

A.Use the READ UNCOMMITTED isolation level for reporting queries
B.Increase the service tier to Business Critical
C.Shard the database by customer region
D.Create a read-only replica in Azure SQL Database Hyperscale
AnswerD

In Azure SQL Database Hyperscale, you can provision one or more readable secondary replicas, each with its own compute resource and a separate connection string. The primary replica continuously sends log records to these secondaries, which apply them asynchronously and serve read-only workloads such as reporting. Because reporting queries are directed to a secondary replica, they no longer acquire locks on the primary, eliminating the blocking caused by those queries. This read scale-out pattern isolates the reporting traffic from the transactional workload while keeping data nearly current, with only negligible redo lag.

Why this answer

Creating a read-only replica offloads reporting queries to a separate copy, avoiding blocking on the primary transactional tables. Option A is wrong because READ UNCOMMITTED reduces blocking but risks dirty reads and inconsistent data. Option B is wrong because increasing the service tier to Business Critical provides more resources but does not separate reporting load.

Option C is wrong because sharding distributes data across databases but does not prevent blocking; reporting queries still run on the same shards as transactional queries.

129
Multi-Selecthard

Which THREE are benefits of using Azure SQL Database serverless compute tier?

Select 3 answers
A.Guaranteed high availability with 99.99% SLA
B.Billing per second for compute usage
C.Auto-scaling compute based on workload
D.Auto-pause during periods of inactivity
E.Ideal for high-throughput, latency-sensitive applications
AnswersB, C, D

Serverless compute bills per second of actual compute usage, charging only while the database is active. This granular billing reduces cost during idle periods, directly satisfying the benefit of per-second compute billing rather than provisioning fixed capacity.

Why this answer

Option B is correct because the serverless compute tier bills per second of compute usage, so you only pay for the vCore-seconds actually consumed rather than a fixed provisioned capacity. Option C is correct because serverless automatically scales compute (vCores) up and down based on the workload's demand, within the configured min/max vCore range. Option D is correct because serverless supports auto-pause, where the database is paused during inactivity and resumes on the next connection, eliminating compute charges while paused.

Option A is not a serverless-specific benefit, since the 99.99% availability SLA applies to Azure SQL Database generally, not uniquely to serverless. Option E is not correct because serverless is designed for intermittent, unpredictable, or low-to-moderate workloads, whereas high-throughput, latency-sensitive applications are better suited to the provisioned or hyperscale tiers due to cold-start delays after auto-pause.

Exam trap

DP-900 often tests the trade-off between serverless cost savings and cold-start latency, tricking candidates who assume serverless is always best for any workload.

130
Matchingmedium

Match each Azure data consistency model to its description.

Drag a concept onto its matching description — or click a concept then click the description.

Concepts
Matches

Reads always see the latest write

Reads may lag behind writes by up to K versions or T time

Consistent reads within a client session

Reads never see out-of-order writes

No ordering guarantee, eventually consistent

Why these pairings

Azure Cosmos DB offers five consistency levels: strong, bounded staleness, session, consistent prefix, and eventual. Strong returns the most recent write; bounded staleness allows a bounded lag; session ensures per-session guarantees.

131
MCQmedium

A company has multiple independent databases for different business units, each with low to moderate usage and varying workload patterns. They want to consolidate these databases into a single Azure SQL Database deployment option to share resources and reduce costs, while ensuring that databases do not starve each other of resources. Which Azure SQL Database deployment option should they choose?

A.Elastic pool
B.Single database (DTU model)
C.Managed Instance
D.Database per server (hyperscale)
AnswerA

An elastic pool is a collection of shared resources (eDTUs or vCores) on a single logical SQL Database server, with the pool's total compute and storage billed once rather than per database. Each business-unit database consumes from the shared pool only when active, so peaks in one unit don't require over-provisioning every database. For multiple independent databases with intermittent usage, this gives predictable aggregate cost and allows per-database min/max resource caps; therefore it is the correct choice here.

Why this answer

Elastic pools are designed for exactly this scenario: multiple databases with low to moderate usage and varying workload patterns. They allow databases to share a fixed pool of resources (eDTUs or vCores) while using built-in resource governance to prevent any single database from starving others, thus optimizing cost and performance.

Exam trap

The trap here is that candidates often choose Single database (DTU model) thinking it is the simplest option, but they overlook the cost and resource-sharing benefits of elastic pools for consolidating multiple low-usage databases with varying workloads.

How to eliminate wrong answers

Option B (Single database DTU model) is wrong because it allocates dedicated resources per database, which would be more expensive and wasteful for low-usage databases, and does not provide resource sharing or isolation across databases. Option C (Managed Instance) is wrong because it is a full SQL Server instance with dedicated resources, designed for lift-and-shift migrations, not for sharing resources across multiple independent databases with varying patterns. Option D (Database per server hyperscale) is wrong because hyperscale is a single-database tier for very large databases (up to 100 TB) with high throughput needs, not for consolidating multiple small databases, and it does not offer resource pooling across databases.

132
MCQmedium

A company uses Azure SQL Database to store customer order data. They need to automatically track changes to the 'OrderStatus' column in the 'Orders' table. They want to be able to query the current status and also easily retrieve historical status changes for a given order without writing custom triggers or history tables. Which feature should they enable?

A.Change Data Capture (CDC)
B.Temporal tables
C.Automatic tuning
D.Geo-replication
AnswerB

System-versioned temporal tables are a built-in Azure SQL Database feature that automatically stores every historical version of a row in a parallel history table, using two datetime2 period columns (ValidFrom/ValidTo) that the engine maintains on every insert, update, and delete. You can query the current fact table for live data and use T-SQL clauses like FOR SYSTEM_TIME AS OF, BETWEEN, or CONTAINED IN to see the rows exactly as they existed at a given point in time. No custom code, triggers, or jobs are required; the database automatically appends the prior versions and lets you query history directly from the base table.

Why this answer

Temporal tables (system-versioned) automatically track full row history, including changes to the 'OrderStatus' column, by maintaining a paired history table. This allows querying both current and historical states with simple T-SQL clauses like FOR SYSTEM_TIME, without custom triggers or manual history tables.

Exam trap

The trap here is confusing Change Data Capture (CDC) with temporal tables, as both involve change tracking, but CDC is for streaming changes to downstream systems, not for querying historical row states per key with point-in-time accuracy.

How to eliminate wrong answers

Option A is wrong because Change Data Capture (CDC) captures changes at the transaction log level for incremental data loading or replication, not for querying historical status per row with point-in-time accuracy. Option C is wrong because Automatic tuning optimizes query performance (e.g., index recommendations, plan forcing) and does not track historical data changes. Option D is wrong because Geo-replication provides disaster recovery and read-scale by replicating the database to a secondary region, with no capability to track or query historical row changes.

133
MCQmedium

An administrator runs an Azure CLI command to update an Azure SQL Database's service objective. The command completes without errors, but the database remains at S2. The administrator wants to scale to S3. What is the issue?

A.The command did not specify the new service objective
B.The property names are incorrect
C.The maxSizeBytes value is invalid
D.The Azure CLI does not support scaling Azure SQL Database
AnswerA

Scaling requires the `--service-objective` parameter to carry the new tier value; without it, Azure CLI leaves the existing S2 objective unchanged, so no scaling occurs. The command satisfied the resource group and server constraints but omitted the property that defines the target performance level, leaving the database at S2.

Why this answer

The correct answer is A: the command did not specify the new service objective. To scale an Azure SQL Database with the Azure CLI, you must run `az sql db update` and explicitly pass the target tier/objective, for example `--service-objective S3` (or `--edition Standard --service-objective S3`); without that parameter, the command does not apply any change, so the database remains at S2. The other options do not fit: Azure CLI fully supports scaling Azure SQL Database via `az sql db update`, and there is no indication that the property names or the `maxSizeBytes` value are invalid for this scenario.

134
MCQmedium

A retail company runs its legacy order management application on an on-premises SQL Server. They plan to migrate to Azure with minimal application changes and need high availability with automatic failover to a secondary Azure region. They also require full database-level isolation and the ability to use SQL Server Agent jobs. Which Azure deployment option should they choose?

A.Azure SQL Database single database
B.Azure SQL Database elastic pool
C.Azure SQL Managed Instance
D.SQL Server on Azure Virtual Machine
AnswerC

Azure SQL Managed Instance is correct because it provides near-complete SQL Server instance compatibility, including SQL Server Agent for scheduled maintenance, instance-level features, and cross-database queries, all within a fully managed PaaS environment. It supports auto-failover groups to deliver automated disaster recovery without the manual configuration required by infrastructure-as-a-service deployments. This makes it the lowest-effort managed option for modernizing a legacy order management system with minimal application changes.

Why this answer

Azure SQL Managed Instance (C) is correct because it provides near-100% compatibility with on-premises SQL Server, including full database-level isolation (a dedicated instance) and full support for SQL Server Agent jobs. It also supports auto-failover groups for high availability with automatic failover to a secondary Azure region, meeting the migration requirement with minimal application changes.

Exam trap

The trap here is that candidates often confuse Azure SQL Database (single or elastic pool) with SQL Managed Instance, overlooking that SQL Agent jobs and full instance-level isolation are exclusive to Managed Instance, while also mistakenly thinking that SQL Server on Azure VM is the only option for high availability with automatic failover.

How to eliminate wrong answers

Option A is wrong because Azure SQL Database single database does not provide full database-level isolation (it runs in a shared logical server) and does not support SQL Server Agent jobs. Option B is wrong because Azure SQL Database elastic pool is a multi-tenant resource-sharing model that also lacks SQL Server Agent job support and full instance-level isolation. Option D is wrong because SQL Server on Azure Virtual Machine requires manual configuration of Always On Availability Groups for automatic failover to a secondary region, and it does not offer the same managed experience with minimal application changes as Azure SQL Managed Instance.

135
MCQmedium

A company wants to analyze data from multiple Azure SQL Databases using a single query. Which Azure service should they use?

A.Azure SQL Database elastic query
B.Azure SQL Database failover groups
C.Azure Synapse Link
D.Azure Stream Analytics
AnswerA

Azure SQL Database elastic query runs T-SQL across multiple Azure SQL Databases through an external data source, returning one combined result set. It directly satisfies the stem's single-query constraint without copying data into a separate analytics store, unlike Synapse Analytics or Data Factory pipelines.

Why this answer

Azure SQL Database elastic query is correct because it enables cross-database queries across multiple Azure SQL Databases from a single T-SQL query, using an external data source and external table to reference the other databases. This directly matches the requirement to analyze data from multiple Azure SQL Databases with one query. Failover groups are for high availability and geo-replication, not for querying across databases.

Azure Synapse Link provides near-real-time analytics replication from operational stores into Synapse, and Azure Stream Analytics is for real-time stream processing, so neither fits this cross-database query scenario.

136
MCQmedium

An e-commerce company runs a product inventory database on Azure SQL Database. During a flash sale, write transactions are slow because many read queries are running simultaneously and consuming resources. The company wants to isolate read workloads without modifying application code or database schemas. Which Azure SQL Database feature should they implement?

A.Active geo-replication
B.Read scale-out
C.Auto-failover groups
D.Elastic pools
AnswerB

Read scale-out uses the built-in readable secondary replica of Azure SQL Database, which resides in the same region as the primary and is kept transactionally consistent through asynchronous replication. By setting the connection string's ApplicationIntent parameter to ReadOnly, read-only queries are automatically routed to this secondary, offloading CPU, IO, and memory pressure from the primary without requiring schema changes or application rewrites. This directly satisfies the scenario's requirements of isolating read workloads in the same region while leaving the existing database schema untouched.

Why this answer

Read scale-out (B) is correct because it allows read-only queries to be offloaded to a read-only replica of the database, freeing up the primary replica for write transactions. This feature is built into Azure SQL Database at the Business Critical and Premium service tiers, and it requires no application code changes—just a connection string modification to use the `ApplicationIntent=ReadOnly` parameter. It directly addresses the performance bottleneck caused by concurrent read queries during the flash sale.

Exam trap

The trap here is that candidates confuse read scale-out with geo-replication or failover groups, assuming any replica can offload reads, but only read scale-out provides a local read-only replica without requiring application code changes or cross-region latency.

How to eliminate wrong answers

Option A is wrong because active geo-replication creates readable replicas in a different Azure region for disaster recovery, not for offloading read workloads from the same region, and it requires application code changes to redirect read queries. Option C is wrong because auto-failover groups manage automatic failover between primary and secondary databases for high availability, not for isolating read workloads; they also require modifying the connection string or application logic. Option D is wrong because elastic pools are used to manage and share resources among multiple databases, not to isolate read workloads within a single database, and they do not provide a read-only replica.

137
MCQhard

Your company runs a global e-commerce platform on Azure SQL Database. The platform experiences heavy read traffic on product catalog and inventory tables. You need to reduce read latency for users in different geographic regions while keeping write latency low. The solution must be cost-effective and require minimal application changes. Current architecture: a single Azure SQL Database in West US. You have budget for additional Azure resources. What should you implement?

A.Configure Active Geo-Replication to create readable secondaries in regions where users are located.
B.Migrate the database to Azure Cosmos DB with multi-region writes.
C.Use Azure Traffic Manager to route read requests to the primary database in West US.
D.Enable Read Scale-Out on the existing database and configure application to use the read-only endpoint.
AnswerA

Active Geo-Replication creates readable secondaries in other Azure regions, letting each region serve reads locally and cutting latency. Writes still go to the primary in West US, keeping write latency low, and it needs no application changes beyond connection strings.

Why this answer

Active Geo-Replication (option A) is correct because it creates readable secondary databases in multiple Azure regions, allowing read queries to be served locally in each user's region while writes continue to the primary, reducing read latency without changing the application's write path. It is cost-effective relative to a full re-platforming and requires minimal application changes—just directing read-only connections to the regional secondary endpoints. Option B does not fit because migrating to Azure Cosmos DB with multi-region writes is a major architectural change and typically more expensive, and it changes the data model and consistency semantics.

Option C is wrong because Azure Traffic Manager only routes traffic to endpoints and cannot make a single West US database serve reads faster for users in other regions. Option D is incorrect because Read Scale-Out uses a read-only replica in the same region as the primary, so it does not reduce cross-region read latency for geographically distributed users.

138
MCQmedium

A company runs an e-commerce platform on Azure SQL Database. The database handles many concurrent transactions (OLTP). The business team runs complex reporting queries on the same database during business hours, which slows down the transactional workload. The company wants to offload the reporting queries to a separate read-only copy of the database to avoid performance impact. Which Azure SQL Database feature should they enable?

A.Hyperscale service tier
B.Geo-replication
C.Read scale-out
D.Elastic query
AnswerC

Read scale-out is the correct feature because it provisions a transparent, read-only replica on a separate compute resource within the same region as the primary database. When enabled on Premium, Business Critical, or Hyperscale service tiers, clients can use ApplicationIntent=ReadOnly in their connection string to have their queries automatically routed to that replica, offloading reporting workloads and reducing contention on the primary. This directly addresses the requirement of improving OLTP performance by separating read-only queries from the transactional workload, with low lag and minimal configuration overhead.

Why this answer

Read scale-out (C) is the correct feature because it allows Azure SQL Database to offload read-only workloads, such as complex reporting queries, to a separate read-only replica. This is achieved by using the `ApplicationIntent=ReadOnly` connection string parameter, which routes queries to a secondary replica, thereby preventing performance impact on the primary transactional (OLTP) workload. This feature is specifically designed for scenarios where you need to isolate reporting from high-concurrency OLTP operations without requiring a separate database copy.

Exam trap

The trap here is that candidates often confuse Geo-replication with read scale-out because both provide readable secondaries, but Geo-replication is for disaster recovery and requires a separate database in a different region, while read scale-out is for performance isolation within the same region and uses the existing high-availability replicas.

How to eliminate wrong answers

Option A is wrong because Hyperscale is a service tier that provides high scalability and fast backup/restore, but it does not inherently create a separate read-only replica for offloading reporting queries; it focuses on storage and compute elasticity, not read workload isolation. Option B is wrong because Geo-replication creates a readable secondary replica for disaster recovery and geographic redundancy, but it is not designed for offloading reporting queries during business hours—it requires manual failover and is primarily for availability, not performance isolation. Option D is wrong because Elastic query enables querying across multiple Azure SQL databases or external data sources (e.g., Azure SQL Database, Azure SQL Data Warehouse) using T-SQL, but it does not provide a read-only replica for offloading reporting from a single database.

139
MCQmedium

A company runs an online booking system on Azure SQL Database. The system handles many concurrent transactions (OLTP). The business team runs complex reporting queries on the same database during business hours, which slows down the booking transactions. The company needs a solution to separate the analytical workload from the transactional workload without duplicating data manually. Which Azure SQL Database feature should they use?

A.Read Scale-out (readable secondary replica)
B.Active Geo-Replication
C.Elastic pools
D.Hyperscale service tier
AnswerA

Read Scale-out in Azure SQL Database leverages a built-in readable secondary replica in the same region. When a connection string specifies ApplicationIntent=ReadOnly, connections are automatically routed to that replica, allowing reporting and analytical queries to execute without consuming primary CPU and I/O. For an online booking system, this directly separates read-only load from transactional write traffic while maintaining the same logical database endpoint.

Why this answer

Read Scale-out (readable secondary replica) is the correct choice because it allows the company to offload complex reporting queries to a read-only replica of the primary database, thereby isolating the analytical workload from the OLTP transactions. This feature is built into Azure SQL Database and does not require manual data duplication or ETL processes, directly addressing the requirement to separate workloads without manual effort.

Exam trap

The trap here is that candidates often confuse Active Geo-Replication (which also provides readable secondaries) with Read Scale-out, but Geo-Replication is regionally separated and intended for disaster recovery, not for local workload isolation within the same region.

How to eliminate wrong answers

Option B (Active Geo-Replication) is wrong because it is designed for disaster recovery and business continuity by maintaining readable secondary replicas in a different Azure region, not for offloading read-only analytical workloads within the same region during business hours. Option C (Elastic pools) is wrong because they are a resource management model for sharing resources among multiple databases, not a feature for separating analytical and transactional workloads on a single database. Option D (Hyperscale service tier) is wrong because, while it offers high scalability and fast backup/restore, it does not inherently provide a built-in mechanism to separate analytical queries from transactional ones without additional configuration like Read Scale-out.

140
Multi-Selectmedium

Which TWO are valid deployment options for Azure SQL?

Select 2 answers
A.Azure SQL Managed Instance
B.Azure SQL Database
C.Azure Cosmos DB
D.Azure Database for MariaDB
E.Azure Synapse Analytics Dedicated SQL Pool
AnswersA, B

Azure SQL Managed Instance is a full PaaS deployment of the SQL Server database engine that offers nearly 100% surface-area compatibility with on-premises SQL Server. It supports SQL Server Agent, linked servers, cross-database queries, and CLR, while relieving you of patching and backup management. It runs inside your Azure virtual network to support private IP addresses, making it the preferred target for lift-and-shift migrations without redesigning applications.

Why this answer

Options A and B are correct. Azure SQL Database and Azure SQL Managed Instance are the two main deployment options for Azure SQL. Options C, D, and E are incorrect: Azure Cosmos DB is a NoSQL database, Azure Database for MariaDB is a separate managed database service, and Azure Synapse Analytics Dedicated SQL Pool is a data warehousing service.

141
MCQmedium

A retail company uses Azure SQL Database for an order management system. The Orders table has columns: OrderID (primary key, clustered), CustomerID, OrderDate, TotalAmount. Queries frequently filter on CustomerID and OrderDate, and sort results by OrderDate in descending order. The queries also return the TotalAmount. Which indexing strategy will most improve query performance for these operations?

A.Maintain the existing clustered index on OrderID only.
B.Create a nonclustered index on (CustomerID, OrderDate DESC) INCLUDE (TotalAmount).
C.Create a nonclustered index on (OrderDate DESC) INCLUDE (CustomerID, TotalAmount).
D.Create a clustered columnstore index on the entire table.
AnswerB

This index is ordered by CustomerID then OrderDate descending, allowing efficient seeks for a specific CustomerID and range scans over OrderDate in descending order. Including TotalAmount covers the SELECT clause without needing to access the base table.

Why this answer

It creates a covering nonclustered index that supports both the filter predicates (CustomerID and OrderDate) and the sort order (OrderDate DESC) while including TotalAmount as an included column to avoid key lookups. This index allows SQL Server to satisfy the query entirely from the index pages, minimizing I/O and improving performance.

Exam trap

Microsoft often tests the distinction between covering indexes and columnstore indexes, and the trap here is assuming a columnstore index is appropriate for transactional queries with filtering and sorting, when it is actually designed for large-scale analytics and data warehousing workloads.

How to eliminate wrong answers

Option A is wrong because the existing clustered index on OrderID does not support filtering on CustomerID or OrderDate, forcing a full clustered index scan. Option C is wrong because while it supports sorting on OrderDate, it does not include CustomerID as a leading key column, so filtering on CustomerID would require a scan or additional lookups. Option D is wrong because a clustered columnstore index is optimized for large-scale analytical workloads and batch processing, not for point lookups or range queries with sorting on a single table; it would degrade performance for the described transactional queries.

142
Multi-Selectmedium

Which TWO are valid ways to secure data in transit for an Azure SQL Database?

Select 2 answers
A.Use the 'Encrypt connection' setting in connection strings
B.Require TLS 1.2 for client connections
C.Enable Transparent Data Encryption (TDE)
D.Configure firewall rules to allow only specific IPs
E.Use Always Encrypted
AnswersA, B

The 'Encrypt connection' setting in connection strings instructs the client driver to negotiate TLS encryption for the entire connection to Azure SQL Database. When Encrypt=True and TrustServerCertificate=False are used, the driver validates the server certificate and creates an encrypted channel, preventing eavesdropping and man-in-the-middle attacks on all data sent between the application and the database. This is a direct, connection-level mechanism for securing data in transit.

Why this answer

Option A is correct because the 'Encrypt connection' setting in a connection string (e.g., Encrypt=True;TrustServerCertificate=False) forces the client driver to negotiate an encrypted channel to Azure SQL Database, protecting data in transit. Option B is correct because requiring TLS 1.2 for client connections ensures that only modern, secure transport encryption is used between the client and the database, preventing downgrade to weaker protocols. Option C is not correct because Transparent Data Encryption protects data at rest by encrypting database files, not data moving over the network.

Option D is not correct because firewall rules restrict which IP addresses can reach the server but do not encrypt the traffic itself. Option E is not correct because Always Encrypted protects sensitive columns at rest and in memory on the client side, not the transport channel.

Exam trap

The trap here is that candidates confuse encryption at rest (TDE) or column-level encryption (Always Encrypted) with transport encryption, leading them to select options that protect data at different layers rather than data in transit.

143
MCQmedium

A company is migrating an on-premises SQL Server database to Azure. The database uses SQL Server Integration Services (SSIS) packages for daily ETL processes. The company wants to minimize administrative overhead for patching and backup management, but needs to retain full control over instance-level configurations and support for SSIS. Which Azure SQL service should they choose?

A.Azure SQL Database
B.Azure SQL Managed Instance
C.Azure Synapse Analytics
D.Azure SQL Server on Azure Virtual Machines
AnswerB

Azure SQL Managed Instance is the correct choice because it provides near 100% compatibility with on-premises SQL Server, including support for SQL Server Integration Services (SSIS) via Azure-SSIS Integration Runtime. As a Platform as a Service (PaaS) offering, it automates critical maintenance tasks such as patching, backups, and high availability, while preserving instance-scoped features like SQL Agent, linked servers, and CLR. This minimizes administrative overhead while supporting SSIS, making it the ideal target for a direct migration of a SQL Server database with integration services workloads.

Why this answer

Azure SQL Managed Instance is correct because it provides near 100% compatibility with on-premises SQL Server, including full support for SQL Server Integration Services (SSIS) via Azure-SSIS Integration Runtime, while offloading patching and backup management to the platform. It also allows full control over instance-level configurations such as collation, CLR, and SQL Agent jobs, which are not available in Azure SQL Database.

Exam trap

The trap here is that candidates often confuse Azure SQL Database's PaaS benefits with full SQL Server compatibility, overlooking that SSIS and instance-level configurations require Managed Instance, not the more restrictive Azure SQL Database.

Why the other options are wrong

A

Azure SQL Database does not support SQL Server Integration Services (SSIS) and provides limited instance-level configuration control, making it unsuitable for the company's need to run SSIS packages and retain full control over instance-level settings.

C

Azure Synapse Analytics is a cloud-scale analytics service that does not support SSIS packages natively, and it is not designed for transactional workloads or instance-level configuration control like patching and backup management.

D

Azure SQL Server on Azure Virtual Machines requires you to manage patching and backups manually, which contradicts the goal of minimizing administrative overhead. It also does not provide the same level of managed service as Azure SQL Managed Instance.

144
MCQmedium

A company uses Azure SQL Database to store order data. The Orders table has millions of rows with columns: OrderID (primary key, clustered), CustomerID, OrderDate, Status, TotalAmount. Queries frequently filter on OrderDate and Status, and sort results by OrderDate descending. Which indexing strategy will most improve query performance for these filters and sort?

A.Create a clustered index on OrderDate
B.Create a nonclustered index on (OrderDate DESC, Status) and include TotalAmount
C.Create a nonclustered index on Status alone
D.Create a clustered columnstore index on the table
AnswerB

This composite index covers both filter columns in the correct sort order and includes the TotalAmount column, making the query fully covered without needing to access the table. This yields the best performance for the described queries.

Why this answer

Creates a covering nonclustered index on (OrderDate DESC, Status) that directly supports the frequent filter on OrderDate and Status and the ORDER BY OrderDate DESC. Including TotalAmount as a non-key column makes the index covering, so all needed columns come from the index without key lookups, maximizing query performance.

Exam trap

The trap here is that candidates often think a clustered index on the filter column is always best, but they overlook that the existing clustered index on OrderID is needed for primary key enforcement and that a covering nonclustered index is the optimal way to support specific query patterns without disrupting the table's physical design.

How to eliminate wrong answers

Option A is wrong because changing the clustered index from OrderID to OrderDate would break the primary key constraint and could cause fragmentation and performance issues for other queries that rely on the clustered key. Option C is wrong because an index on Status alone does not help with the OrderDate filter or the ORDER BY OrderDate DESC, requiring a separate sort operation. Option D is wrong because a clustered columnstore index is optimized for large-scale analytical scans and aggregations, not for point lookups or ordered retrieval of specific rows, and would perform poorly for this filtered, sorted query.

145
MCQmedium

A company has a suite of 20 e-commerce applications, each with its own SQL Server database. The databases vary in size from 5 GB to 100 GB and have unpredictable usage patterns with bursty peaks. The company wants to migrate to Azure SQL Database to benefit from built-in high availability and automatic backups. They need to minimize costs by only paying for the resources each database actually uses, and they want to avoid over-provisioning for peak loads. Which Azure SQL Database deployment option should they choose?

A.Azure SQL Database Elastic Pool
B.Azure SQL Database (single database) with Serverless compute tier
C.Azure SQL Managed Instance
D.Azure SQL Database Hyperscale
AnswerA

Azure SQL Database Elastic Pool is the correct choice because it lets all 20 databases share a single pool of eDTUs or vCores, with adjustable per-database minimum and maximum limits. This avoids over-provisioning each app separately and smooths out intermittent usage spikes across tenants. You pay only for the pooled resources actually allocated, not for 20 individually sized databases, which is exactly what unpredictable e-commerce workloads need.

Why this answer

Azure SQL Database Elastic Pool is the correct choice because it allows multiple databases to share a fixed pool of resources (DTUs or vCores), enabling cost efficiency by pooling and reallocating resources across databases with unpredictable, bursty usage patterns. This avoids over-provisioning for peak loads while still providing built-in high availability and automatic backups, as each database in the pool benefits from these features without needing individual resource reservations.

Exam trap

The trap here is that candidates confuse the Serverless compute tier (which auto-pauses for cost savings on a single database) with the Elastic Pool (which shares resources across multiple databases), leading them to choose Serverless for cost minimization without recognizing the need for resource pooling across 20 databases.

Why the other options are wrong

B

The Serverless compute tier is designed for a single database with intermittent usage, but the question involves 20 databases with bursty peaks. An Elastic Pool shares resources across databases, which is more cost-effective for multiple databases with varying peak times than provisioning each database individually with Serverless.

C

Azure SQL Managed Instance is designed for lift-and-shift migrations requiring full SQL Server instance-level features (e.g., SQL Agent, cross-database queries) and does not offer the cost-sharing, per-database resource pooling that Elastic Pools provide. It would require over-provisioning for peak loads and does not minimize costs for 20 separate databases with bursty, unpredictable usage.

D

Hyperscale is designed for very large databases (up to 100 TB) and high transaction throughput, not for managing multiple smaller databases with bursty, unpredictable usage patterns. It does not provide the cost-sharing benefits of an elastic pool, leading to over-provisioning and higher costs.

146
MCQeasy

A small business needs a cost-effective relational database for a new web application. The workload is light and predictable. They want to minimize administrative overhead. Which Azure service should they choose?

A.Azure Database for PostgreSQL
B.SQL Server on Azure Virtual Machines
C.Azure SQL Database (provisioned DTU)
D.Azure SQL Database serverless
AnswerD

Azure SQL Database serverless is a fully managed PaaS offering with vCore-based compute that automatically scales to match the workload and pauses during periods of inactivity. While paused, you are billed only for storage, not compute, which makes it the most cost-effective choice for a small business with light, intermittent database usage. It remains a relational database with no administrative overhead, and the auto-pause delay can be configured to suit the application's needs.

Why this answer

Azure SQL Database serverless is the correct choice because it automatically pauses the database during periods of inactivity, charging only for storage and compute used. This aligns perfectly with the small business's need for a cost-effective, low-administration relational database for a light, predictable workload, as it eliminates the need to manage infrastructure or pay for idle compute.

Exam trap

The trap here is that candidates often choose Azure SQL Database (provisioned DTU) because it is fully managed, but they overlook the serverless option's cost-saving auto-pause feature, which is specifically designed for light, predictable workloads with idle periods.

How to eliminate wrong answers

Option A is wrong because Azure Database for PostgreSQL is a fully managed relational database, but it does not offer a serverless compute tier that auto-pauses; it requires continuous compute billing, making it less cost-effective for a light, predictable workload. Option B is wrong because SQL Server on Azure Virtual Machines requires the user to manage the OS, SQL Server installation, and patching, which increases administrative overhead, contradicting the goal of minimizing management. Option C is wrong because Azure SQL Database (provisioned DTU) allocates fixed compute resources that are billed continuously, even when idle, making it more expensive than serverless for a workload that may have periods of no activity.

147
MCQmedium

A company plans to migrate a 2-TB on-premises SQL Server database to Azure. The database uses SQL Server Agent jobs for scheduled maintenance and requires automatic failover across Azure regions. The company wants a fully managed service with minimal application changes. Which Azure SQL service should they choose?

A.Azure SQL Database
B.Azure SQL Managed Instance
C.SQL Server on Azure Virtual Machines
D.Azure Synapse Analytics
AnswerB

Azure SQL Managed Instance is a fully managed PaaS service that delivers near 100% SQL Server compatibility, including native support for SQL Server Agent, which the company needs for scheduled maintenance. It supports storage capacities up to 16 TB for a 2 TB migration, and its auto-failover groups enable cross-region high availability with automatic replication and failover, making it the appropriate target.

Why this answer

Azure SQL Managed Instance is correct because it provides near 100% compatibility with SQL Server, including support for SQL Server Agent jobs, and offers automatic failover across Azure regions via failover groups. It is a fully managed service that requires minimal application changes, unlike Azure SQL Database which lacks SQL Server Agent and has limited cross-region failover capabilities.

Exam trap

The trap here is that candidates often choose Azure SQL Database because it is the most well-known fully managed service, overlooking the specific requirement for SQL Server Agent jobs and automatic cross-region failover, which Managed Instance uniquely supports.

Why the other options are wrong

A

Azure SQL Database does not support SQL Server Agent jobs or cross-region automatic failover with minimal application changes; it requires database-level management and lacks instance-scoped features.

C

SQL Server on Azure VMs requires you to manage the OS and SQL Server, including SQL Server Agent jobs and high availability setup, which contradicts the requirement for a fully managed service with minimal application changes.

D

Azure Synapse Analytics is a distributed analytics service for large-scale data warehousing and big data workloads, not designed for transactional SQL Server databases with SQL Server Agent jobs and automatic failover across regions.

148
Drag & Dropmedium

Drag and drop the steps to load data into Azure Synapse Analytics using PolyBase in the correct order.

Drag or tap steps into the slots.

Steps
Order
1Step 1
2Step 2
3Step 3
4Step 4

Why this order

PolyBase loading involves defining external data source, file format, external table, then using CTAS to move data into the warehouse.

149
MCQmedium

A company runs a web application on Azure SQL Database that experiences unpredictable spikes in traffic. They want to automatically adjust compute resources based on demand without manual intervention and without over-provisioning. Which Azure SQL Database feature should they use?

A.Serverless compute tier
B.Active geo-replication
C.Hyperscale service tier
D.Read scale-out
AnswerA

Serverless compute tier automatically scales compute resources based on actual demand, scaling down or even pausing the database during periods of inactivity to control costs. It bills per-second for compute and storage separately, making it ideal for workloads with unpredictable, intermittent spikes where manual provisioning or pre-scaling would be wasteful. This meets the requirement because it handles those spikes without intervention.

Why this answer

The Serverless compute tier for Azure SQL Database automatically scales compute resources based on workload demand, pausing databases during idle periods and resuming them when traffic spikes occur. This eliminates the need for manual intervention and prevents over-provisioning by charging only for the compute used per second, making it ideal for unpredictable traffic patterns.

Exam trap

The trap here is that candidates confuse the Hyperscale service tier's storage scalability with compute auto-scaling, but Hyperscale requires manual vCore adjustment and does not support auto-pause, whereas Serverless is specifically designed for unpredictable, intermittent workloads with automatic compute scaling.

How to eliminate wrong answers

Option B (Active geo-replication) is wrong because it focuses on disaster recovery and read-scale availability by replicating data to a secondary region, not on dynamic compute scaling based on demand. Option C (Hyperscale service tier) is wrong because it provides high scalability for storage and fast backup/restore but requires manual scaling of compute resources (vCores) and does not auto-pause or auto-scale compute like Serverless. Option D (Read scale-out) is wrong because it offloads read-only queries to a secondary replica for performance, but it does not automatically adjust compute resources or handle unpredictable traffic spikes without manual configuration.

150
MCQhard

A company's application uses Microsoft SQL Server with multiple databases that need to run complex queries joining tables across databases. They are migrating to Azure and need a fully managed relational database service with high availability, automated backups, and minimal management overhead. They do not need a separate SQL Server installation and want to avoid managing VMs. Which Azure deployment option should they choose?

A.Azure SQL Database single database
B.Azure SQL Managed Instance
C.SQL Server on Azure Virtual Machines
D.Azure SQL Database elastic pool
AnswerB

Azure SQL Managed Instance is a fully managed PaaS offering that maintains near-complete SQL Server engine compatibility, including linked servers and native cross-database queries. It also provides built-in high availability, automated backups, and automatic patching, which eliminates the operational overhead of managing virtual machines. For a company moving an existing SQL Server workload with multiple interdependent databases, this option gives the required functionality while minimizing management burden.

Why this answer

Azure SQL Managed Instance is the correct choice because it provides near-100% compatibility with on-premises SQL Server, including support for cross-database queries and linked servers, while being a fully managed platform-as-a-service (PaaS) offering. It eliminates the need to manage VMs or a separate SQL Server installation, and it includes built-in high availability (99.99% SLA) and automated backups, meeting all stated requirements.

Exam trap

The trap here is that candidates often confuse Azure SQL Database elastic pool with Managed Instance, assuming elastic pools support cross-database queries, but elastic pools only manage resource allocation for single databases and do not provide the instance-level features needed for cross-database joins.

How to eliminate wrong answers

Option A is wrong because Azure SQL Database single database does not support cross-database queries or linked servers; it is designed for isolated databases and requires elastic query or external tools for cross-database joins, which adds complexity. Option C is wrong because SQL Server on Azure Virtual Machines is an infrastructure-as-a-service (IaaS) option that requires managing VMs, patching, and SQL Server installation, contradicting the need for minimal management overhead and a fully managed service. Option D is wrong because Azure SQL Database elastic pool is a resource-sharing model for multiple single databases within the same logical server, but it inherits the same cross-database query limitations as single databases and does not enable native cross-database joins.

← PreviousPage 2 of 3 · 181 questions totalNext →

Ready to test yourself?

Try a timed practice session using only Identify considerations for relational data on Azure questions.