Courseiva

CCNA Identify considerations for relational data on Azure Questions

38 of 188 questions · Page 3/3 · Identify considerations for relational data on Azure · Answers revealed

151
MCQmedium

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

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

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

Why this answer

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

Exam trap

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

Why the other options are wrong

B

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

C

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

D

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

152
MCQeasy

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

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

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

Why this answer

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

Exam trap

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

How to eliminate wrong answers

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

153
MCQmedium

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

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

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

Why this answer

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

Exam trap

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

Why the other options are wrong

A

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

C

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

D

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

154
Drag & Dropmedium

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

Drag steps to the numbered slots on the right, or tap a step then tap a slot.

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

Why this order

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

155
MCQmedium

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

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

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

Why this answer

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

Exam trap

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

How to eliminate wrong answers

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

156
MCQhard

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

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

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

Why this answer

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

Exam trap

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

How to eliminate wrong answers

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

157
MCQmedium

A company is migrating a large on-premises SQL Server database to Azure. They require high availability with automatic failover and read-scale for reporting workloads. Which Azure service should they use?

A.Azure SQL Database Hyperscale tier
B.Azure Database for PostgreSQL with geo-redundant backup
C.SQL Server on Azure Virtual Machines with Always On availability groups
D.Azure SQL Database Business Critical tier with failover groups
AnswerD

Business Critical provides built-in high availability and failover groups enable automatic failover with readable secondaries.

Why this answer

Azure SQL Database Business Critical tier with failover groups provides automatic failover and read-scale capabilities, meeting the requirements for high availability and read-scale for reporting. Option A is wrong because Hyperscale tier is designed for very large databases but does not provide read-scale for reporting workloads (it does have readable replicas but typically not for reporting scale-out). Option B is wrong because Azure Database for PostgreSQL is not a target for migrating a SQL Server database; it's a different database engine.

Option C is wrong because SQL Server on Azure VMs with Always On availability groups requires significant manual configuration and management, which does not meet the automatic failover requirement as seamlessly as Azure SQL Database Business Critical tier.

158
MCQmedium

A company uses Azure SQL Database for a customer management system. The Customers table has columns: CustomerID (int, primary key), FullName (varchar(100)), Email (varchar(200)), SignUpDate (date), LastLoginDate (date). Queries frequently filter on LastLoginDate to find customers who have not logged in for over a year for a promotional campaign. The table has 10 million rows. Which type of index should they create to optimize these queries?

A.Clustered index on CustomerID
B.Non-clustered index on LastLoginDate
C.Non-clustered index on FullName
D.Columnstore index on SignUpDate and LastLoginDate
AnswerB

A non-clustered index on LastLoginDate creates a separate B-tree structure ordered by that column, allowing SQL Server to perform an index seek directly for the date-range predicate. For a query such as WHERE LastLoginDate BETWEEN '2023-01-01' AND '2023-12-31', the engine navigates the index to the starting date and reads only the matching index entries, then uses bookmark lookups to fetch the full customer rows. This drastically reduces I/O compared to scanning every row in the table, making it the ideal choice for this filtering pattern.

Why this answer

A non-clustered index on LastLoginDate allows the query to quickly locate rows where LastLoginDate is older than one year without scanning the entire 10-million-row table. Azure SQL Database uses B-tree structures for non-clustered indexes, enabling efficient range scans and key lookups for the filtered rows. This directly supports the promotional campaign query pattern.

Exam trap

The trap here is that candidates often choose a clustered index on the primary key by default, failing to recognize that the query predicate (LastLoginDate) is not the clustering key, so the index cannot be used to efficiently filter the data.

Why the other options are wrong

A

A clustered index on CustomerID sorts the table by CustomerID, but the query filters on LastLoginDate. Without an index on LastLoginDate, the query must scan all 10 million rows, which is inefficient.

C

The query filters on LastLoginDate, not FullName. A non-clustered index on FullName would not help the query because it does not include the filter column, so the query would still require a full table scan.

D

A columnstore index is optimized for large-scale analytical queries (e.g., aggregations over many rows), not for point lookups or range scans on a single column like LastLoginDate. The query filters on a single date column, which is better served by a non-clustered index.

159
MCQmedium

A software company is migrating an on-premises SQL Server database to Azure SQL Database. The database currently uses SQL Server Agent jobs for regular maintenance tasks. The company wants to minimize code changes during migration. Which Azure SQL Database feature should they use to replace SQL Server Agent jobs?

A.Azure Functions
B.Azure Automation
C.Elastic Jobs
D.SQL Server Agent (available in Azure SQL Database)
AnswerC

Elastic Jobs allow scheduling T-SQL jobs across databases, similar to SQL Agent.

Why this answer

(Elastic Jobs) is the correct answer because Elastic Jobs in Azure SQL Database can replace SQL Server Agent jobs for scheduling maintenance tasks with minimal code changes. Option A (Azure Functions) is wrong because while it can run scripts, it is not a direct replacement and requires more development effort. Option B (Azure Automation) is wrong because it is more suited for Azure resource management rather than database job scheduling.

Option D is wrong because SQL Server Agent is not available in Azure SQL Database; it is only available in SQL Server on-premises or on Azure VMs.

160
MCQeasy

A company runs individual Azure SQL Databases for each of its departments. The databases experience varying usage patterns; sometimes one database is idle while another is heavily loaded. The company wants to pool resources to reduce cost while ensuring each database gets resources when needed. Which Azure feature should they use?

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

An elastic pool lets multiple Azure SQL databases share a common pool of eDTUs (or vCores), with each database assigned a minimum and maximum DTU limit. Databases that are idle automatically release resources for those under load, so the pool's total capacity can be far less than the sum of individual peak requirements. This makes it the most cost-efficient and operationally simple choice for a large number of databases with fluctuating usage, such as in a multi-tenant SaaS scenario.

Why this answer

Azure SQL Database elastic pools are designed to share resources (eDTUs or eVCores) across multiple databases with varying usage patterns. This allows idle databases to contribute their unused capacity to heavily loaded ones, reducing overall cost while ensuring each database gets resources when needed.

Exam trap

The trap here is that candidates might confuse elastic pools with single databases or managed instances, thinking that 'pooling' means using a single large instance rather than a shared resource model across multiple databases.

How to eliminate wrong answers

Option A is wrong because a single database with provisioned DTUs allocates fixed resources to one database, which cannot be shared across departments and would waste cost when idle. Option C is wrong because Azure SQL Managed Instance is a fully managed instance of SQL Server with fixed resources per instance, not designed for pooling resources across multiple databases with variable loads. Option D is wrong because SQL Server on Azure Virtual Machines requires manual management of resources and licensing, and does not offer built-in elastic pooling across databases.

161
MCQmedium

A healthcare organization uses Azure SQL Database to store patient records. To comply with HIPAA regulations, they need to encrypt sensitive columns (e.g., Social Security numbers) at rest and control access to the encryption keys. Which feature should they use?

A.Dynamic Data Masking
B.Row-Level Security
C.Always Encrypted
D.Transparent Data Encryption (TDE)
AnswerC

Always Encrypted is the only option here that provides true client-side encryption at the column level. The client driver encrypts data before sending it to Azure SQL Database, and the server never sees the plaintext value; decryption keys are held by the client application or Azure Key Vault, not by the database. This protects sensitive columns even from database administrators and system administrators, and it also encrypts data in transit, at rest, and during client operations. However, it introduces limitations on query operations, such as equality comparisons only for deterministic encryption.

Why this answer

Always Encrypted. Always Encrypted is a feature designed to protect sensitive data, such as Social Security numbers, by encrypting it at rest and in transit, with the encryption keys stored outside of Azure SQL Database, providing client-side key management. This satisfies the HIPAA requirement for encrypting sensitive columns and controlling access to keys.

Option A: Dynamic Data Masking obfuscates data from non-privileged users but does not encrypt the data; it can be reversed by privileged users.

Option B: Row-Level Security restricts access to rows based on user characteristics but does not encrypt columns.

Option D: Transparent Data Encryption (TDE) encrypts the entire database at rest but does not provide column-level encryption or client-side key control.

162
MCQeasy

A company is migrating a relational database to Azure SQL Database. They anticipate that the amount of stored data will grow significantly over time, but the compute requirements (CPU and memory) will remain relatively stable. Which purchasing model should they choose to allow independent scaling of storage and compute?

A.DTU-based purchasing model
B.vCore-based purchasing model
C.Serverless compute tier
D.Hyperscale service tier
AnswerB

The vCore-based purchasing model meters compute and storage separately, so you can scale database storage independently of the number of allocated vCores. For a migration, this means you can increase or decrease storage capacity without purchasing additional compute, giving granular cost control and flexibility that a bundled model cannot provide.

Why this answer

The vCore-based purchasing model separates compute and storage costs, allowing you to scale storage independently without changing compute resources. This matches the scenario where data grows but compute requirements remain stable, as you can increase storage capacity without upgrading CPU or memory.

Exam trap

The trap here is confusing purchasing models (DTU vs. vCore) with service tiers (Hyperscale) or compute options (Serverless), leading candidates to pick Hyperscale or Serverless when the question specifically asks for a purchasing model that allows independent scaling of storage and compute.

Why the other options are wrong

A

The DTU-based model bundles compute and storage into fixed tiers, so scaling storage requires scaling compute as well, which does not meet the requirement for independent scaling.

C

The serverless compute tier is designed for databases with intermittent, unpredictable usage patterns, not for scenarios where compute requirements remain stable. It does not allow independent scaling of storage and compute; compute scales automatically based on workload, but storage scaling is limited and not independent.

D

The Hyperscale service tier is designed for databases that require high scalability in storage and compute, but it does not allow independent scaling of storage and compute; instead, it provides a flexible architecture where compute nodes can be scaled independently, but storage is automatically managed and scales with compute. The question specifically asks for a model that allows independent scaling of storage and compute, which is a feature of the vCore-based model, not Hyperscale.

163
MCQhard

A company uses Azure SQL Database with active geo-replication for disaster recovery. During a regional outage, the secondary database is promoted. After the primary region recovers, what is the best practice to re-establish geo-replication?

A.Delete the old primary database and create a new geo-replication
B.Add the old primary as a secondary to the new primary
C.Reverse the geo-replication direction automatically
D.Perform a planned failover to make the old primary the primary again
AnswerD

Performing a planned failover correctly fails back to the original primary and re-establishes geo-replication.

Why this answer

Performing a planned failover properly fails back to the original primary and re-establishes geo-replication. Option A is wrong because deleting the old primary loses data and is unnecessary. Option B is wrong because while you can add the old primary as a secondary, it is not the best practice; a planned failover is preferred.

Option C is wrong because automatic reversal of geo-replication direction is not supported; you must manually reconfigure.

Exam trap

A common trap is thinking you can simply reconfigure geo-replication without any failover process. However, after an unplanned failover, the only way to restore the original primary as the primary is through a planned failover, not by deleting or manually reassigning roles.

164
Multi-Selecteasy

Which TWO are benefits of using Azure SQL Database elastic pools?

Select 2 answers
A.Predictable pricing for a group of databases
B.Resource sharing across multiple databases
C.Unlimited storage per database
D.Isolated performance for each database
E.Support for databases over 1 TB each
AnswersA, B

An Azure SQL Database elastic pool bills a single fixed price for a shared pool of eDTUs or vCores, regardless of how much each contained database consumes. This makes monthly costs predictable because you pay for the pool capacity, not per-database usage spikes.

Why this answer

Azure SQL Database elastic pools provide predictable pricing because you pay for a fixed set of resources (eDTUs or vCores) allocated to the pool, regardless of how many databases use them. This allows you to budget for a group of databases with variable usage patterns without incurring per-database costs, making it cost-effective for workloads with intermittent or unpredictable demand.

Exam trap

The trap here is that candidates often confuse elastic pools with single databases, assuming they provide unlimited storage or isolated performance, but the core benefit is cost-effective resource sharing across multiple databases with predictable pricing.

165
MCQhard

A company is migrating an on-premises SQL Server database to Azure SQL Managed Instance. The database has a large fact table that is partitioned by date (monthly partitions) to improve query performance and simplify data archiving. The company wants to maintain the same partitioning strategy in Azure to avoid rewriting queries. Which feature in Azure SQL Managed Instance should they use to achieve this?

A.Table partitioning with partition functions and schemes
B.Sharding across multiple Azure SQL Managed Instances
C.Index partitioning only
D.Federated tables
AnswerA

In Azure SQL Managed Instance, table partitioning is fully supported using the same T-SQL syntax as on-premises SQL Server: you create a partition function to map rows to partitions based on boundary values, then a partition scheme to assign those partitions to filegroups. When migrating, the restored database retains its partition metadata, so existing queries, partition switches, and partition-aligned indexes continue to work without redesign. This is the only option that preserves the original partition design rather than replacing it with a different architecture.

Why this answer

Azure SQL Managed Instance supports table partitioning using partition functions and partition schemes, which is the same feature available in SQL Server. This allows you to define monthly partitions on the fact table using a date column, preserving the existing partitioning strategy and query logic without modification. The partition function maps rows to partitions based on the date boundary values, and the partition scheme assigns those partitions to filegroups.

Exam trap

The trap here is that candidates confuse table partitioning with sharding or index partitioning, assuming any form of data distribution will work, but only table partitioning with partition functions and schemes preserves the exact same structure and query semantics in Azure SQL Managed Instance.

How to eliminate wrong answers

Option B is wrong because sharding distributes data across multiple databases or instances, which would require rewriting queries and does not maintain the same partitioning strategy within a single database. Option C is wrong because index partitioning only applies to indexes, not to the table itself, and cannot achieve the goal of partitioning the fact table by date for query performance and archiving. Option D is wrong because federated tables are a legacy feature in SQL Server (deprecated) and are not supported in Azure SQL Managed Instance; they involve distributed queries across remote servers, not native table partitioning.

166
MCQmedium

A company runs a mission-critical SQL Server database on-premises. They plan to migrate to Azure SQL Database and need to choose the appropriate service tier. The database is currently 500 GB and is expected to grow to 8 TB within two years. The workload is read-heavy with many concurrent users, and they require fast scaling of compute resources without significant downtime. Which Azure SQL Database service tier should they choose?

A.General Purpose
B.Business Critical
C.Hyperscale
D.Serverless
AnswerC

Hyperscale tier supports databases up to 100 TB, allows fast scaling of compute resources with minimal downtime, and is optimized for read-heavy workloads with high concurrency. It is the best fit for databases that exceed 4 TB and require rapid scaling.

Why this answer

Hyperscale is the correct choice because it supports databases up to 100 TB, far exceeding the expected 8 TB growth, and provides fast scaling of compute resources without downtime by using a distributed architecture with separate compute and storage nodes. Its read-heavy workload with many concurrent users benefits from Hyperscale's multiple readable replicas and buffer pool extension, ensuring high performance and availability.

Exam trap

The trap here is that candidates often confuse the 4 TB limit of General Purpose and Business Critical with the 100 TB limit of Hyperscale, or assume that Serverless is suitable for any workload that needs scaling, ignoring its auto-pausing behavior and lack of support for high concurrency and consistent performance.

How to eliminate wrong answers

Option A is wrong because General Purpose has a maximum database size of 4 TB, which cannot accommodate the expected growth to 8 TB, and its compute scaling requires downtime. Option B is wrong because Business Critical also has a 4 TB size limit and, while offering higher performance, does not support the required 8 TB growth or fast compute scaling without downtime. Option D is wrong because Serverless is designed for intermittent, unpredictable workloads with auto-pausing, not for a mission-critical, read-heavy, high-concurrency workload that requires consistent performance and fast scaling without downtime.

167
MCQhard

Your company uses Azure SQL Database to power a global application. You need to ensure that users in Europe and Asia have low-latency read access to product data, while writes are synchronized across all regions. What should you configure?

A.Use Azure Traffic Manager to route users to the nearest Azure SQL Database instance.
B.Migrate to Azure Cosmos DB for multi-region writes.
C.Create a failover group that includes all regions.
D.Configure Active Geo-Replication with readable secondaries in Europe and Asia.
AnswerD

Active Geo-Replication lets you create up to four readable secondary replicas of an Azure SQL Database in different regions, each asynchronously updated from the primary. By placing secondaries in Europe and Asia, you can route read-only connections to the nearest replica using a connection string with ApplicationIntent=ReadOnly, dramatically lowering read latency for local users. This preserves the relational engine, supports primary-region writes, and also yields incidental disaster recovery if the primary becomes unavailable, making it the precise fit for the global read scenario.

Why this answer

Active Geo-Replication for Azure SQL Database allows you to configure readable secondary replicas in different Azure regions. This provides low-latency read access for users in Europe and Asia by directing their read traffic to the nearest secondary, while writes are synchronized asynchronously to all secondaries, ensuring data consistency across regions.

Exam trap

The trap here is that candidates may confuse failover groups (which provide a single readable secondary for disaster recovery) with Active Geo-Replication (which supports multiple readable secondaries for distributed read scaling), or mistakenly think Traffic Manager alone can solve the read latency issue without database-level replication.

How to eliminate wrong answers

Option A is wrong because Azure Traffic Manager is a DNS-based traffic load balancer that routes users to endpoints, but it does not provide the underlying database replication or readable secondaries needed for low-latency reads and synchronized writes. Option B is wrong because migrating to Azure Cosmos DB is unnecessary; the requirement is for relational data (Azure SQL Database), and Cosmos DB is a NoSQL database, not a relational solution. Option C is wrong because a failover group is designed for high availability and disaster recovery, not for providing low-latency read access across multiple regions; it uses a single readable secondary and does not support multiple readable secondaries for distributed read workloads.

168
MCQeasy

You need to migrate an on-premises SQL Server database to Azure SQL Managed Instance with minimal downtime. Which tool should you use?

A.Azure Data Factory
B.SQL Server Integration Services (SSIS)
C.BACPAC export and import
D.Azure Database Migration Service (DMS)
AnswerD

DMS supports online migrations with minimal downtime.

Why this answer

The correct tool for migrating an on-premises SQL Server database to Azure SQL Managed Instance with minimal downtime is Azure Database Migration Service (DMS). DMS supports online migrations with minimal downtime. Option A (Azure Data Factory) is primarily for data integration and orchestration, not optimized for online database migrations.

Option B (SSIS) is an ETL tool, not designed for minimal downtime migration. Option C (BACPAC export/import) is an offline method that involves exporting the database to a .bacpac file and then importing, which requires downtime. Therefore, option D is correct.

169
MCQhard

A company needs to migrate 10 on-premises SQL Server databases (each 50–200 GB) to Azure. The databases frequently run cross-database queries using three-part names (e.g., DB1.dbo.table) and rely on SQL Server Agent for maintenance tasks. They want to minimize management overhead and share resources across databases to reduce costs. Which Azure SQL deployment option should they choose?

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

Azure SQL Managed Instance is the correct target for this migration because it supports cross-database queries using three-part naming, SQL Server Agent, and linked servers, just like on-prem SQL Server. It also allows multiple databases (10, ranging from 50–200 GB) to reside in a single instance, sharing resources efficiently while preserving existing database dependencies. As a fully managed PaaS service, it offers automatic patching, backups, and high availability, making it ideal for a lift-and-shift migration with minimal application changes.

Why this answer

Azure SQL Managed Instance is correct because it provides native support for cross-database queries using three-part names (e.g., DB1.dbo.table) and SQL Server Agent for maintenance tasks, which are critical requirements. It also offers a fully managed platform that minimizes management overhead while allowing resource sharing across databases within the instance, reducing costs compared to single databases or VMs.

Exam trap

The trap here is that candidates often choose Azure SQL Database elastic pool (Option A) because they think it supports cross-database queries and SQL Agent, but it actually lacks native three-part name support and SQL Agent, which are only available in Managed Instance.

Why the other options are wrong

A

Azure SQL Database elastic pool does not support cross-database queries using three-part names or SQL Server Agent, both of which are required by the company.

C

SQL Server on Azure VM requires manual management of OS, SQL Server, and backups, increasing overhead. It does not natively support cross-database queries with three-part names across separate VMs without linked servers, and sharing resources across databases is less efficient than a managed instance.

D

Azure SQL Database single database does not support cross-database queries using three-part names or SQL Server Agent, which are required by the company's workloads.

170
MCQmedium

A financial services company runs a single SQL Server database that is 6 TB in size and handles a high volume of concurrent transactions. The database needs to support near real-time analytics without impacting OLTP performance. The company wants to migrate to Azure SQL Database and requires fast scale-out for read workloads, as well as the ability to independently scale compute and storage. Which Azure SQL Database service tier should they choose?

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

Azure SQL Database Hyperscale is the only service tier that can store a 6 TB database, with a maximum data size of 100 TB, while also decoupling compute from storage so read-only replicas can be added independently. It supports up to four readable replicas, allowing the financial services company to offload reporting and analytics queries from the primary transactional workload without degrading performance. The tier also uses snapshot-based backups, making backup and restore near-instantaneous even at large scale.

Why this answer

Hyperscale is the correct choice because it is designed for databases up to 100 TB, supports high-volume concurrent transactions, and provides near real-time read scale-out via named replicas that offload read workloads without affecting OLTP performance. It also allows independent scaling of compute (vCores) and storage (auto-scaled), meeting the company's requirements for fast scale-out and decoupled resources.

Exam trap

The trap here is that candidates may confuse Business Critical's high availability features with read scale-out, but Business Critical does not provide dedicated read replicas for analytics workloads, and its storage is not independently scalable from compute.

Why the other options are wrong

A

Serverless is designed for intermittent, unpredictable workloads with auto-pausing and compute scaling, not for a 6 TB database with high concurrent transactions requiring near real-time analytics and fast read scale-out.

C

Business Critical provides high availability and performance with local SSD storage, but it does not support fast scale-out for read workloads via readable replicas with independent compute scaling, nor does it allow independent scaling of compute and storage like Hyperscale does.

D

General Purpose does not support fast scale-out for read workloads with readable replicas, and it cannot independently scale compute and storage to the degree needed for a 6 TB database with high concurrency and near real-time analytics.

171
MCQmedium

A company uses Azure SQL Database for an e-commerce system. The Orders table has millions of rows with a clustered index on OrderID (the primary key). Queries that filter on OrderDate and CustomerID to find recent orders for a specific customer are very slow. Which indexing strategy will most improve the performance of these queries?

A.Create a nonclustered index on OrderID only
B.Create separate nonclustered indexes on OrderDate and CustomerID
C.Create a nonclustered composite index on (OrderDate, CustomerID)
D.Create a clustered index on CustomerID instead of OrderID
AnswerC

A composite index on both columns allows the database to find rows matching both filter conditions in a single index seek. This is the most efficient strategy for queries that filter on multiple columns together.

Why this answer

The query filters on both OrderDate and CustomerID, so a composite nonclustered index on (OrderDate, CustomerID) allows SQL Server to perform a single index seek to locate the matching rows without touching the clustered index until the final key lookup. This dramatically reduces I/O compared to scanning the entire clustered index or using multiple separate indexes.

Exam trap

The trap here is that candidates often think separate indexes on each filter column are sufficient, not realizing that a composite index is far more efficient for queries that filter on multiple columns together, because it avoids the need for index intersection or multiple lookups.

How to eliminate wrong answers

Option A is wrong because creating a nonclustered index on OrderID only does not help filter on OrderDate or CustomerID; the query would still need to scan the clustered index. Option B is wrong because separate indexes on OrderDate and CustomerID would require SQL Server to choose one index for a seek and then filter the other column in a bookmark lookup, or perform an index intersection, both of which are less efficient than a single composite index that covers both filter columns. Option D is wrong because changing the clustered index to CustomerID would reorder the entire table by CustomerID, which could improve queries filtering by CustomerID alone but would not help the OrderDate filter and would disrupt the primary key's order, potentially harming other queries that rely on OrderID ordering.

172
MCQmedium

A company runs an e-commerce application backed by an on-premises SQL Server database. They plan to migrate to Azure SQL Database and require automatic failover across two Azure regions for disaster recovery. The application must continue to connect using the same connection string after a failover, with no code changes. Which feature should they implement?

A.Active Geo-Replication
B.Elastic pools
C.Failover groups
D.SQL Server on Azure Virtual Machine with Always On Availability Groups
AnswerC

Failover groups are the correct choice because they automatically replicate databases or elastic pools to a secondary region and provide an automatic failover mechanism that requires no application code changes. The group exposes a single readable/writable listener endpoint that remains identical after failover, so clients keep connecting to the same fully qualified domain name. You can also set a graceful data-loss boundary (RPO) and configure a read-only listener for offloading reporting traffic, making it a fully managed, PaaS-native DR solution.

Why this answer

Failover groups (Option C) enable automatic, geo-redundant failover across two Azure regions while providing a single read-write listener endpoint that remains unchanged after failover. This ensures the application can continue using the same connection string without any code modifications, meeting the stated requirement for disaster recovery with zero application changes.

Exam trap

The trap here is that candidates often confuse Active Geo-Replication with Failover groups, not realizing that only Failover groups provide a single, unchanged connection string endpoint for automatic failover, while Active Geo-Replication requires manual connection string updates.

Why the other options are wrong

A

Active Geo-Replication does not support automatic failover with the same connection string; it requires manual failover and connection string changes, whereas the question demands automatic failover with no code changes.

B

Elastic pools are used to manage and scale multiple databases with varying resource demands, not for disaster recovery or automatic failover with a single connection string.

D

SQL Server on Azure VM with Always On Availability Groups requires managing VMs and does not provide a single connection string that remains unchanged after failover without additional configuration like a listener, which is not the simple, managed solution the question requires.

173
MCQmedium

A company plans to migrate a 500 GB SQL Server database from on-premises to Azure SQL Database. They require minimal downtime during the migration. Which approach should they use?

A.Export a BACPAC file and import to Azure SQL Database
B.Use Azure Database Migration Service with online migration mode
C.Use Azure Site Recovery to replicate the database
D.Create a full database backup and restore to Azure SQL Database
AnswerB

Correct. Online migration via DMS synchronizes changes in near real-time, allowing the source to stay online until cutover, minimizing downtime.

Why this answer

Azure Database Migration Service (DMS) with online migration mode is the correct approach because it supports minimal-downtime migrations by continuously replicating ongoing changes from the source SQL Server to Azure SQL Database using the transactional replication technology. This allows the source database to remain operational during the migration, and only a brief cutover is needed at the end to switch applications to the target.

Exam trap

The trap here is that candidates often confuse offline backup/restore or BACPAC methods (which are simpler but cause downtime) with the online migration capability of DMS, assuming any Azure tool can achieve minimal downtime without understanding the underlying replication mechanism.

Why the other options are wrong

A

Exporting a BACPAC file requires the database to be online and can cause significant downtime due to data export and import times, especially for a 500 GB database. It does not support minimal downtime migration.

C

Azure Site Recovery is designed for disaster recovery and replication of entire VMs or physical servers, not for online migration of a single database with minimal downtime. It would replicate the entire server environment, which is overkill and not optimized for database migration.

D

Creating a full database backup and restoring to Azure SQL Database requires the source database to be offline or in read-only mode during the backup, causing significant downtime. This does not meet the minimal downtime requirement.

174
MCQmedium

A company uses Azure SQL Database for an HR system. The Employees table has a clustered index on EmployeeID. Queries frequently filter on DepartmentID and LastName and also retrieve the Salary column. The table contains over a million rows. Which index strategy will most improve query performance for these filters?

A.A: Create a nonclustered index on (DepartmentID, LastName) INCLUDE (Salary)
B.B: Create a nonclustered index on LastName only
C.C: Create a nonclustered index on DepartmentID and another nonclustered index on LastName
D.D: Change the clustered index to (DepartmentID, LastName)
AnswerA

A nonclustered index on (DepartmentID, LastName) INCLUDE (Salary) is a covering index specifically designed for this query: it contains every column needed in the WHERE, SELECT, and ORDER BY clauses within the index leaf level. Because the index is sorted by DepartmentID first and LastName second, the SQL Server query optimizer can perform an index seek for the specific department, then navigate to the exact last names, and retrieve Salary directly from the included column. This completely avoids the need for expensive key lookups into the clustered index, making it the most efficient access path for this workload.

Why this answer

It creates a covering nonclustered index on the filter columns (DepartmentID, LastName) and includes the Salary column as an included column. This allows the query to be fully satisfied by scanning only the nonclustered index pages, avoiding key lookups to the clustered index. The order of columns in the index key matches the query filter pattern, maximizing seek efficiency.

Exam trap

The trap here is that candidates often think separate single-column indexes are sufficient for multi-column filters, but they overlook the need for a covering composite index to avoid expensive key lookups or index intersection operations.

How to eliminate wrong answers

Option B is wrong because an index on LastName only does not help with filtering on DepartmentID, forcing a residual predicate or full scan of the clustered index for DepartmentID lookups. Option C is wrong because separate indexes on DepartmentID and LastName would require SQL Server to either use one index and then perform key lookups for the other filter, or use both with an expensive index intersection operation, neither of which is as efficient as a single composite index. Option D is wrong because changing the clustered index to (DepartmentID, LastName) would reorder the entire table physically, which could degrade performance for the existing EmployeeID-based lookups and other queries that rely on the current clustered key order.

175
MCQmedium

A company needs to store order data for an e-commerce platform. The system requires high concurrency, fast inserts, and the ability to enforce referential integrity between tables (e.g., Customers and Orders). Which Azure service should they use?

A.Azure SQL Database
B.Azure Cosmos DB
C.Azure Blob Storage
D.Azure Data Lake Storage Gen2
AnswerA

Azure SQL Database is a fully managed relational database service that enforces a fixed schema and guarantees ACID transactions. For e-commerce order data, this means foreign keys can maintain referential integrity between orders, customers, and line items, while row-level locking supports high concurrency without lost updates. Its built-in indexing and transaction logging make it the appropriate choice for transactional workloads where consistency is non-negotiable.

Why this answer

Azure SQL Database is a fully managed relational database service that supports high concurrency, fast inserts, and enforces referential integrity through foreign key constraints. It provides ACID transactions and row-level locking to handle concurrent writes efficiently, making it ideal for e-commerce order processing where data consistency between Customers and Orders tables is critical.

Exam trap

The trap here is that candidates confuse high concurrency and fast inserts with NoSQL solutions like Cosmos DB, overlooking the explicit requirement for referential integrity which only a relational database like Azure SQL Database can enforce.

How to eliminate wrong answers

Option B is wrong because Azure Cosmos DB is a NoSQL database that does not enforce referential integrity between tables (it uses flexible schemas and lacks foreign key constraints). Option C is wrong because Azure Blob Storage is an object storage service for unstructured data (e.g., images, backups) and cannot enforce relational integrity or support SQL joins. Option D is wrong because Azure Data Lake Storage Gen2 is a hierarchical file system for big data analytics, not a transactional database, and it lacks support for referential integrity and high-concurrency row-level inserts.

176
MCQeasy

You are designing a solution to store relational data that requires support for graph relationships and JSON queries. Which Azure service should you choose?

A.Azure Cosmos DB
B.Azure Table Storage
C.Azure SQL Database
D.Azure Database for PostgreSQL
AnswerC

Azure SQL Database is a fully managed relational database engine built on SQL Server, offering T-SQL, enforced schemas, relationships via primary and foreign keys, and rich querying with joins. It also includes built-in graph table features (node and edge tables) that allow you to model many-to-many relationships, and JSON query support for semi-structured data. This makes it the most appropriate service when you need a relational store that can also handle graph-style relationships and flexible data formats.

Why this answer

Azure SQL Database is the correct choice because it natively supports graph relationships through graph tables (NODE and EDGE tables) and JSON queries via built-in JSON functions like JSON_VALUE, JSON_QUERY, and OPENJSON. This makes it ideal for storing relational data that also needs to handle graph traversals and semi-structured JSON data without requiring a separate service.

Exam trap

The trap here is that candidates often assume graph and JSON support require a NoSQL database like Cosmos DB, but Azure SQL Database provides both features within a relational model, which is the key distinction tested in DP-900.

How to eliminate wrong answers

Option A is wrong because Azure Cosmos DB is a NoSQL database that, while supporting graph APIs (Gremlin) and JSON natively, is not designed for strict relational data with ACID transactions across multiple tables. Option B is wrong because Azure Table Storage is a key-value store that lacks support for relational schemas, graph relationships, and JSON query capabilities. Option D is wrong because Azure Database for PostgreSQL, while supporting JSONB and graph extensions like Apache AGE, is not the primary Azure service for relational data with built-in graph and JSON support; Azure SQL Database offers tighter integration with Azure ecosystem features like elastic pools and built-in graph tables.

177
MCQhard

A company is migrating an on-premises SQL Server database to Azure. The database is 800 GB, uses SQL Server Agent jobs for scheduled tasks, and needs to link to another on-premises SQL Server instance via linked servers. The company wants a fully managed service with minimal application changes. Which Azure SQL service should they choose?

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

Azure SQL Managed Instance is the correct choice because it provides near-100% compatibility with on-premises SQL Server, including SQL Server Agent, linked servers, and other instance-scoped features, all in a fully managed platform. It supports lift-and-shift migrations without rearchitecting applications, and its built-in high availability and patching make it ideal for production workloads that rely on these advanced capabilities.

Why this answer

Azure SQL Managed Instance is correct 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 platform-as-a-service (PaaS) offering. This allows the company to migrate the 800 GB database with minimal application changes, as it preserves the existing instance-level features without requiring a rearchitecture.

Exam trap

The trap here is that candidates often confuse Azure SQL Database (single or elastic pool) with Azure SQL Managed Instance, assuming all PaaS offerings support SQL Server Agent and linked servers, when in fact only Managed Instance provides these instance-scoped features.

Why the other options are wrong

A

Azure SQL Database (elastic pool or single) does not support SQL Server Agent jobs or linked servers, which are required by the question.

B

Azure SQL Database single database does not support SQL Server Agent jobs or linked servers, which are required by the question's scenario.

D

Azure Synapse Analytics dedicated SQL pool is a massively parallel processing (MPP) data warehouse designed for large-scale analytics, not for OLTP workloads. It does not support SQL Server Agent jobs, linked servers, or minimal application changes for migrating an 800 GB SQL Server database.

178
MCQmedium

A company uses Azure SQL Database for an order management system. The Orders table has millions of rows with columns: OrderID (primary key, clustered), CustomerID, OrderDate, Status (e.g., 'Shipped', 'Pending'), TotalAmount. Queries frequently filter on OrderDate and Status, and sort results by OrderDate in descending order. They return several columns including TotalAmount. Which indexing strategy will most improve query performance?

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

Correct. This index matches the filter columns in the correct order and includes the ORDER BY direction. Included columns cover additional columns needed, making it a covering index for many queries.

Why this answer

It creates a covering nonclustered index that matches the query's filter and sort order exactly. The index on (OrderDate DESC, Status) allows SQL Server to seek directly on OrderDate and Status, and the descending order avoids a sort operation for the ORDER BY OrderDate DESC clause. Including CustomerID and TotalAmount as included columns makes this a covering index, so the query can be satisfied entirely from the index without key lookups to the clustered index, which is critical for performance on a table with millions of rows.

Exam trap

The trap here is that candidates often think a clustered index on the filter columns is always best, but they forget that the clustered index already exists on OrderID and that a covering nonclustered index with included columns is more efficient for specific query patterns without disrupting the existing table structure.

How to eliminate wrong answers

Option B is wrong because a clustered index defines the physical order of the table, and changing it to (OrderDate, Status) would require rebuilding the entire table, potentially causing fragmentation and performance degradation for other queries that rely on the OrderID primary key. Additionally, a clustered index on (OrderDate, Status) would not be as efficient for the specific filter and sort pattern because it does not include the descending order and would still require a sort operation. Option C is wrong because a nonclustered index on (Status) only would allow seeking on Status, but it would not help with the OrderDate filter or the ORDER BY OrderDate DESC clause, leading to residual predicate filtering and a sort operation, and it would not cover the query, requiring expensive key lookups for the other columns.

Option D is wrong because a columnstore index is designed for large-scale analytical queries and data warehousing workloads, not for high-frequency transactional queries that filter and sort on specific columns; it would introduce overhead for point lookups and small-range scans, and the query pattern described is OLTP, not analytical.

179
MCQmedium

A retail company uses Azure SQL Database to store a large fact table of sales transactions with millions of rows. They run complex aggregate queries (SUM, COUNT, AVG) across many rows for monthly reports. These queries take too long. Which index type should they add to the table to improve performance?

A.Clustered B-tree index
B.Nonclustered rowstore index
C.Clustered columnstore index
D.Nonclustered columnstore index
AnswerC

As the table's primary storage structure, a clustered columnstore index organizes data column-wise, so an aggregation query reads only the needed column segments. This design delivers high compression and batch-mode processing, which drastically reduces I/O and CPU for full-table scans and GROUP BY operations on large fact tables. It is the default recommended indexing strategy for analytical and data warehousing workloads in Azure SQL Database.

Why this answer

Clustered columnstore indexes are optimized for large fact tables and analytical workloads because they store data in a columnar format, which significantly reduces the amount of data read from disk for aggregate queries like SUM, COUNT, and AVG. This index type also uses batch processing and compression to accelerate query performance on millions of rows, making it ideal for monthly reporting queries.

Exam trap

The trap here is that candidates often confuse nonclustered columnstore indexes with clustered columnstore indexes, assuming any columnstore index will suffice, but only the clustered version is designed for large fact tables with heavy aggregation workloads and avoids the overhead of maintaining a separate rowstore index.

Why the other options are wrong

A

A clustered B-tree index organizes data in sorted order, which is efficient for point lookups and range scans but not for large aggregations on many rows. For complex aggregate queries scanning millions of rows, a columnstore index provides much better compression and batch processing, reducing I/O and CPU time.

B

For complex aggregate queries on a large fact table, a nonclustered rowstore index does not provide the columnar storage and batch processing that columnstore indexes offer, so it will not significantly improve performance for SUM, COUNT, AVG across millions of rows.

D

For complex aggregate queries over millions of rows, a clustered columnstore index is optimal. A nonclustered columnstore index would require the base table to have a clustered index, adding overhead, and may not be as efficient for full-table scans needed for aggregates.

180
MCQhard

A company uses Azure SQL Database with geo-replication for disaster recovery. During a regional outage, they manually failover to the secondary region. After the primary region is restored, they need to re-establish geo-replication with minimal downtime. What should they do?

A.Initiate a planned failover to switch back to the original region
B.Drop the secondary database and create a new one
C.Delete the geo-replication link and create a new one
D.Manually swap the roles of the primary and secondary
AnswerA

A planned failover is the only supported way to reverse geo-replication roles without data loss. It synchronizes the secondary to the primary's latest committed transaction, then promotes the secondary to primary, and automatically re-establishes the replication link in the opposite direction. This is the correct failback procedure when the original region is healthy, because it preserves transactional consistency and avoids re-seeding.

Why this answer

After a manual failover to the secondary region, the original primary becomes a secondary database. To re-establish geo-replication with minimal downtime, you should initiate a planned failover (also called a graceful failover) to switch back to the original region. This operation reverses the roles without data loss and avoids the need to reseed the database, keeping downtime to seconds.

Exam trap

The trap here is that candidates confuse the initial failover (which may be forced) with the recovery process, assuming they must recreate the geo-replication link or drop the database, when in fact a planned failover cleanly reverses the roles with minimal downtime.

How to eliminate wrong answers

Option B is wrong because dropping the secondary database and creating a new one would require a full data reseed, causing significant downtime and data transfer. Option C is wrong because deleting the geo-replication link and creating a new one would also force a full reseed, which is unnecessary and introduces longer downtime. Option D is wrong because manually swapping roles is not a supported operation; Azure SQL Database uses the ALTER DATABASE ...

FAILOVER command to perform a controlled role swap, not a manual process.

181
MCQeasy

You are creating an Azure SQL Database and need to connect using Microsoft Entra ID authentication. Which user type must you create in the database to represent the authenticated Microsoft Entra ID identity?

A.SQL login with password
B.Contained database user mapped to a Microsoft Entra ID identity
C.External user from Microsoft Entra ID
D.Database user without login
AnswerB

A contained database user mapped to a Microsoft Entra ID identity is created with CREATE USER [user] FROM EXTERNAL PROVIDER. This provisions a database-level principal that is directly tied to a user or group in Microsoft Entra ID, enabling authentication with an Entra ID access token. This is the required approach for using Microsoft Entra ID authentication with Azure SQL Database.

Why this answer

To authenticate using Microsoft Entra ID in Azure SQL Database, you must create a contained database user that is mapped to a Microsoft Entra ID identity. This user does not have a login in the master database but is authenticated via Entra ID. Option A is incorrect because SQL logins use SQL Server authentication, not Entra ID.

Option C is incorrect because there is no concept of an 'external user' in this context; the correct term is a contained database user mapped to an Entra ID identity. Option D is incorrect because a database user without login is typically used for SQL authentication or users without a login, not for Entra ID authentication.

182
MCQhard

A company uses Azure Synapse Analytics dedicated SQL pool to store a large fact table with billions of rows. The table is distributed using hash distribution on the SaleDate column. Queries that join this fact table with a small dimension table (Product) on ProductID are slow because the join requires shuffling data across distributions. Which design change would most improve the performance of these join queries?

A.Change the distribution of the fact table to round-robin.
B.Replicate the Product dimension table to all distributions.
C.Partition the fact table by SaleDate.
D.Create a nonclustered index on ProductID in the fact table.
AnswerB

Replication stores a full copy of the Product dimension table on every distribution in the dedicated SQL pool. When the fact table joins Product on ProductID, each distribution can perform the join locally using its own copy, eliminating all data movement and shuffle across distributions. This is the recommended approach for small-to-medium dimension tables in a star schema and directly resolves the join performance problem described.

Why this answer

Replicating the Product dimension table to all distributions eliminates the need to shuffle data across distributions during the join. In Azure Synapse dedicated SQL pool, hash distribution distributes rows across 60 distributions based on the hash of the distribution column (SaleDate). When joining on ProductID, which is not the distribution column, data must be moved between distributions.

Replicating the small dimension table ensures each distribution has a local copy, allowing the join to be performed without data movement, significantly improving performance.

Exam trap

The trap here is that candidates often confuse partitioning with distribution, thinking partitioning on SaleDate will help the join on ProductID, but partitioning only segments data within a distribution and does not reduce cross-distribution data movement for joins on a different column.

How to eliminate wrong answers

Option A is wrong because changing the distribution to round-robin would distribute data evenly but without any hash alignment, causing even more data movement for all joins, not just this one. Option C is wrong because partitioning by SaleDate organizes data within each distribution but does not reduce data shuffling across distributions for joins on ProductID; partitioning is primarily for partition elimination and maintenance operations. Option D is wrong because a nonclustered index on ProductID within each distribution can speed up local lookups but does not address the cross-distribution data movement required when the join key does not match the distribution key.

183
MCQmedium

A company plans to migrate an on-premises SQL Server database to Azure. The database uses SQL Server Agent jobs for scheduled maintenance and relies on linked servers to query data from another SQL Server instance. It also performs cross-database queries within the same instance. The company wants a fully managed PaaS service that requires minimal application changes and provides automated backups and patching. Which Azure SQL service should they choose?

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

Azure SQL Managed Instance is the correct PaaS choice because it provides near-complete compatibility with on-premises SQL Server, including SQL Server Agent jobs, linked servers, Service Broker, and cross-database queries. These instance-scoped features are preserved while Azure automatically handles patching, backups, and high availability, making it a fully managed lift-and-shift target 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, linked servers, and cross-database queries within the same instance. It is a fully managed PaaS service that offers automated backups and patching, minimizing application changes during migration.

Exam trap

The trap here is that candidates often confuse Azure SQL Database's limited feature set with the full SQL Server engine compatibility of Azure SQL Managed Instance, assuming all PaaS offerings support agent jobs and linked servers when only Managed Instance does.

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

C

SQL Server on Azure VMs is an IaaS solution requiring manual patching, backups, and management of the OS and SQL Server, contradicting the requirement for a fully managed PaaS service with automated backups and patching.

D

Azure SQL Database elastic pool does not support SQL Server Agent jobs, linked servers, or cross-database queries within the same instance, which are required by the company's existing database.

184
MCQeasy

A company needs to create a relational database in Azure that is compatible with existing SQL Server applications and provides built-in high availability without requiring configuration. Which service should they choose?

A.SQL Server on Azure Virtual Machines
B.Azure Database for MariaDB
C.Azure Cosmos DB
D.Azure SQL Database
AnswerD

Azure SQL Database is a PaaS offering that is built on the SQL Server engine, so it is directly compatible with SQL Server features like T-SQL, stored procedures, and transparent data encryption. It provides built-in high availability with a 99.99% SLA, automated backups, patching, and monitoring, removing the need for manual infrastructure management. This matches the requirement for a relational database in Azure that is both managed and SQL Server-compatible.

Why this answer

Azure SQL Database is a fully managed Platform-as-a-Service (PaaS) relational database that is built on the latest stable version of the Microsoft SQL Server engine, ensuring compatibility with existing SQL Server applications. It provides built-in high availability with a 99.99% SLA through automatic failover groups and zone-redundant configurations, requiring no manual setup or configuration from the user.

Exam trap

The trap here is that candidates often confuse IaaS (SQL Server on VMs) with PaaS (Azure SQL Database) and assume both require manual HA setup, or they mistakenly think MariaDB or Cosmos DB can be used as drop-in replacements for SQL Server applications.

How to eliminate wrong answers

Option A is wrong because SQL Server on Azure Virtual Machines is an Infrastructure-as-a-Service (IaaS) offering that requires manual configuration of SQL Server Always On Availability Groups or failover clustering to achieve high availability, not built-in. Option B is wrong because Azure Database for MariaDB is a fork of MySQL and is not compatible with SQL Server applications, which rely on T-SQL and SQL Server-specific features. Option C is wrong because Azure Cosmos DB is a NoSQL multi-model database service that does not support the relational model or T-SQL, making it incompatible with existing SQL Server applications.

185
MCQeasy

A startup wants to build a new web application with a relational database. They expect variable traffic and want to minimize costs by paying only for the compute resources they use. Which Azure SQL Database deployment option should they choose?

A.Provisioned compute tier
B.Elastic pool
C.SQL Server on Azure Virtual Machines
D.Serverless compute tier
AnswerD

In the serverless compute tier of Azure SQL Database, compute capacity automatically scales between a configurable minimum and maximum vCore range and can pause the database entirely after a user-defined period of inactivity. While running, billing is per second for the vCores actually consumed, and while paused no compute charges accrue, although storage and backups continue to incur cost. That makes it the best choice for startup traffic patterns, because an idle database can stop incurring compute costs and resume automatically when a request arrives.

Why this answer

The Serverless compute tier for Azure SQL Database automatically pauses the database during periods of inactivity and resumes it when traffic returns, charging only for the compute resources consumed. This makes it ideal for a startup with variable traffic that wants to minimize costs by paying only for what they use.

Exam trap

The trap here is that candidates often confuse the Serverless compute tier with the Provisioned tier or Elastic pools, mistakenly thinking that Elastic pools offer the same pay-per-use model, when in fact only the Serverless tier provides automatic pausing and billing strictly for compute consumed.

How to eliminate wrong answers

Option A is wrong because the Provisioned compute tier allocates a fixed amount of compute resources (DTUs or vCores) that are billed continuously, regardless of actual usage, which does not minimize costs for variable traffic. Option B is wrong because Elastic pools are designed to share resources among multiple databases with predictable, aggregated usage patterns, not for a single database with highly variable traffic, and they still incur baseline compute costs. Option C is wrong because SQL Server on Azure Virtual Machines requires paying for the underlying VM compute resources 24/7, even when the database is idle, and involves additional management overhead, making it more expensive and less cost-efficient for variable workloads.

186
MCQmedium

A university's enrollment system stores data in a single table with columns: EnrollmentID, StudentID, StudentName, CourseID, CourseName, and Grade. Students can take multiple courses, and each course has multiple students. The team notices data redundancy: StudentName is repeated for each enrollment of the same student, and CourseName is repeated for each enrollment in the same course. They want to reduce redundancy while preserving the ability to query all enrollments with student and course details. What is the most appropriate design approach?

A.Keep the single table but use compression to reduce storage
B.Create a view that mirrors the single table but physically store data in separate normalized tables
C.Normalize the schema by creating separate Students, Courses, and Enrollments tables with foreign keys
D.Denormalize by adding more columns to the single table
AnswerC

Normalization decomposes the unnormalized enrollment table into Student, Course, and Enrollment relations, moving StudentName into Students and CourseName into Courses so each value is stored only once. The Enrollments table then holds only foreign keys (StudentID, CourseID) plus enrollment-specific attributes, eliminating the partial dependencies on composite keys and the transitive dependency of CourseName on CourseID. This design enforces referential integrity via foreign key constraints, preventing orphaned records and reducing update anomalies to a single-row change.

Why this answer

Normalizing the schema into separate Students, Courses, and Enrollments tables eliminates data redundancy by storing each student's name and each course's name only once, while using foreign keys to maintain relationships. This preserves the ability to query all enrollments with student and course details via JOIN operations, which is the standard relational database design principle for reducing anomalies and storage overhead.

Exam trap

The trap here is that candidates confuse views with physical schema changes, thinking a view can magically eliminate redundancy without altering table structure, or they mistakenly believe compression is a substitute for proper normalization.

How to eliminate wrong answers

Option A is wrong because compression reduces storage size but does not eliminate logical data redundancy; repeated StudentName and CourseName values remain, leading to update anomalies and inconsistency risks. Option B is wrong because a view is a virtual table that does not physically store data; creating a view over a single table does not reduce redundancy, and physically storing data in separate normalized tables would require changing the underlying schema, not just adding a view. Option D is wrong because denormalization adds more columns, which increases redundancy and storage waste, contradicting the goal of reducing redundancy.

187
MCQhard

An e-commerce application uses Azure SQL Database. During flash sales, the database experiences high CPU usage and query timeouts. The team needs a solution that can handle sudden increases in demand without downtime. Which scaling option should they choose?

A.Read scale-out
B.Hyperscale service tier
C.Elastic Pool
D.Geo-replication
AnswerB

The Hyperscale service tier is built on a distributed architecture with separate compute nodes and page servers, allowing compute to be scaled up to 100 vCores in seconds with no downtime. Because e-commerce demand spikes are often sudden and unpredictable, Hyperscale lets you add compute power—and optionally additional read replicas—dynamically without re-provisioning storage, making it the only listed option that directly and rapidly increases write-transaction capacity.

Why this answer

The Hyperscale service tier is designed for high-performance, rapidly growing workloads that require instant scalability. It separates compute from storage, allowing compute nodes to be added or scaled up in seconds without downtime, making it ideal for handling sudden spikes in demand like flash sales.

Exam trap

The trap here is confusing 'scaling for demand spikes' with 'scaling for read-heavy workloads' or 'managing multiple databases,' leading candidates to incorrectly choose Read scale-out or Elastic Pool instead of the compute-scalable Hyperscale tier.

How to eliminate wrong answers

Option A is wrong because Read scale-out is a feature for offloading read-only queries to a replica, not for handling high CPU usage or write-heavy transactional spikes. Option C is wrong because Elastic Pools are designed for managing multiple databases with varying, predictable usage patterns, not for a single database experiencing sudden, extreme spikes. Option D is wrong because Geo-replication provides disaster recovery and read-scale capabilities, but does not directly address compute scaling or CPU bottlenecks during a demand surge.

188
MCQmedium

An e-commerce company uses Azure SQL Database for its product catalog. During promotional events, the database experiences unpredictable spikes in traffic. The company wants a solution that automatically adjusts compute resources based on demand without manual intervention. Which Azure SQL Database option should they use?

A.A) Read replicas
B.B) Active geo-replication
C.C) Serverless compute tier
D.D) Elastic pool
AnswerC

The serverless compute tier for Azure SQL Database is engineered precisely for unpredictable workloads: it automatically scales the compute resources between a configured minimum and maximum vCores based on actual demand, and it can pause the database entirely during prolonged inactivity while continuing to store data. This tier bills per-second for the compute actually used, so a sudden surge in write or read activity triggers immediate scale-up without manual intervention, then scales back down when demand subsides. This is the only listed option that directly provides automatic, demand-driven compute scaling for the primary workload.

Why this answer

The Serverless compute tier for Azure SQL Database automatically scales compute resources based on workload demand and pauses the database during idle periods, charging only for storage and used compute. This matches the requirement for handling unpredictable traffic spikes without manual intervention, as it provides instant scaling and cost efficiency for intermittent workloads.

Exam trap

The trap here is that candidates confuse the Serverless compute tier with elastic pools, assuming both handle scaling, but elastic pools scale resources across multiple databases, not automatically for a single database's unpredictable spikes.

How to eliminate wrong answers

Option A is wrong because read replicas are designed to offload read-only queries for reporting or analytics, not to automatically scale compute resources for write-heavy or unpredictable transactional spikes. Option B is wrong because active geo-replication provides disaster recovery and read-scale capabilities by maintaining synchronized replicas in different regions, but it does not dynamically adjust compute resources based on demand. Option D is wrong because elastic pools are used to share resources among multiple databases with predictable, aggregated usage patterns, not to automatically scale a single database's compute in response to unpredictable spikes.

← PreviousPage 3 of 3 · 188 questions total

Ready to test yourself?

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