Courseiva

CCNA Identify Considerations For Relational Data On Azure Questions

75 of 188 questions · Page 2/3 · Identify Considerations For Relational Data On Azure topic · Answers revealed

76
MCQmedium

A company is migrating a legacy on-premises database to Azure. They require the ability to run cross-database queries within the same logical server, full control over database collation settings, and want to minimize management overhead for infrastructure patching. The database size is under 1 TB and they do not need instance-level features like SQL Agent jobs or linked servers. Which Azure SQL offering should they choose?

A.Azure SQL Database
B.Azure SQL Managed Instance
C.SQL Server on Azure Virtual Machine
D.Azure Synapse SQL pool
AnswerA

Azure SQL Database is a PaaS service that handles patching, supports elastic query for cross-database queries, and allows collation settings on a per-database level. It does not include SQL Agent or linked servers, which are not required here.

Why this answer

Azure SQL Database is the correct choice because it supports cross-database queries within the same logical server via elastic queries, allows full control over database-level collation settings, and is a fully managed Platform-as-a-Service (PaaS) offering that handles infrastructure patching automatically. With a database size under 1 TB and no need for instance-level features like SQL Agent jobs or linked servers, Azure SQL Database meets all requirements while minimizing management overhead.

Exam trap

The trap here is that candidates often confuse Azure SQL Database with Azure SQL Managed Instance, assuming that cross-database queries require instance-level features like linked servers, but Azure SQL Database supports this via elastic queries without the need for instance-level management.

Why the other options are wrong

B

Azure SQL Managed Instance provides instance-level features like SQL Agent jobs and linked servers, which the company does not need, and it does not support cross-database queries within the same logical server as easily as Azure SQL Database's elastic query. Additionally, it has more management overhead than Azure SQL Database.

C

SQL Server on Azure VMs requires you to manage patching and infrastructure, contradicting the requirement to minimize management overhead. It also does not support cross-database queries within the same logical server without linked servers, which is not desired.

D

Azure Synapse SQL pool is designed for large-scale data warehousing and analytics, not for general-purpose transactional workloads. It lacks support for cross-database queries within the same logical server and does not provide full control over database collation settings.

77
MCQeasy

A company uses Azure SQL Database and needs to audit all data modifications (INSERT, UPDATE, DELETE) for compliance purposes. The audit logs must be stored for 7 years. Which feature should they enable?

A.Advanced Threat Protection
B.SQL Database auditing
C.Vulnerability assessment
D.Transparent Data Encryption (TDE)
AnswerB

Azure SQL Database auditing tracks database events and writes them to an audit log in Azure Storage, Azure Monitor, or Log Analytics, capturing actions like INSERT, UPDATE, and DELETE along with user, time, and affected data. This feature retains the logs for a configurable period, which can be years, enabling the company to prove and review exactly what data was modified and by whom. It directly meets the need to audit all data modifications.

Why this answer

SQL Database auditing captures all data modifications (INSERT, UPDATE, DELETE) and can store logs in Azure storage, Log Analytics, or Event Hubs with retention up to 7 years. Option A is wrong because Advanced Threat Protection detects suspicious activities, not audits modifications. Option C is wrong because vulnerability assessment scans for security weaknesses, not logging changes.

Option D is wrong because Transparent Data Encryption (TDE) encrypts data at rest, it does not log modifications.

78
MCQmedium

A database designer wants to reduce data redundancy and improve data integrity by splitting a large table into multiple related tables based on functional dependencies. This process is known as:

A.Denormalization
B.Normalization
C.Partitioning
D.Indexing
AnswerB

Normalization is the formal process of decomposing large tables into smaller, related tables based on functional dependencies, with the goal of eliminating duplicate data and ensuring each fact is stored only once. By applying normal forms such as 1NF, 2NF, and 3NF, the designer removes update anomalies and ensures consistency, directly satisfying the requirement to reduce data redundancy.

Why this answer

Normalization is the process of organizing a relational database into multiple related tables to reduce data redundancy and improve data integrity by eliminating functional dependencies that cause anomalies. This is a core concept in relational database design, directly aligning with the scenario described in the question.

Exam trap

The trap here is that candidates often confuse normalization with partitioning, because both involve splitting tables, but partitioning is a physical storage optimization, not a logical design technique for reducing redundancy.

How to eliminate wrong answers

Option A is wrong because denormalization is the opposite process—it intentionally adds redundancy by merging tables to improve read performance, often at the cost of data integrity. Option C is wrong because partitioning splits a table horizontally or vertically for performance or manageability, but it does not inherently reduce redundancy or address functional dependencies. Option D is wrong because indexing creates data structures to speed up query performance on existing tables, but it does not restructure tables to eliminate redundancy or enforce integrity.

79
MCQhard

A company operates a high-volume order processing system on Azure SQL Database. During peak hours, many concurrent transactions try to insert and update rows in the same table, causing contention on page latches. Indexing and query optimization are already tuned. Which feature should the company implement to reduce write contention while preserving ACID properties?

A.Read Scale-out
B.In-Memory OLTP
C.Elastic Database Query
D.Transparent Data Encryption (TDE)
AnswerB

In-Memory OLTP creates memory-optimized tables and can use natively compiled stored procedures, which avoid the latch and lock overhead typical of disk-based tables by using optimistic concurrency and row-versioning. For a high-volume order processing system, this directly attacks the primary bottlenecks—latch contention and blocking on hot b-tree pages—so more transactions can commit concurrently with fewer retries and lower wait times. This makes it the appropriate choice from the listed options for improving write performance under heavy concurrent transaction load.

Why this answer

In-Memory OLTP is correct because it uses memory-optimized tables and natively compiled stored procedures to reduce latch contention by eliminating the need for page latches entirely. Transactions operate directly on in-memory data structures, using optimistic multi-version concurrency control (MVCC) to detect conflicts without blocking, which preserves ACID properties while allowing high concurrency.

Exam trap

The trap here is that candidates confuse In-Memory OLTP with caching or read optimization, but the question specifically targets write contention and ACID preservation, which In-Memory OLTP uniquely addresses through latch-free design and optimistic concurrency.

How to eliminate wrong answers

Option A is wrong because Read Scale-out is designed to offload read-only workloads to a read-only replica, not to reduce write contention on the primary database. Option C is wrong because Elastic Database Query enables cross-database querying across shards or databases, but does not address intra-table latch contention or improve write performance. Option D is wrong because Transparent Data Encryption (TDE) performs real-time encryption/decryption of data at rest and has no effect on concurrency, locking, or latch contention.

80
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.

81
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.

82
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.

83
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 allow multiple databases to share a pool of resources, providing cost savings for multi-tenant SaaS applications while maintaining predictable performance per database.

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.

84
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.

85
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.

86
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.

87
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

To comply with data residency requirements, the company must ensure that all customer data remains within a specific Azure region. Azure Policy allows administrators to define and enforce rules that restrict resource creation to allowed regions, thereby preventing the deployment of Azure SQL Database or any other resources outside that region. This directly supports data residency by controlling where data can be stored.

In contrast, geo-replication (option B) replicates data to a secondary region, which would move data out of the specified region, violating the requirement. Dynamic data masking (option C) and transparent data encryption (option D) are security features that protect data at rest or in use but do not control geographic placement. Therefore, Azure Policy is the correct feature to meet the data residency requirement.

88
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 enables partition elimination for queries filtering on TransactionDate, reducing scan size. Old partitions can be switched out for easy archiving without impacting the live table.

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.

89
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 (Option B) creates readable secondary databases in other Azure regions. Reads can be directed to the secondary for low latency, while writes always go to the primary and are strongly consistent. This matches the requirement for globally distributed users with low-latency reads and strong consistency for writes.

Option A (Azure Cosmos DB with multi-master) is a NoSQL solution, not relational. Option C (Failover groups) manages geo-replication and provides automatic failover, but it still relies on active geo-replication to create the readable secondaries; it does not directly enable low-latency reads. Option D (Read scale-out) uses local read-only replicas within the same region, not globally.

90
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.

91
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.

92
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 a readable secondary database in a different Azure region. It allows failover and offloads read-heavy workloads to the secondary. The secondary is readable and can be used for reporting.

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.

93
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.

94
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.

95
MCQhard

A company has both transactional and analytical workloads on the same SQL Server database. They want to move to Azure and separate these workloads to improve performance. They need a solution that supports both workloads without duplicating data. What should they do?

A.Use Azure Data Factory to move data between two Azure SQL Databases.
B.Use Azure Synapse Link for SQL to replicate data in near real-time to an analytical store.
C.Use Azure SQL Database for transactions and Azure SQL Data Warehouse for analytics, with periodic data copy.
D.Use Azure SQL Database for both workloads.
AnswerB

Synapse Link provides real-time replication without ETL.

Why this answer

Azure Synapse Link for SQL enables near real-time replication of transactional data from Azure SQL Database to Synapse Analytics for analytical queries without ETL and without duplicating data. Option A is wrong because Azure Data Factory does not provide real-time replication and would require data duplication. Option C is wrong because using Azure SQL Database and SQL Data Warehouse separately with periodic data copy duplicates data.

Option D is wrong because using Azure SQL Database for both workloads does not separate workloads.

96
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.

97
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.

98
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.

99
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.

100
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.

101
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.

102
MCQhard

A company runs a financial application on Azure SQL Database. The Transactions table has a clustered columnstore index to support fast analytical queries on large historical datasets. However, the application also ingests a high volume of new transactions each second, and the columnstore index is causing performance degradation for these real-time inserts. The workload is hybrid (OLTP and OLAP). Which feature should the company implement to improve insert performance while still enabling efficient analytical queries on the table?

A.A: In-memory OLTP
B.B: Elastic Query
C.C: Hyperscale service tier
D.D: Convert the table to a rowstore heap with a nonclustered columnstore index
AnswerD

A nonclustered columnstore index on a rowstore table allows efficient OLTP inserts into the rowstore while the columnstore index periodically processes batches for analytical performance, achieving a balanced hybrid workload.

Why this answer

Converting the table to a rowstore heap with a nonclustered columnstore index allows the table to handle high-volume singleton inserts efficiently (rowstore heap) while still enabling fast analytical queries via the nonclustered columnstore index. This hybrid approach separates the OLTP insert path from the OLAP read path, avoiding the overhead of maintaining a clustered columnstore index during real-time ingestion.

Exam trap

The trap here is that candidates often assume a clustered columnstore index is always the best choice for analytical queries, overlooking the significant insert performance penalty it imposes on high-volume OLTP workloads, and fail to recognize that a nonclustered columnstore index on a heap can provide the same analytical benefits without the insert bottleneck.

How to eliminate wrong answers

Option A is wrong because In-memory OLTP is designed to accelerate OLTP transactions by storing tables in memory, but it does not directly address the performance degradation caused by a clustered columnstore index during inserts; it would require redesigning the table as a memory-optimized table and does not inherently support columnstore analytics. Option B is wrong because Elastic Query is used to query data across multiple Azure SQL databases or external data sources, not to improve insert performance on a single table. Option C is wrong because the Hyperscale service tier provides scalable storage and compute for large databases, but it does not change the fundamental behavior of a clustered columnstore index; inserts into a clustered columnstore index still incur overhead from delta store management and compression.

103
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.

104
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.

105
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.

106
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.

107
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.

108
MCQhard

A financial services company runs a critical application on Azure SQL Managed Instance. They need to ensure that in the event of a regional outage, the database can be failed over to a secondary region with minimal data loss and automatic failover. The secondary region should not be used for read traffic during normal operations. Which configuration meets these requirements?

A.Create an automatic failover group with readable secondary enabled
B.Use Azure SQL Database backup to blob storage and restore to another region
C.Implement active geo-replication and manually initiate failover
D.Configure a failover group with automatic failover policy and set the secondary to non-readable
AnswerD

Failover groups with automatic failover and readable secondary disabled meet the requirements.

Why this answer

A failover group with an automatic failover policy and a non-readable secondary meets all requirements: it provides automatic failover to a secondary region during an outage, minimizes data loss through synchronous replication (within the same region) and asynchronous replication across regions, and ensures the secondary is not used for read traffic during normal operations by disabling the readable secondary option.

Exam trap

The trap here is that candidates often confuse failover groups with active geo-replication, assuming that automatic failover requires readable secondaries, but failover groups can be configured with non-readable secondaries to meet specific read-traffic restrictions.

How to eliminate wrong answers

Option A is wrong because enabling a readable secondary would allow read traffic to the secondary region during normal operations, violating the requirement that the secondary not be used for read traffic. Option B is wrong because backup to blob storage and restore to another region is a manual disaster recovery process that does not provide automatic failover and can result in significant data loss (up to the last backup). Option C is wrong because active geo-replication requires manual initiation of failover, which does not meet the automatic failover requirement, and it typically allows read access to the secondary, which is not desired here.

109
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.

110
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.

111
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.

112
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.

113
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.

114
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.

115
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

Fully managed SQL Server database engine.

Why this answer

Options A and D are correct. Azure SQL Database and Azure SQL Managed Instance both provide SQL Server compatibility. Option B (Azure Database for PostgreSQL) is wrong because it is PostgreSQL, not SQL Server.

Option C (Azure Cosmos DB) is wrong because it is NoSQL. Option E (Azure Database for MySQL) is wrong because it is MySQL.

116
MCQmedium

Your organization uses Azure SQL Database and needs to audit all database operations for compliance. The audit logs must be stored for at least five years and be easily searchable. What should you configure?

A.Enable auditing and store logs in Azure Blob Storage with a retention policy of five years.
B.Enable auditing and store logs in Azure Monitor Logs.
C.Use Azure Sentinel to collect and store audit logs.
D.Enable Transparent Data Encryption (TDE) to track changes.
AnswerA

Azure SQL Database auditing can be configured to write audit logs directly to Azure Blob Storage, which supports configurable retention policies through the 'Retention days' setting. This destination is ideal for long-term compliance because blob storage is cost-effective, and the .xel audit log files can be queried with tools like sys.fn_get_audit_file when needed. A five-year retention policy is fully supported, making this the correct choice for the stated requirement.

Why this answer

Azure SQL Database auditing can store audit logs in Azure Storage or Log Analytics. For long-term retention (five years) and easy searchability, storing logs in Azure Blob Storage with a retention policy is the most cost-effective and appropriate solution. Option B (Azure Monitor Logs) can be used but may be more expensive for long-term retention.

Option C (Azure Sentinel) is a SIEM solution and not primarily for audit log storage. Option D (Transparent Data Encryption) is for encryption at rest, not auditing.

117
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.

118
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.

119
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

TDE encrypts the database at rest, and Always Encrypted ensures that only authorized applications with the column encryption key can decrypt sensitive columns. Option A is wrong because row-level security controls access but does not encrypt data. Option B is wrong because auditing does not control decryption.

Option D is wrong because dynamic data masking obfuscates data but does not encrypt.

120
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.

121
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.

122
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.

123
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.

124
Multi-Selecthard

Which THREE factors should you consider when choosing between Azure SQL Database and Azure SQL Managed Instance?

Select 3 answers
A.Support for Microsoft Entra ID authentication
B.Need for SQL Server Agent jobs
C.Need for cross-database queries
D.Automatic scaling of compute resources
E.Requirement for VNet integration
AnswersB, C, D

SQL Managed Instance supports SQL Server Agent jobs, while Azure SQL Database does not. This is a key factor when choosing between them.

Why this answer

SQL Managed Instance supports SQL Server Agent jobs, which SQL Database does not. Option C is correct because SQL Managed Instance supports cross-database queries, while SQL Database does not. Option D is correct because SQL Database offers automatic scaling options like serverless compute, whereas SQL Managed Instance requires manual scaling.

Option A is incorrect because both services support Microsoft Entra ID authentication. Option E is incorrect because VNet integration is a feature of SQL Managed Instance, not a primary differentiator, and both can be integrated into a VNet in different ways.

125
Multi-Selectmedium

Which TWO of the following are true about Azure Database for PostgreSQL? (Select TWO.)

Select 2 answers
A.It only supports the open-source community edition of PostgreSQL.
B.It is a NoSQL database service.
C.It supports read replicas to offload read traffic.
D.It allows cross-database queries across multiple servers.
E.It provides automated backups with point-in-time restore.
AnswersC, E

This statement is true. Azure Database for PostgreSQL supports creating read replicas that can be used to offload read-only traffic from the primary instance. These replicas are updated asynchronously, and they can be created in the same region or even in a different region, providing options for read scaling, improved performance for read-heavy workloads, and regional availability.

Why this answer

Azure Database for PostgreSQL is a managed relational database service that provides automated backups with point-in-time restore (option E) and supports read replicas to offload read traffic (option C). Option A is incorrect because it supports both the community edition and the Hyperscale (Citus) edition, not just the community edition. Option B is incorrect because Azure Database for PostgreSQL is a relational database, not a NoSQL database.

Option D is incorrect because cross-database queries across multiple servers are not supported; each server is isolated.

126
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.

127
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

Options A and B are correct. Azure SQL Database provides built-in high availability with automatic failover, which is a key benefit over SQL Server on Azure VMs where you must configure HA manually. Additionally, Azure SQL Database automatically handles patching and updates, reducing administrative overhead.

Option C is incorrect because while you can choose vCores in both services, cost comparison is more complex and typically Azure SQL Database might have different pricing, but the ability to choose any number of vCores is not a unique benefit. Option D is incorrect because you cannot install custom software on an Azure SQL Database server; that's a limitation of PaaS. Option E is incorrect because full control over the OS is a characteristic of IaaS (VMs), not a benefit of Azure SQL Database.

128
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.

129
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.

130
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.

131
Multi-Selectmedium

Which TWO features are available in Azure SQL Database to help protect data at rest?

Select 2 answers
A.Transparent Data Encryption (TDE)
B.Dynamic Data Masking
C.Always Encrypted
D.Auditing
E.Row-Level Security
AnswersA, C

Transparent Data Encryption (TDE) in Azure SQL Database automatically encrypts database files, log files, and backups at rest without requiring changes to the application schema or queries. The database engine performs real-time I/O encryption and decryption, but plaintext data remains in memory and is visible to users with proper access. This makes TDE a strong baseline for regulatory compliance, though it protects only against physical theft of storage, not against unauthorized application queries.

Why this answer

And Option C are correct. Transparent Data Encryption encrypts the database files at rest. Always Encrypted encrypts sensitive columns at rest and in use.

Option B is wrong because Dynamic Data Masking does not encrypt data; it masks it in query results. Option D is wrong because Auditing is for tracking, not encryption. Option E is wrong because Row-Level Security controls access, not encryption.

132
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.

133
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.

134
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.

135
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 correct because Elastic Jobs allows executing T-SQL scripts across multiple databases in Azure SQL Database. Option A (Elastic pools) is for resource pooling and sharing, not for running scripts across databases. Option B (Failover groups) is for high availability and disaster recovery.

Option C (SQL Server Agent) is not available in Azure SQL Database; it is available in on-premises SQL Server or SQL Server on Azure VMs.

136
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.

137
MCQhard

A company uses Azure SQL Database with the Business Critical service tier. They notice increased latency during peak hours. They need to improve performance without changing the application code. Which action should they take?

A.Increase the number of vCores
B.Add a read replica
C.Enable auto-pause
D.Change the service tier to General Purpose
AnswerA

Scaling up provides more CPU/memory to handle peak load.

Why this answer

Increasing the number of vCores (Option A) provides more compute resources to handle peak load without requiring application code changes, which directly reduces latency. Option B (add a read replica) does not help with write latency or improve performance for the primary workload. Option C (enable auto-pause) is for serverless databases and does not address performance during active usage.

Option D (change to General Purpose) would likely reduce performance compared to Business Critical.

138
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

Billed per second of compute usage.

Why this answer

Azure SQL Database serverless compute tier offers billing per second for compute usage (B), auto-scaling compute based on workload (C), and auto-pause during periods of inactivity (D). These features provide cost savings and automatic scaling for intermittent workloads. However, serverless does not guarantee a 99.99% SLA (A) and is not ideal for high-throughput, latency-sensitive applications (E) due to potential cold starts.

139
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.

140
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.

141
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.

142
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.

143
MCQmedium

A company uses Azure SQL Database for an inventory management system. The Inventory table has millions of rows. Queries frequently filter on WarehouseID and then sort by LastUpdatedDate. The table currently has a clustered index on InventoryID (primary key). Which action will most improve query performance for these frequent filters?

A.Create a non-clustered index on (WarehouseID, LastUpdatedDate) INCLUDE (Quantity)
B.Add a clustered index on WarehouseID
C.Create a non-clustered index on LastUpdatedDate only
D.Partition the table by InventoryID
AnswerA

This composite index covers the filter and sort conditions. Including Quantity as an included column makes the index covering for this query, avoiding expensive key lookups.

Why this answer

A non-clustered index on (WarehouseID, LastUpdatedDate) allows the database engine to efficiently locate rows matching a specific WarehouseID and return them already sorted by LastUpdatedDate without accessing the clustered index (or with minimal lookup). Including the Quantity column as a non-key included column avoids key lookups for that column, further improving performance. Changing the clustered index to WarehouseID could cause fragmentation and is not ideal for uniqueness.

A single-column index on LastUpdatedDate does not support the filter on WarehouseID. Partitioning by InventoryID does not help this query pattern.

144
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.

145
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.

146
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.

147
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.

148
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.

149
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.

150
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.

← PreviousPage 2 of 3 · 188 questions totalNext →

Ready to test yourself?

Try a timed practice session using only Identify Considerations For Relational Data On Azure questions.