Courseiva

Microsoft Azure Database Administrator Associate DP-300 (DP-300) — Questions 76–150

574 questions total · 8pages · All types, answers revealed

Page 1

Page 2 of 8

Page 3
76
MCQeasy

You have an Azure SQL Database that uses the General Purpose service tier. The database is 200 GB and is used by a web application. The application experiences occasional unplanned failovers due to hardware failures in the primary region. You need to ensure that the database remains available during a single datacenter failure within the region without any application changes. What should you do?

A.Change the service tier to Business Critical.
B.Configure active geo-replication with a secondary database in the same region.
C.Enable zone redundancy for the database.
D.Configure an auto-failover group with a secondary database in a different region.
AnswerC

Zone redundancy for Azure SQL Database General Purpose tier spreads the storage and compute replicas across multiple availability zones within the same region. This provides high availability if a single datacenter (availability zone) fails, and the failover is automatic without application changes. It meets the requirement of surviving a datacenter failure within the region while keeping the application connection string unchanged.

Why this answer

Zone redundancy is the feature that provides high availability within a single region by spreading replicas across availability zones. It is available for both General Purpose and Business Critical service tiers. Enabling zone redundancy on the existing General Purpose database meets the requirement of surviving a datacenter failure without application changes and is cost-effective.

Auto-failover groups and active geo-replication are for cross-region disaster recovery, and Business Critical is an unnecessary upgrade.

Exam trap

The trap here is confusing zone redundancy (local high availability) with geo-replication or failover groups (cross-region disaster recovery).

77
MCQmedium

You manage an Azure SQL Database named SalesDB in the East US region. The database is in the General Purpose service tier and is business-critical. The application that uses SalesDB requires a recovery point objective (RPO) of 5 minutes and a recovery time objective (RTO) of 1 hour in the event of a regional outage. You need to configure a disaster recovery solution that meets these requirements with minimal administrative effort. What should you implement?

A.Create an auto-failover group that includes SalesDB and a secondary server in West US.
B.Enable zone redundancy for SalesDB and rely on the built-in high availability.
C.Configure active geo-replication with a readable secondary in West US.
D.Configure a long-term retention policy and restore the database to a new server in West US during an outage.
AnswerA

Auto-failover groups provide automatic failover for one or more databases, with an RPO of about 5 seconds and an RTO of about 1 hour. They also allow read-write and read-only listener endpoints, simplifying connection management. This meets the RPO and RTO requirements with minimal administrative effort because failover is automatic and configured at the group level.

Why this answer

An auto-failover group is the correct solution because it provides automatic failover for a group of databases, achieving an RPO of about 5 seconds and an RTO of about 1 hour. It also offers listener endpoints that remain constant, reducing application changes. Active geo-replication lacks automatic failover, zone redundancy only covers single-zone failures, and long-term retention restores are too slow and have a higher RPO.

Exam trap

The trap here is assuming that active geo-replication provides automatic failover; it does not, and failover must be initiated manually, which can violate the RTO.

78
MCQmedium

You have an Azure SQL Managed Instance in the East US region. To meet a 1-hour RPO and 2-hour RTO, you configure a failover group with a secondary in West US using automatic failover. During a test, you notice that the RTO is consistently 10 minutes longer than required. What is the most likely cause?

A.The failover group uses Microsoft Entra ID authentication, which adds latency.
B.The secondary database is configured with asynchronous commit, causing delay.
C.The failover group has a grace period of 20 minutes configured.
D.The secondary database is not seeded and needs to be restored.
AnswerC

Correct: The grace period adds to RTO.

Why this answer

The failover group's automatic failover includes a grace period (default 20 minutes) that delays the actual failover after detecting unavailability. This grace period directly contributes to the RTO, explaining the 10-minute exceedance of the required 2-hour RTO. Option A is incorrect because Microsoft Entra ID authentication does not add noticeable latency to the failover process; authentication occurs independently of replication and failover.

Option B is incorrect because asynchronous commit is the standard replication mode for failover groups and does not inherently cause additional delay beyond the grace period; the issue is not the commit mode but the waiting period before failover. Option D is incorrect because the secondary database is automatically seeded when the failover group is created; no manual restore is needed.

79
MCQeasy

Your company has an Azure SQL Database that uses the Business Critical service tier with three replicas. You need to ensure that during a regional outage, the database can be failed over to a secondary region with minimal data loss. What should you configure?

A.Configure zone-redundant replicas in the same region.
B.Create an auto-failover group with a secondary server in a different region.
C.Enable read scale-out on the database.
D.Use geo-redundant backup storage and perform geo-restore.
AnswerB

Auto-failover groups replicate the Business Critical database to a secondary server in another region and permit promotion during a regional outage. This satisfies the minimal-data-loss constraint, since replication is continuous and failover preserves committed transactions.

Why this answer

An auto-failover group in Azure SQL Database lets you group databases on a primary server and configure a secondary server in a different Azure region, with automatic or manual failover and read-write listener endpoints. It provides cross-region disaster recovery with minimal data loss (RPO typically seconds) and is the correct configuration for regional outage failover.

Exam trap

DP-300 often tests the difference between zone redundancy (same-region HA), read scale-out (performance), and auto-failover groups (cross-region DR), so candidates who see 'replicas' and pick zone-redundant replicas miss that the question specifies a regional outage.

How to eliminate wrong answers

Option A is wrong because zone-redundant replicas protect against a single datacentre/zone failure within the same region, not a full regional outage — if the region goes down, zone redundancy does not help. Option C is wrong because read scale-out uses the built-in read-only replicas (including in Business Critical) to offload read workloads; it is a performance feature, not a cross-region DR mechanism. Option D is wrong because geo-redundant backup storage plus geo-restore is a backup-based recovery method with much higher RPO (up to hours) and RTO (hours), not a minimal-data-loss failover solution.

80
MCQhard

You are a database administrator for an Azure SQL Managed Instance that hosts a critical OLTP database. You notice that the instance is experiencing high PAGELATCH_EX waits on tempdb allocation pages. You need to reduce this contention without changing the service tier. What should you do?

A.Configure Resource Governor to limit tempdb usage.
B.Enable Accelerated Database Recovery (ADR) on the instance.
C.Move the tempdb files to a faster storage tier.
D.Add more tempdb data files.
AnswerD

PAGELATCH_EX waits on tempdb allocation pages (such as PFS, GAM, SGAM) occur when many concurrent sessions allocate space in tempdb. Adding more tempdb data files distributes the allocation load across multiple files, reducing contention on allocation pages. This is a standard remedy for tempdb allocation bottlenecks. Since the service tier cannot change, adding files is the appropriate action to alleviate the contention without scaling up.

Why this answer

PAGELATCH_EX waits on tempdb allocation pages are caused by multiple concurrent sessions trying to allocate space on the same pages. Adding more tempdb data files spreads the allocation across multiple files, reducing contention. This is a well-known tuning technique for tempdb.

Other options do not address the root cause: ADR affects recovery, Resource Governor limits resources, and faster storage addresses I/O waits, not latch contention. Therefore, adding more tempdb data files is the correct solution.

Exam trap

The trap here is thinking that faster storage or Resource Governor will fix latch contention, when the issue is concurrent allocation on the same pages.

81
MCQmedium

You are configuring an Azure SQL Database elastic pool for a SaaS application. The pool will host 50 databases with varying workloads. You need to minimize cost while ensuring performance meets baseline requirements. Which tier and configuration should you choose?

A.Hyperscale tier with 4 vCores
B.Provisioned tier with General Purpose and 2 vCores
C.Serverless tier with General Purpose and auto-pause enabled
D.DTU-based elastic pool with 200 DTUs
AnswerD

A DTU-based elastic pool with 200 DTUs (eDTUs) is the correct choice because it gives 50 small-to-medium databases a shared pool of compute and storage resources, letting them absorb bursts by using spare capacity from quiet databases. The DTU purchasing model bundles compute, storage, and backup into a simple, cost-effective unit; 200 DTUs typically sustains around 200 MB/s of I/O and enough CPU/GPU resources (approximately 4 vCore-equivalent) for variable workloads. Because you pay only for the pool's aggregate DTUs, not per-database DTUs, this is the most economical way to serve 50 databases with fluctuating demand.

Why this answer

A DTU-based elastic pool offers a cost-effective solution for hosting 50 databases with varying workloads. DTU pools provide a shared resource model (eDTUs) that automatically balances capacity across databases, minimizing cost while meeting baseline performance requirements. Serverless tier (Option C) is not supported for elastic pools, making it invalid.

Hyperscale (Option A) is designed for large, highly scalable databases and is overkill and costly. Provisioned vCore-based pool (Option B) with 2 vCores may be insufficient for 50 databases and is generally more expensive than DTU-based pools for variable workloads.

Exam trap

The key trap is that many candidates assume Serverless tier is available for elastic pools, but it is only available for single databases. For elastic pools, DTU-based or vCore-based (Provisioned) tiers are the options, and DTU-based is often more cost-effective for mixed workloads.

How to eliminate wrong answers

Option A is wrong because the Hyperscale tier is designed for very large databases (up to 100 TB) with high throughput and rapid scaling, which is over-provisioned and unnecessarily expensive for 50 databases with varying workloads that only need baseline performance. Option B is wrong because the Provisioned tier with General Purpose and 2 vCores incurs continuous compute charges even when databases are idle, leading to higher costs compared to serverless for intermittent or variable workloads. Option D is wrong because a DTU-based elastic pool with 200 DTUs uses a fixed resource model that cannot scale down to zero during inactivity, and DTU pools are generally less cost-efficient than vCore-based serverless for workloads with significant idle periods.

82
MCQeasy

You administer an Azure SQL Database for a ticketing platform. A nightly Azure Automation runbook must scale the database between the General Purpose and Business Critical service tiers based on the day of the week. The runbook runs under a system-assigned managed identity. Which cmdlet should the runbook use to change the service tier?

A.New-AzSqlDatabase
B.Set-AzSqlDatabase
C.Set-AzSqlDatabaseInstance
D.Update-AzSqlServer
AnswerB

Set-AzSqlDatabase modifies properties of an existing Azure SQL Database, including the requested service objective and edition via parameters such as -RequestedServiceObjectiveName. Using it with the managed identity's authenticated Az context changes the tier without recreating the database, which is exactly what the nightly scaling runbook requires.

Why this answer

Changing the service tier of an existing Azure SQL Database is an update operation on the database resource, which the Az PowerShell module exposes through Set-AzSqlDatabase. The runbook authenticates with its managed identity, obtains an Az context, and calls the cmdlet with the desired edition and service objective. Creation and server-level cmdlets cannot perform this in-place scaling.

Exam trap

The trap here is reaching for a creation cmdlet or a server-level cmdlet when the operation is an in-place modification of an existing database resource.

83
MCQhard

Your team is migrating an on-premises SQL Server 2019 database to Azure SQL Managed Instance. The database uses Service Broker for cross-database messaging. The compliance requirement mandates that the migration must be performed with minimal downtime and that the target must support the Service Broker feature. What migration strategy should you recommend?

A.Perform a native backup and restore to Azure SQL Managed Instance
B.Use the Data Migration Assistant (DMA) to migrate to Azure SQL Database
C.Use Azure Database Migration Service (DMS) with offline migration to Azure SQL Database
D.Use Azure Database Migration Service (DMS) with online migration to Azure SQL Managed Instance
AnswerD

Azure Database Migration Service online migration keeps the source SQL Server 2019 database available whilst continuously replicating changes to Azure SQL Managed Instance, cutting cutover downtime to a brief final sync. SQL Managed Instance supports Service Broker, satisfying the compliance constraint that the target retain cross-database messaging.

Why this answer

Azure SQL Managed Instance fully supports Service Broker, and the Azure Database Migration Service (DMS) with online migration mode enables minimal downtime by continuously replicating changes from the source SQL Server to the target Managed Instance until a cutover. This satisfies both the Service Broker feature requirement and the compliance mandate for minimal downtime.

Exam trap

The trap here is that candidates may confuse Azure SQL Database with Azure SQL Managed Instance regarding Service Broker support, or assume that any offline migration method can achieve minimal downtime, but the key differentiator is that only online migration to SQL Managed Instance meets both the feature and downtime requirements.

How to eliminate wrong answers

Option A is wrong because a native backup and restore to Azure SQL Managed Instance is an offline method that requires the source database to be taken offline during the backup and restore process, causing significant downtime, and does not support minimal downtime. Option B is wrong because the Data Migration Assistant (DMA) can assess and migrate to Azure SQL Database, but Azure SQL Database does not support Service Broker for cross-database messaging, so it fails the feature requirement. Option C is wrong because using DMS with offline migration to Azure SQL Database also targets Azure SQL Database, which lacks Service Broker support, and offline migration inherently involves downtime, violating the minimal downtime requirement.

84
Multi-Selectmedium

You are planning a disaster recovery strategy for an Azure SQL Database that is part of a failover group. The application requires that after a failover, the database is accessible with minimal downtime and without data loss. Which THREE components are essential for this configuration? (Select three.)

Select 3 answers
A.Geo-redundant backup storage
B.Secondary database in a paired region with data synchronization
C.Failover group listener endpoint
D.Azure Traffic Manager with priority routing
E.Failover group configured between primary and secondary servers
AnswersB, C, E

The secondary must be synchronized to ensure no data loss.

Why this answer

Option B is correct because a failover group requires a secondary database in a paired Azure region that continuously synchronizes data from the primary, which enables minimal-downtime failover with no data loss (RPO near zero). Option C is correct because the failover group listener endpoint provides a stable read-write connection string that automatically redirects clients to the current primary after failover, so applications avoid reconfiguration and downtime is minimized. Option E is correct because the failover group itself must be configured between the primary and secondary servers, defining the databases, replication topology, and automatic/manual failover policies that make the DR strategy work.

Option A is not essential here because geo-redundant backup storage supports backup/restore recovery, not the low-RTO, no-data-loss failover provided by failover groups. Option D is not essential because Azure Traffic Manager is a DNS-based global traffic routing service and does not manage Azure SQL Database replication or failover; the failover group listener already handles client redirection.

Exam trap

The trap is selecting components that seem related to disaster recovery but are not essential for failover groups, such as geo-redundant backups or Traffic Manager. Candidates might overlook the need for the listener endpoint.

85
MCQmedium

You are reviewing an ARM template snippet for an Azure SQL Database. The database should be configured to automatically pause after 60 minutes of inactivity and resume with a minimum capacity of 0.5 vCores. However, the database is not pausing as expected. What is the most likely cause?

A.The 'zoneRedundant' property is set to false, which prevents auto-pause.
B.The database is not configured with the 'Serverless' compute tier.
C.The 'autoPauseDelay' value is too low; it must be at least 360 minutes.
D.The API version does not support auto-pause.
AnswerB

Auto-pausing after inactivity and resuming at a minimum 0.5 vCores are exclusive to the serverless compute tier. Provisioned and hyperscale tiers never auto-pause, so the database must be serverless for the configured behaviour to take effect.

Why this answer

Auto-pause functionality is only available for Azure SQL Database in the serverless compute tier. Without configuring the database as serverless (by setting the 'sku' property to include 'Serverless' tier), the auto-pause and auto-resume features will not work, regardless of other property settings. Option A is incorrect because the 'zoneRedundant' property does not affect auto-pause.

Option C is incorrect because the minimum 'autoPauseDelay' for serverless is 60 minutes, not 360. Option D is incorrect because the API version used supports serverless features.

86
MCQmedium

You need to automate the scaling of an Azure SQL Database in response to CPU usage using Azure Automation. Which Azure service should you use to monitor CPU metrics and trigger the runbook?

A.Azure SQL Analytics
B.Azure Log Analytics
C.Kusto Query Language (KQL)
D.Azure Monitor metric alerts
AnswerD

Azure Monitor metric alerts evaluate platform metrics such as CPU percentage on a near-real-time basis and fire an action group that invokes the Azure Automation runbook via a webhook. This satisfies the stem's requirement to monitor CPU usage and trigger scaling automatically, unlike log-based alerts which add query latency.

Why this answer

Azure Monitor metric alerts are used to monitor CPU metrics and trigger actions such as runbooks in Azure Automation. You can create an alert rule based on a metric like CPU percentage, and configure an action group that triggers a runbook. This is the standard way to automate scaling based on metrics.

Exam trap

DP-300 often tests the confusion between Azure Monitor metric alerts and Log Analytics, where candidates may think Log Analytics triggers runbooks, but metric alerts are the correct service for metric-based automation.

How to eliminate wrong answers

Option A is wrong because Azure SQL Analytics is a monitoring solution that provides insights but does not directly trigger runbooks; it is deprecated and replaced by Azure Monitor. Option B is wrong because Azure Log Analytics is used for querying and analyzing log data, not for metric-based alerting and triggering runbooks directly. Option C is wrong because Kusto Query Language (KQL) is a query language used in Log Analytics, not a service that triggers runbooks.

87
MCQmedium

You execute the following query: SELECT c.client_ip, c.application_name FROM sys.dm_exec_sessions s JOIN sys.dm_exec_connections c ON s.session_id = c.session_id WHERE s.action_id = 'LGIF' AND s.state = 'ABORT'; What does this query return?

A.All security audit events for the database.
B.Failed login events at the server level.
C.Failed login attempts to the database, including client IP and application name.
D.Successful login events with client IP and application name.
AnswerD

Correct. The DMVs only contain data for successful logins, so the query (if it were valid) would return information about active sessions, which are successful logins.

Why this answer

The query as written is invalid. sys.dm_exec_sessions does not contain action_id or state columns; it has a status column with values such as sleeping, running, dormant, and preconnect. Therefore the query would raise an error or return no rows, not successful login events. None of the listed options accurately describes the result. sys.dm_exec_sessions and sys.dm_exec_connections only contain authenticated sessions, so they cannot return failed login data either.

Exam trap

Candidates may try to map 'LGIF' and 'ABORT' to login events, but these are not valid filters for these DMVs. The query fails before returning any login data, so the correct outcome is an error/no result, not a list of successful or failed logins.

How to eliminate wrong answers

Option A is wrong because the query specifically filters for login failures (`action_id` = 'LGIF' and `state` = 'ABORT'), not all security audit events, which would include a broader set of actions like DDL changes, permission changes, or successful logins. Option B is wrong because the query uses `sys.dm_exec_sessions` and `sys.dm_exec_connections`, which are database-level DMVs that capture session and connection information for the current database context, not server-level login events (which would require server-scoped views like `sys.dm_exec_sessions` at the server level or the `sys.server_principals` catalog view). Option D is wrong because the query filters for `state` = 'ABORT', which indicates a failed login, not a successful one; successful logins would have a different `state` value (e.g., 'CONNECTED' or no abort state).

88
Multi-Selecthard

You are responsible for performance tuning of an Azure SQL Database that hosts a customer relationship management (CRM) application. The database has several tables with millions of rows. Users report that a report query that joins four tables is slow. You examine the query execution plan and notice that the database engine is using an Index Spool (Lazy Spool) operator. Which TWO actions should you take to improve query performance? (Choose two.)

Select 2 answers
A.Disable parallelism for the query using the MAXDOP 1 hint.
B.Increase the DTU or vCore count of the database.
C.Create appropriate indexes on the columns used in joins and filters.
D.Rewrite the query using table hints to force a specific join order.
E.Update statistics on all tables involved in the query.
AnswersC, E

Index Spool (Lazy Spool) indicates the optimiser repeatedly rewinds intermediate results because no suitable index supports the joins and predicates. Creating indexes on the join and filter columns gives the engine seek access, eliminating the spool and reducing the millions of rows scanned.

Why this answer

Option C is correct because an Index Spool (Lazy Spool) operator typically appears when the optimizer lacks a suitable index and must build a temporary spool to satisfy repeated lookups or joins; creating appropriate indexes on the join and filter columns gives the optimizer a permanent access path, eliminating the need for the spool. Option E is correct because stale or missing statistics cause the optimizer to misestimate cardinality, which frequently leads to spool operators; updating statistics on all involved tables provides accurate row-count estimates so the optimizer can choose a more efficient plan. Option A is not appropriate because MAXDOP 1 disables parallelism and does not address the root cause of a spool operator, and it can actually hurt performance on large reporting queries.

Option B is not the right fix because adding DTUs or vCores increases resources but does not change the plan shape or remove the spool, so the underlying inefficiency remains. Option D is not recommended because forcing join order with table hints is fragile, overrides the optimizer's cost-based decisions, and does not resolve the missing index or statistics problem that caused the spool.

Exam trap

The trap here is that candidates often assume an Index Spool is always a performance booster (like a regular index seek) or that increasing hardware resources (Option B) is the quick fix, when in fact the spool is a costly workaround for missing permanent indexes and stale statistics.

89
MCQmedium

You manage an Azure SQL Database that runs a reporting workload. Users report that queries are slow only when they filter on a specific customer region, and the slowness began after a large data load. You run Query Store and identify a plan that regressed. You want the database engine to automatically detect and revert to the last known good plan for that query. What should you configure?

A.Enable automatic tuning with the CREATE_INDEX option.
B.Set the database compatibility level to the latest version.
C.Enable automatic tuning with the FORCE_LAST_GOOD_PLAN option.
D.Configure Query Store to use AUTO plan capture mode.
AnswerC

FORCE_LAST_GOOD_PLAN is an automatic tuning feature in Azure SQL Database that monitors for plan regressions and automatically forces the last known good plan when a regression is detected. It is specifically designed for the scenario where a query becomes slower due to a plan change, which matches the reported symptom.

Why this answer

Automatic tuning with FORCE_LAST_GOOD_PLAN is the correct choice because it directly addresses plan regression by automatically reverting to a previously good plan when performance degrades. The other options either collect data without acting, create indexes, or change compatibility levels, none of which provide the automatic regression correction required.

Exam trap

The trap here is confusing automatic tuning features that create objects (like indexes) with those that correct existing plan regressions.

90
MCQeasy

You are configuring security for an Azure SQL Database. You need to ensure that only members of a specific Microsoft Entra ID group can connect to the database as contained database users with db_owner permissions. What should you do?

A.Create a SQL login for each member of the Microsoft Entra ID group and grant them db_owner permissions.
B.Configure the Microsoft Entra ID group as the server admin for the logical server.
C.Enable Microsoft Entra ID authentication on the server and assign the group to the db_owner role using Azure RBAC.
D.Create a contained database user for the Microsoft Entra ID group and add it to the db_owner role.
AnswerD

In Azure SQL Database, you can create contained database users that map to Microsoft Entra ID identities, including groups. By creating a user for the Entra ID group and adding it to the db_owner role, all members of that group inherit db_owner permissions. This is the recommended approach for managing permissions for Entra ID groups without server-level logins.

Why this answer

Contained database users in Azure SQL Database can be mapped to Microsoft Entra ID groups, allowing group members to authenticate and inherit permissions. Adding the group to the db_owner role grants the necessary database-level permissions. This method centralizes management in Entra ID and follows least privilege by scoping permissions to the database.

Exam trap

The trap here is confusing server-level admin or Azure RBAC with database-level role membership; only contained database users grant database permissions for Entra ID groups.

91
MCQeasy

A company uses Azure SQL Managed Instance in the East US region. They need to configure a disaster recovery strategy that provides a readable secondary in a paired region and supports manual failover. The solution must minimize administrative overhead and use built-in Azure capabilities. What should they implement?

A.Use Azure SQL Managed Instance built-in backups and restore to the paired region during an outage.
B.Create a geo-secondary by using transactional replication to a managed instance in the paired region.
C.Configure an auto-failover group with a managed instance in the paired region.
D.Deploy a SQL Server Always On availability group on Azure VMs in the paired region and replicate from the managed instance.
AnswerC

Auto-failover groups for Azure SQL Managed Instance support a readable secondary in a paired region and allow manual or automatic failover. They provide a listener endpoint and built-in replication, minimizing administrative overhead. This is the native DR feature for managed instances and meets the requirement for a readable secondary and manual failover capability.

Why this answer

Auto-failover groups are the built-in DR feature for Azure SQL Managed Instance that provide cross-region replication, a readable secondary, and a listener endpoint. They support both manual and automatic failover and require minimal administration compared to custom replication or backup/restore. This makes them the correct choice for the stated requirements.

Exam trap

The trap here is assuming that managed instance backups or transactional replication provide a continuously readable secondary with failover capabilities, when only auto-failover groups offer that built-in functionality.

92
MCQeasy

You have an Azure SQL Managed Instance configured with an auto-failover group between two regions. You need to ensure that client applications can automatically connect to the secondary instance after a failover without changing connection strings. What should you configure?

A.Use the failover group listener endpoint in the connection string.
B.Set up a load balancer with health probes.
C.Deploy an Application Gateway with backend pools for each region.
D.Configure a Traffic Manager profile with endpoint monitoring.
AnswerA

The failover group listener provides a stable read-write DNS endpoint that redirects clients to the current primary after failover. Applications keep one connection string, satisfying the no-change requirement, while the listener abstracts the underlying instance swap between regions.

Why this answer

An auto-failover group provides a read/write listener endpoint (and a read-only listener) with a DNS name that always points to the current primary. Applications connect to the listener FQDN, so after failover the DNS resolves to the new primary without any connection string change.

Exam trap

DP-300 often tests the misconception that a generic DNS or load-balancing service is needed for failover, when the failover group's built-in listener endpoint already handles redirection.

How to eliminate wrong answers

Option B is wrong because a load balancer does not participate in Azure SQL Managed Instance failover group DNS redirection and would require manual endpoint management. Option C is wrong because Application Gateway is an HTTP/HTTPS layer-7 load balancer for web workloads, not for TDS/SQL connections. Option D is wrong because Traffic Manager can route DNS but does not integrate with the failover group's listener or understand SQL health the way the built-in listener does.

93
MCQeasy

You have an Azure SQL Database that is used by a development team. The team works only during business hours and the database can be unavailable outside those hours. You need to minimize compute cost while allowing the database to automatically pause when it is idle and resume when a connection is made. What should you configure?

A.Set the database to the Hyperscale service tier with one read-scale replica.
B.Set the database to the General Purpose service tier with the Serverless compute tier and configure the auto-pause delay.
C.Set the database to the General Purpose service tier with the Provisioned compute tier.
D.Set the database to the Business Critical service tier with zone redundancy enabled.
AnswerB

The Serverless compute tier automatically pauses the database after a configured idle period and resumes it when a new connection arrives. This directly matches the requirement to minimize cost for a database that is used only during business hours. General Purpose with Serverless also allows a minimum and maximum vCore range so that compute scales with demand while idle time is not billed.

Why this answer

The Serverless compute tier is the only Azure SQL Database option that automatically pauses compute after an idle period and resumes on the next connection. Configuring it on the General Purpose service tier lets the development team pay only for the compute used during business hours. The auto-pause delay controls how long the database waits before suspending, directly reducing cost for an intermittently used database.

Exam trap

The trap here is confusing the Hyperscale service tier with the Serverless compute tier, assuming that a modern scalable tier automatically pauses, when only Serverless supports auto-pause.

94
MCQmedium

You have an Azure SQL Database that stores sensitive customer data. You need to automate the masking of a specific column for non-admin users. Which feature should you use?

A.Always Encrypted with a column encryption key.
B.Row-Level Security to filter rows for non-admin users.
C.Dynamic Data Masking with a masking function configured on the column.
D.Azure Policy to enforce masking rules on the database.
AnswerC

Dynamic Data Masking applies a masking function to the column so non-admin users see obfuscated values at query time, while privileged users retain full data. This satisfies the requirement to automate masking for non-admin users without altering stored data or application code.

Why this answer

Dynamic Data Masking (DDM) is the correct feature because it masks sensitive data in query results for non-privileged users without altering the actual data at rest. You configure a masking rule (e.g., default(), email(), partial()) on the specific column, and users without UNMASK permission see masked values while admins see the real data. This matches the requirement to 'automate masking of a specific column for non-admin users.'

Exam trap

DP-300 often tests the confusion between Dynamic Data Masking (presentation-layer masking for non-admins) and Always Encrypted (cryptographic protection where even admins can't see plaintext) — candidates pick Always Encrypted when the scenario asks for masked views.

How to eliminate wrong answers

Option A is wrong because Always Encrypted encrypts data at rest and in transit, making it unreadable even to DBAs, but it requires client-side key management and does not provide a 'masked view for non-admins while admins see plaintext' behavior — it's an encryption feature, not a masking feature. Option B is wrong because Row-Level Security filters which rows a user can see, not which columns are masked; it does not alter column values. Option D is wrong because Azure Policy is a governance/compliance tool that audits or enforces resource configurations at the control plane, not a database-level data masking mechanism.

95
MCQmedium

You manage an Azure SQL Database that runs a reporting workload. Users report that queries against a large fact table sometimes take much longer than usual, and you suspect that a plan regression occurred after a recent statistics update. You need to identify which queries have a plan that changed and performed worse, without deploying any external monitoring tools. What should you use?

A.SQL Server Profiler traces collected to a file
B.Azure SQL Database automatic tuning's CREATE INDEX recommendations
C.Query Store's Regressed Queries view
D.sys.dm_db_index_physical_stats
AnswerC

Query Store automatically captures query plans and runtime statistics, and its Regressed Queries view compares plan performance over time to highlight queries whose plan changed and became slower. Because the feature is built into the database, no external monitoring tool is required, and it directly answers which queries regressed after the statistics update.

Why this answer

Query Store persists query text, plans, and runtime statistics inside the database and includes a Regressed Queries view that compares plan performance across time windows. When a statistics update causes a plan change that degrades a reporting query, that view surfaces the affected queries with their historical plans and metrics, letting you force a known-good plan or take other corrective action without external monitoring.

Exam trap

The trap here is assuming that a performance dashboard or index tool will identify plan regressions, when only Query Store tracks plan changes and their performance impact over time.

96
MCQmedium

You are designing a disaster recovery plan for an Azure SQL Database that uses the Business Critical tier. The database is deployed in the West US region. You need to ensure that if the entire West US region becomes unavailable, the database can be failed over to a secondary region with minimal data loss. What should you implement?

A.Configure active geo-replication to East US
B.Configure an auto-failover group with a readable secondary in East US
C.Enable zone redundancy for the database
D.Configure geo-restore from the West US database
AnswerB

Auto-failover group with a readable secondary uses asynchronous replication but provides automatic failover. You can configure a grace period to minimize data loss, making it the best option for minimal data loss and automatic recovery.

Why this answer

Auto-failover groups with a readable secondary in East US provide automatic and manual failover capabilities. For Business Critical tier, the secondary is readable and uses asynchronous replication, typically achieving an RPO of 5 seconds or less. This meets the requirement for minimal data loss.

Active geo-replication also uses asynchronous replication with similar RPO but requires manual failover and does not support automatic failover. Zone redundancy protects against within-region failures, not regional outages. Geo-restore has a higher RPO and requires manual recovery.

Exam trap

Candidates often choose active geo-replication, thinking it offers lower RPO because it is a dedicated replication feature. However, both active geo-replication and auto-failover groups use asynchronous replication with similar RPO (typically less than 5 seconds). The key advantage of auto-failover groups is automatic failover and the ability to group multiple databases, making them more suitable for region-level disaster recovery with minimal data loss.

How to eliminate wrong answers

Option B is wrong because auto-failover groups use asynchronous replication with a default RPO of up to 5 seconds, but they are designed for automatic failover, not manual failover with minimal data loss; the question emphasizes 'failed over' (manual action) and 'minimal data loss,' which active geo-replication achieves more precisely. Option C is wrong because zone redundancy protects against failures within a single Azure region (e.g., a datacenter failure), not against a full regional outage, and it does not provide a secondary region for failover. Option D is wrong because geo-restore is a point-in-time restore from geo-replicated backups, which can have an RPO of up to 1 hour and an RTO of up to 12 hours, resulting in significant data loss and longer recovery time, not minimal data loss.

97
MCQeasy

You are planning to deploy a new Azure SQL Database. The database will store sensitive financial data and must be encrypted at rest using a key that your organization manages and rotates independently. You need to implement this encryption with minimal administrative overhead. What should you do?

A.Configure Always Encrypted with column encryption keys stored in Azure Key Vault.
B.Enable Transparent Data Encryption (TDE) with customer-managed keys stored in Azure Key Vault.
C.Enable Azure Disk Encryption on the underlying virtual machines hosting the database.
D.Enable Transparent Data Encryption (TDE) with service-managed keys.
AnswerB

TDE with customer-managed keys allows you to use your own key stored in Azure Key Vault, giving you full control over key lifecycle, including rotation and revocation. It encrypts data at rest and is the standard method for meeting regulatory requirements for independent key management. This approach also integrates with Azure Key Vault for centralized key management.

Why this answer

Transparent Data Encryption with customer-managed keys in Azure Key Vault provides encryption at rest while allowing your organization to manage and rotate the encryption key. This meets the requirement for independent key management with minimal overhead, as Azure SQL Database handles the encryption and decryption transparently.

Exam trap

The trap here is confusing Always Encrypted, which protects specific columns and requires application changes, with TDE, which encrypts the entire database at rest.

98
MCQeasy

You are monitoring an Azure SQL Database that is running a mission-critical workload. You notice that the DTU consumption is consistently above 90% during peak hours. You need to recommend a solution to reduce the DTU consumption. What should you recommend?

A.Scale up to a higher service tier or increase DTUs
B.Scale down to a lower service tier
C.Enable geo-replication
D.Enable read scale-out
AnswerA

Scaling up raises the provisioned compute ceiling, so the same workload consumes a smaller proportion of available DTUs. This directly satisfies the stem's constraint of sustained consumption above 90% during peak hours, where the database is genuinely resource-bound rather than suffering from inefficient queries or missing indexes.

Why this answer

When DTU consumption consistently exceeds 90%, the database is resource-constrained, leading to performance degradation. Scaling up to a higher service tier or increasing DTUs directly provides more CPU, memory, and I/O resources, alleviating the bottleneck and reducing DTU utilization percentage. This is the standard corrective action for sustained high DTU usage in Azure SQL Database.

Exam trap

The trap here is that candidates may confuse high DTU consumption with a need for high availability or read scaling, but the correct response is to increase resource capacity via scaling up.

How to eliminate wrong answers

Option B is wrong because scaling down reduces available resources, which would worsen the high DTU consumption and likely cause performance failures. Option C is wrong because geo-replication provides disaster recovery and read-only replicas, but does not reduce DTU consumption on the primary database. Option D is wrong because read scale-out offloads read-only workloads to a replica, but the primary database's DTU consumption remains unchanged for write operations and other workloads.

99
MCQmedium

You are the database administrator for a logistics company that uses Azure SQL Database. You need to automate the execution of a T-SQL script that rebuilds fragmented indexes every night at 2:00 AM. You want to minimize administrative overhead and avoid managing a separate virtual machine. What should you use?

A.Configure a SQL Server Agent job on an Azure virtual machine that connects to the database.
B.Deploy an Azure Automation runbook that connects to the database and executes the script.
C.Use Azure Logic Apps with a recurrence trigger and a SQL Server connector to run the script.
D.Create an Elastic Job agent and define a job step that runs the T-SQL script on a schedule.
AnswerD

Elastic Jobs are a built-in Azure SQL Database feature designed to automate T-SQL execution across one or more databases on a schedule. You configure a job with a step containing the index rebuild script, set a schedule for 2:00 AM, and the service handles execution without needing a VM or external orchestrator. This directly meets the requirement with minimal overhead.

Why this answer

Elastic Jobs are the native automation feature for Azure SQL Database, allowing scheduled T-SQL execution without external compute. They support recurring schedules, target databases, and credential management, directly satisfying the need to run an index rebuild nightly at 2:00 AM with minimal administrative effort. Other options either require additional infrastructure or are not available for Azure SQL Database.

Exam trap

The trap here is assuming that any automation tool that can run T-SQL is equally appropriate, overlooking that Elastic Jobs are purpose-built for Azure SQL Database and eliminate extra infrastructure.

100
MCQhard

Your Azure SQL Database uses a failover group for disaster recovery. You need to automate a planned failover for disaster recovery testing without data loss. What should you use?

A.Set up an Azure Logic App with a failover trigger from Azure Monitor.
B.Configure automatic failover policy in the failover group.
C.Use a T-SQL script with ALTER DATABASE FAILOVER scheduled via SQL Server Agent.
D.Create an Azure Automation Runbook that uses the Start-AzSqlDatabaseFailover command with the -AllowDataLoss parameter set to false.
AnswerD

Runbook can automate planned failover without data loss.

Why this answer

Azure Automation Runbooks can execute the Start-AzSqlDatabaseFailover cmdlet with -AllowDataLoss:$false to perform a planned failover without data loss. Option A (Logic App with failover trigger) is designed for reacting to Azure Monitor alerts, not for scheduled failsafe testing. Option B (configuring automatic failover policy) is for unplanned failovers and would result in data loss if used for testing because automatic failover is asynchronous.

Option C (T-SQL ALTER DATABASE FAILOVER scheduled via SQL Server Agent) is invalid because SQL Server Agent is not available in Azure SQL Database (single database or elastic pool); it's only available in Azure SQL Managed Instance. Therefore, D is the correct choice for automated planned failover.

101
MCQeasy

You have an Azure SQL Managed Instance and notice that automatic tuning is not enabled. You want to automatically force a plan that performed better than the existing plan. What should you enable?

A.Automatic index management (DROP INDEX)
B.Automatic index management (CREATE INDEX)
C.Automatic plan correction (FORCE_LAST_GOOD_PLAN)
D.Intelligent Insights
AnswerC

Automatic plan correction detects regressions where a previously good plan is replaced by a worse one, then forces the last known good plan using FORCE_LAST_GOOD_PLAN. This directly satisfies the requirement to automatically force a better-performing plan, which plain automatic tuning options such as CREATE INDEX or DROP INDEX do not provide.

Why this answer

Automatic plan correction (FORCE_LAST_GOOD_PLAN) is the automatic tuning feature that detects plan regressions and forces the last known good plan. It is designed exactly for the scenario where a plan performs worse than a previous plan. Enabling it allows Azure SQL Managed Instance to automatically correct plan choice regressions.

Exam trap

DP-300 often tests the specific automatic tuning options — candidates confuse automatic index management with automatic plan correction, but only FORCE_LAST_GOOD_PLAN addresses plan regression.

How to eliminate wrong answers

Option A is wrong because automatic index management (DROP INDEX) deals with removing unused or duplicate indexes, not plan forcing. Option B is wrong because automatic index management (CREATE INDEX) creates missing indexes, which addresses index-related performance but not plan regression. Option D is wrong because Intelligent Insights is a diagnostic tool that provides alerts and root cause analysis, but it does not automatically force plans.

102
MCQeasy

Your company is deploying a new application that uses an Azure SQL Database. The security policy requires that all connections use Microsoft Entra ID authentication and that no SQL authentication users are created. Which server-level setting should you enforce?

A.Set the database to use contained database authentication.
B.Configure a server-level firewall rule to allow only Entra ID IPs.
C.Enable 'Azure AD-only authentication' on the Azure SQL logical server.
D.Set the Entra ID admin for the server and disable SQL authentication.
AnswerC

Azure AD-only authentication disables SQL authentication at the logical server level, so only Microsoft Entra ID principals can connect. This enforces the policy that no SQL authentication users are created, meeting the stem's authentication constraint.

Why this answer

Enabling 'Azure AD-only authentication' on the Azure SQL logical server enforces that all connections must use Microsoft Entra ID authentication and blocks any SQL authentication attempts, even if SQL logins exist. This setting directly meets the security policy requirement that no SQL authentication users are created and all connections use Entra ID.

Exam trap

The trap here is that candidates often assume setting the Entra ID admin and disabling SQL authentication manually is sufficient, but the 'Azure AD-only authentication' property is a separate, explicit enforcement mechanism that must be enabled to fully block SQL authentication at the server level.

How to eliminate wrong answers

Option A is wrong because setting the database to use contained database authentication allows contained database users to authenticate with SQL authentication, which would violate the policy that no SQL authentication users are created. Option B is wrong because configuring a server-level firewall rule to allow only Entra ID IPs does not enforce authentication method; it only restricts network access by IP address, and Entra ID authentication is not tied to specific IPs. Option D is wrong because setting the Entra ID admin and disabling SQL authentication via the portal or T-SQL is not a server-level setting that fully enforces the policy; the 'Azure AD-only authentication' property must be explicitly enabled to block all SQL authentication attempts, including those from the server admin.

103
MCQhard

You are reviewing the ARM template snippet for an Azure SQL Database failover group. The primary server is in East US. The secondary is in West Europe. The readWriteEndpoint has automatic failover with a grace period of 60 minutes. The readOnlyEndpoint is disabled. After a complete outage in East US, what will happen?

A.The failover group will not fail over automatically because the grace period is too long.
B.The failover group will wait 60 minutes, then automatically fail over to West Europe.
C.The failover group will immediately fail over to West Europe.
D.The failover group requires manual failover because readOnlyEndpoint is disabled.
AnswerB

Automatic failover on the readWriteEndpoint triggers only after the configured grace period elapses without primary availability. With 60 minutes set, the group waits that duration before promoting West Europe, so the outage must persist the full hour.

Why this answer

With automatic failover enabled on the read/write endpoint and a 60-minute grace period, Azure SQL failover groups wait the full grace period after detecting the primary outage before promoting the secondary. Only after that window elapses does the geo-secondary in West Europe become the new primary. The readOnlyEndpoint setting is irrelevant to read/write failover behavior.

Exam trap

DP-300 often tests the misconception that a long grace period blocks automatic failover entirely, or that readOnlyEndpoint settings affect read/write failover — candidates must separate the two endpoints and understand grace period as a delay, not a disable.

How to eliminate wrong answers

Option A is wrong because a 60-minute grace period does not prevent automatic failover — it simply delays it; automatic failover still occurs once the grace period expires. Option C is wrong because immediate failover only happens with a grace period of 0 (or when Azure detects the outage and the configured grace period has already elapsed); 60 minutes explicitly delays promotion. Option D is wrong because readOnlyEndpoint being disabled only affects the read-only listener (whether read-only connections are allowed to the secondary); it has no bearing on automatic failover of the read/write endpoint.

104
MCQeasy

You are configuring alerts for an Azure SQL Database. You need to be notified when the database reaches 90% of its allocated storage. Which Azure Monitor alert signal should you use?

A.storage
B.storage_percent
C.physical_data_read_percent
D.dtu_consumption_percent
AnswerB

The storage_percent metric in Azure Monitor for Azure SQL Database reports the percentage of storage space used relative to the maximum data size. Setting an alert on this metric at 90% directly meets the requirement. This metric is specific to Azure SQL Database and is the correct signal to monitor storage utilization.

Why this answer

Azure SQL Database exposes the storage_percent metric, which directly reports the percentage of allocated storage used. Setting an alert on this metric at 90% will notify you when storage utilization reaches the threshold. Other metrics like storage (absolute size) or dtu_consumption_percent (compute) do not provide the required percentage of storage usage.

Exam trap

The trap here is confusing storage_percent with storage; the former is a percentage, the latter is an absolute value.

105
MCQeasy

You are deploying a new Azure SQL Database for a line-of-business application. The application's usage pattern is unpredictable, with long idle periods overnight and short bursts of heavy activity during business hours. Cost optimization is a priority, and the database can tolerate a brief reconnection delay when scaling. You need to select a purchasing model and service tier that minimizes cost while automatically adjusting compute resources. What should you do?

A.Deploy the database by using the DTU purchasing model with the Standard service tier and configure elastic pool auto-scaling.
B.Deploy the database by using the vCore purchasing model with the Hyperscale service tier and enable read-scale replicas.
C.Deploy the database by using the vCore purchasing model with the General Purpose service tier and configure the serverless compute tier.
D.Deploy the database by using the vCore purchasing model with the Business Critical service tier and configure auto-scaling.
AnswerC

The vCore model with General Purpose service tier supports the serverless compute tier, which automatically scales compute based on workload demand and can pause the database during inactive periods, billing only for storage. This directly addresses unpredictable usage and cost optimization, while accepting a brief reconnection delay when resuming from a paused state, exactly as the scenario permits.

Why this answer

The serverless compute tier in the vCore purchasing model automatically scales compute resources based on workload activity and can pause the database during idle times, charging only for storage. This matches the need to minimize cost for unpredictable usage and tolerates the brief reconnection delay upon resuming. Other tiers either lack auto-scaling or are not cost-effective for this pattern.

Exam trap

The trap here is assuming that any vCore service tier supports automatic scaling, when in fact only the serverless compute tier provides that behavior.

106
MCQmedium

You are a database administrator for a large e-commerce platform using Azure SQL Database. You notice that a specific query frequently causes high CPU usage during peak hours. The query is a SELECT with multiple JOINs and a WHERE clause on a non-clustered index. You have already updated statistics and rebuilt indexes. What should you do next to optimize performance?

A.Use Query Store to identify and force a better execution plan.
B.Enable automatic tuning to let Azure SQL Database handle the issue.
C.Add more indexes on the columns used in JOINs and WHERE clause.
D.Create a read replica and offload the query to it.
AnswerA

Query Store captures execution plans and runtime statistics, letting you identify the regressed plan causing high CPU and force a superior one via a plan guide. This directly addresses the stem's constraint: statistics and indexes are already refreshed, so the remaining lever is plan choice, not stale metadata.

Why this answer

When statistics are updated and indexes rebuilt but a specific query still causes high CPU, the next step is to use Query Store to identify a better execution plan and force it. Query Store captures plan history and runtime stats, so you can pinpoint a previously good plan (e.g., before a plan regression) and force it, immediately stabilizing performance without schema changes.

Exam trap

DP-300 often tests the sequence of tuning actions — candidates jump to adding indexes or read replicas, but the exam expects you to recognize that after statistics/index maintenance, plan-level remediation via Query Store is the correct next step for a specific high-CPU query.

How to eliminate wrong answers

Option B is wrong because automatic tuning may not address this specific query's plan regression and can take time to act — it is not the targeted next step when you have already identified the problematic query. Option C is wrong because adding more indexes on JOIN/WHERE columns without evidence can increase write overhead and may not fix a plan-choice problem; the query already uses a non-clustered index. Option D is wrong because creating a read replica offloads read workload but does not fix the high-CPU execution plan on the primary, and it adds cost and complexity.

107
MCQhard

You are optimizing a data warehouse workload on Azure SQL Database. The workload involves large batch inserts and nightly aggregations. You notice that the transaction log is growing excessively during the batch inserts, causing performance degradation. You need to reduce log growth without affecting data consistency. What should you do?

A.Change the database recovery model to Simple.
B.Use bulk insert operations with TABLOCK hint to enable minimal logging.
C.Create a partition function and scheme to spread the inserts.
D.Increase the maximum log size of the database.
AnswerB

Minimal logging reduces log space for large imports under full recovery model.

Why this answer

Using minimally logged operations (e.g., bulk insert with TABLOCK) reduces log space for large imports under the full recovery model, but requires specific conditions. Option A is wrong because simple recovery model is not supported in Azure SQL Database (only FULL, BULK_LOGGED is not available). Option C is wrong because partitioning does not reduce log growth.

Option D is wrong because increasing log size only accommodates growth, does not prevent it.

108
MCQhard

You need to optimize costs for SalesDB, which is used only during business hours (8 AM to 6 PM). The database currently runs 24/7. Which change should you make?

A.Reduce storage to 512 GB.
B.Change tier to Hyperscale.
C.Enable serverless with auto-pause enabled.
D.Reduce capacity to 2 vCores.
AnswerC

Serverless with auto-pause suspends compute after inactivity and resumes on connection, so SalesDB only incurs compute cost during the 8 AM to 6 PM window. Storage charges persist, but idle overnight and weekend compute is eliminated.

Why this answer

Azure SQL Database serverless with auto-pause enabled automatically pauses the database after a period of inactivity and resumes on the next connection, so the database incurs no compute charges outside business hours. This directly matches the 8 AM–6 PM usage pattern and reduces cost without manual intervention.

Exam trap

DP-300 often tests cost optimization by presenting idle-time scenarios — the trap is choosing 'reduce capacity' or 'reduce storage' because they sound like cost cuts, while missing that only auto-pause eliminates compute charges during idle hours.

How to eliminate wrong answers

Option A is wrong because reducing storage to 512 GB lowers storage cost only, leaving the 24/7 compute charges unchanged — compute dominates the bill. Option B is wrong because Hyperscale is a high-performance tier designed for large databases; it typically increases cost and does not address idle-time savings. Option D is wrong because reducing capacity to 2 vCores lowers the hourly rate but the database still runs and bills 24/7, so it does not exploit the idle window.

109
MCQhard

You are tuning an Azure SQL Database that uses the General Purpose service tier. The database experiences high transaction log write waits during peak hours, and you observe that the log rate is frequently near its limit. You need to increase the maximum log rate for the database. What should you do?

A.Change the database to the Business Critical service tier.
B.Enable accelerated database recovery (ADR) on the database.
C.Scale up the database to a higher compute size within the General Purpose tier.
D.Increase the maximum storage size of the database.
AnswerA

The Business Critical tier uses local SSD storage and has a significantly higher maximum log rate compared to General Purpose. This directly addresses the log write wait issue by providing faster log throughput. While it increases cost, it is the correct action when the log rate is the bottleneck and needs to be raised beyond the General Purpose limit.

Why this answer

The maximum log rate in Azure SQL Database is determined by the service tier and hardware generation. General Purpose has a lower log rate limit than Business Critical, which uses local SSD and offers higher throughput. To increase the log rate, you must move to Business Critical.

Scaling compute within General Purpose or increasing storage does not raise the log rate limit. ADR improves recovery but not log throughput.

Exam trap

The trap here is thinking that adding more vCores or storage will increase the log rate, when the limit is actually tied to the service tier's storage subsystem.

110
MCQeasy

You are the database administrator for a company that uses Azure SQL Database. The company wants to ensure that the database remains available even if the entire Azure region experiences an outage. The solution must provide a read-write endpoint that automatically redirects connections after a failover. What should you configure?

A.Active geo-replication with a readable secondary.
B.Long-term retention backup and restore.
C.Auto-failover group.
D.Zone-redundant configuration.
AnswerC

An auto-failover group provides a read-write listener endpoint that automatically redirects connections to the secondary server after a failover. It supports automatic failover based on a policy, ensuring that the application can reconnect without manual intervention. This directly satisfies the requirement for continued availability during a regional outage with automatic redirection. It also allows for readable secondaries and can include multiple databases.

Why this answer

An auto-failover group is the correct solution because it provides a read-write listener that automatically redirects connections to the secondary server in another region after a failover. It supports automatic failover policies, ensuring minimal downtime. Active geo-replication lacks automatic redirection, zone redundancy only covers a single region, and long-term retention backups are for restore, not failover.

Exam trap

The trap here is assuming that active geo-replication provides the same automatic failover and connection redirection as an auto-failover group, when it actually requires manual failover and connection string changes.

111
Multi-Selectmedium

You are monitoring an Azure SQL Database that is experiencing high DTU consumption. You need to identify the queries that are causing high resource usage. Which two data sources can you use? (Choose two.)

Select 2 answers
A.sys.dm_os_wait_stats
B.Query Store
C.sys.dm_exec_query_stats
D.sys.dm_db_index_usage_stats
E.sys.dm_io_virtual_file_stats
AnswersB, C

Query Store persists execution plans, runtime statistics and wait categories per query, letting you rank statements by CPU, duration or logical reads. This directly identifies the queries driving high DTU consumption on the Azure SQL Database.

Why this answer

Query Store (Option B) captures a history of query execution plans and runtime statistics, allowing you to identify queries with high CPU, I/O, or duration. sys.dm_exec_query_stats (Option C) returns aggregate performance statistics for cached query plans, including total CPU time and logical reads, which directly points to resource-intensive queries. Both are valid sources for diagnosing high DTU consumption in Azure SQL Database.

Exam trap

The trap here is that candidates often confuse wait statistics (sys.dm_os_wait_stats) with query-level performance data, but wait stats show system-wide bottlenecks, not the specific queries causing high DTU.

112
Multi-Selecteasy

You have an Azure SQL Database that uses automatic tuning. Which TWO benefits does automatic tuning provide?

Select 2 answers
A.Automatically scale up the database service tier
B.Automatically identify and correct query plan regressions
C.Automatically create read replicas
D.Automatically update statistics
E.Automatically create missing indexes
AnswersB, E

Automatic tuning detects plan regressions by comparing query performance over time and forces the last known good plan, restoring throughput without manual intervention. This directly addresses the regression-correction benefit, distinct from index creation or parameter forcing.

Why this answer

Options B and E are correct. Automatic tuning can identify and correct query plan regressions (B) and automatically create missing indexes (E). Option A is wrong because automatic tuning does not automatically scale the service tier; that's auto-scale.

Option C is wrong because automatic tuning does not automatically create read replicas. Option D is wrong because automatic tuning does not automatically update statistics.

Exam trap

Automatic tuning in Azure SQL Database includes only index creation and plan regression correction. It does not include auto-scaling, read replicas, or statistics updates.

113
MCQhard

You have an Azure SQL Managed Instance configured with a failover group for disaster recovery. The primary instance is in the East US region and the secondary is in West US. You need to perform a planned failover for maintenance with zero data loss. What is the correct sequence of steps?

A.Take the primary instance offline, then failover.
B.Use the Azure portal to perform a planned failover for the failover group.
C.Scale down the primary to reduce cost, then failover.
D.Remove the failover group, perform maintenance, then recreate the failover group.
AnswerB

A planned failover in the failover group completes synchronisation before switching roles, guaranteeing zero data loss — the stem's explicit requirement. Because the secondary is already synchronised via the failover group, the portal operation drains remaining transactions, promotes West US to primary, and demotes East US, satisfying the maintenance scenario without data loss.

Why this answer

For a planned failover with zero data loss in Azure SQL Managed Instance failover groups, the correct approach is to use the Azure portal (or PowerShell/CLI) to perform a planned failover. This ensures that all pending transactions are synchronized to the secondary before switching roles, preventing data loss.

Exam trap

The trap is thinking that manual steps like taking the primary offline or removing the failover group are needed. Candidates might overcomplicate the process instead of using the built-in planned failover feature.

How to eliminate wrong answers

Option A is wrong because taking the primary offline before failover can cause data loss and downtime, as transactions may not be synchronized. Option C is wrong because scaling down the primary does not facilitate a planned failover and may impact performance. Option D is wrong because removing and recreating the failover group is disruptive, time-consuming, and unnecessary for a planned failover.

114
MCQhard

A DBA manages an Azure SQL Database and needs to schedule a T-SQL script to run every day at 02:00 UTC to perform index maintenance. The solution must minimize administrative overhead and must not require an on-premises server. What should the DBA use?

A.Elastic Database Jobs in Azure SQL Database
B.SQL Server Agent job on the Azure SQL Database logical server
C.Azure Automation runbook with a schedule and the Az.Sql module
D.Azure Logic Apps with a recurrence trigger and SQL Server connector
AnswerA

Elastic Database Jobs are a native Azure SQL Database feature that can run T-SQL scripts against one or many databases on a schedule. They require no on-premises infrastructure and minimal setup: create a job agent, a job, a step, and a schedule. This directly satisfies the requirement to run a T-SQL script daily with low overhead.

Why this answer

Elastic Database Jobs provide a built-in scheduling mechanism for T-SQL scripts against Azure SQL Database. The DBA creates a job agent, defines a job with a T-SQL step, and attaches a schedule. This requires no on-premises server and minimal administrative effort, making it the correct choice for daily index maintenance.

Exam trap

The trap here is assuming that SQL Server Agent is available on Azure SQL Database, when Agent is only supported on Azure SQL Managed Instance and on-premises SQL Server.

115
MCQmedium

You are deploying Azure SQL Database for a multi-tenant SaaS application. Each tenant has its own database. You need to ensure that tenant data is isolated and that performance is predictable. Cost efficiency is important. Which deployment model should you use?

A.Deploy a single Azure SQL Database per tenant
B.Use Azure SQL Managed Instance with multiple databases
C.Use a single large database with row-level security
D.Use an elastic pool with one database per tenant
AnswerD

An elastic pool shares provisioned eDTUs or vCores across many single-tenant databases, so each tenant keeps its own database for isolation while aggregate resources absorb unpredictable per-tenant load spikes. This satisfies the predictable-performance and cost-efficiency constraints, since you pay for pooled capacity rather than peak provisioning per database.

Why this answer

An elastic pool allows you to provision a shared set of resources (eDTUs or vCores) that is distributed across multiple databases, each representing a tenant. This provides logical isolation of tenant data (each tenant has its own database) while pooling resources to handle variable workloads cost-effectively. The elastic pool model is specifically designed for SaaS multi-tenant scenarios where predictable performance is achieved through resource governance, and cost efficiency comes from sharing resources among databases that do not all peak simultaneously.

Exam trap

The trap here is that candidates often confuse 'tenant isolation' with 'dedicated resources' and choose Option A, missing that elastic pools provide logical isolation (separate databases) with shared, cost-efficient resources, which is the exact requirement for predictable performance and cost efficiency in multi-tenant SaaS.

How to eliminate wrong answers

Option A is wrong because deploying a single Azure SQL Database per tenant without pooling leads to over-provisioning and higher costs, as each database requires its own DTU/vCore allocation regardless of actual usage, and does not leverage shared resource benefits for variable workloads. Option B is wrong because Azure SQL Managed Instance is designed for lift-and-shift migrations of existing SQL Server workloads with instance-level features, not for multi-tenant SaaS isolation; it lacks the elastic pool resource-sharing model and is more expensive per database. Option C is wrong because using a single large database with row-level security (RLS) violates tenant data isolation at the database level (a single database is a shared failure domain), and performance is unpredictable as all tenants compete for the same resources without per-tenant resource governance, making it unsuitable for predictable performance and cost efficiency.

116
MCQeasy

You are the DBA for an Azure SQL Database that stores sensitive financial data. The security team requires that all user activity on the database be audited, and audit logs must be retained for 90 days. You need to configure auditing with minimal effort. What should you do?

A.Use SQL Server Extended Events to capture all statements and store the files in Azure Blob Storage.
B.Enable Azure SQL Database auditing and configure it to write logs to an Azure Storage account with a retention period of 90 days.
C.Enable Azure Monitor diagnostic settings on the database and send logs to a Log Analytics workspace with 90-day retention.
D.Create a SQL Server Audit specification on the database and write to the Windows Application log.
AnswerB

Azure SQL Database auditing can be enabled at the server or database level and configured to write to Azure Storage, Log Analytics, or Event Hubs. Setting retention to 90 days in the storage account meets the requirement. This is the simplest way to audit all user activity and retain logs for the specified period.

Why this answer

Enabling Azure SQL Database auditing and directing logs to Azure Storage with a 90-day retention period is the correct approach because it is a built-in feature that captures all user activity and meets the retention requirement with minimal configuration. The other options either are not supported in Azure SQL Database, require more manual effort, or do not provide the required audit scope.

Exam trap

The trap here is confusing Azure Monitor diagnostic settings with SQL auditing; while both can send logs, only SQL auditing is designed to capture all database activity for compliance with configurable retention.

117
MCQhard

You manage an Azure SQL Database that contains a table with a column named CreditCardNumber. The security team requires that this column be encrypted so that even database administrators cannot view the plaintext values. The application that inserts and queries data must continue to work with minimal changes, and the encryption keys must be stored in Azure Key Vault. What should you implement?

A.Dynamic data masking on the CreditCardNumber column with a masking rule that shows only the last four digits.
B.Row-level security (RLS) with a security policy that filters rows based on user identity.
C.Transparent Data Encryption (TDE) with a customer-managed key in Azure Key Vault.
D.Always Encrypted with column master key in Azure Key Vault and column encryption key for the CreditCardNumber column.
AnswerD

Always Encrypted is designed to protect sensitive data from high-privileged users like DBAs. The client driver encrypts and decrypts data, so the database engine never sees plaintext. Storing the column master key in Azure Key Vault meets the key storage requirement. The application requires minimal changes: it needs to use a supported client driver with Always Encrypted enabled and connection string adjustments.

Why this answer

Always Encrypted ensures that sensitive data is never revealed to the database engine, protecting it from DBAs. The column master key stored in Azure Key Vault satisfies the key management requirement. Applications need only enable Always Encrypted in the client driver and use parameterized queries, which is a minimal change compared to other encryption methods.

Exam trap

The trap here is assuming that TDE or dynamic data masking protects data from DBAs; only Always Encrypted keeps plaintext away from the database engine.

118
Multi-Selectmedium

You are configuring automatic tuning for an Azure SQL Database. Which THREE recommendations can be applied automatically without manual approval?

Select 3 answers
A.FORCE LAST GOOD PLAN
B.Modify statistics
C.CREATE INDEX
D.DROP INDEX
E.Enable database compression
AnswersA, C, D

FORCE LAST GOOD PLAN automatically reverts a query to its previous good execution plan when a regression is detected, and it is applied without approval once automatic tuning is enabled. It satisfies the stem's constraint of recommendations applied automatically.

Why this answer

Azure SQL Database automatic tuning can automatically apply three types of recommendations: FORCE LAST GOOD PLAN (A), which reverts a query to a previously known good execution plan when a plan regression is detected; CREATE INDEX (C), which adds missing indexes identified by the query optimizer; and DROP INDEX (D), which removes redundant or unused indexes. These three are the built-in automatic tuning actions that Azure SQL Database can execute without manual approval, provided automatic tuning is enabled. Modifying statistics (B) is not an automatic tuning action — statistics updates are handled separately by the database engine's automatic statistics maintenance, not by the automatic tuning feature.

Enabling database compression (E) is a manual performance optimization and is not part of the automatic tuning recommendation set.

Exam trap

DP-300 often tests the exact set of automatic tuning options — candidates include 'modify statistics' or 'compression' because they sound like tuning actions, but only CREATE INDEX, DROP INDEX, and FORCE LAST GOOD PLAN are automatic tuning recommendations.

119
MCQhard

Your company uses Azure SQL Managed Instance. You need to automate the execution of a stored procedure that processes sales data every night at 2 AM. The solution must use native capabilities and minimize latency. What should you do?

A.Create an Elastic Database Job to run the stored procedure on the target database.
B.Use Azure Logic Apps with a recurrence trigger to call the stored procedure via a connector.
C.Create a SQL Agent job with a schedule to execute the stored procedure.
D.Deploy an Azure Function with a timer trigger to invoke the stored procedure via the SQL binding.
AnswerC

SQL Agent is built into Azure SQL Managed Instance and runs T-SQL jobs on a schedule, so a nightly job at 2 AM executes the stored procedure natively with no external orchestrator or added latency.

Why this answer

SQL Agent is a native component of Azure SQL Managed Instance and supports scheduled job execution with T-SQL steps, making it the correct choice for running a stored procedure nightly at 2 AM. It minimizes latency because the job runs directly on the instance without external orchestration or network hops.

Exam trap

The trap is assuming that because Elastic Jobs and Azure Functions are newer, they are always preferred; the exam tests recognition that SQL Agent is native and lowest-latency for MI.

How to eliminate wrong answers

Option A is wrong because Elastic Database Jobs are designed for Azure SQL Database, not Managed Instance, and add unnecessary complexity. Option B is wrong because Logic Apps introduce external latency and require a connector, which contradicts the requirement to minimize latency and use native capabilities. Option D is wrong because Azure Functions with SQL bindings are external compute and not native to the instance, adding latency and management overhead.

120
MCQmedium

You are deploying an Azure SQL Database for a new application. The database must be encrypted at rest using Transparent Data Encryption (TDE) with a customer-managed key stored in Azure Key Vault. You need to ensure that the key is automatically rotated every 90 days and that the database remains accessible if the key is rotated. What should you configure?

A.Use Always Encrypted with a column master key stored in Azure Key Vault and configure automatic rotation.
B.Enable TDE with a service-managed key and configure automatic key rotation in the Azure portal.
C.Create an Azure Key Vault, generate a key, and configure the SQL server's TDE protector to use that key. Then set up a key rotation policy in Key Vault.
D.Store the key in Azure Key Vault and manually update the TDE protector every 90 days using PowerShell scripts.
AnswerC

To use a customer-managed key for TDE, you store the key in Azure Key Vault and set it as the TDE protector for the logical server. Key Vault supports rotation policies that automatically generate new key versions, and Azure SQL Database automatically uses the latest version if configured to do so, ensuring continuous access.

Why this answer

Configuring TDE with a customer-managed key in Azure Key Vault and setting a rotation policy in Key Vault enables automatic key rotation. Azure SQL Database automatically uses the latest key version when the key is rotated, provided the server is configured to use the latest version. This meets the 90-day rotation and continuous access requirements.

Exam trap

The trap here is confusing TDE with Always Encrypted or assuming that manual key updates are sufficient, when the requirement explicitly calls for automatic rotation.

121
MCQeasy

You are configuring Azure SQL Database firewall rules. You need to allow a team of developers to connect from their office IP range (192.168.1.0/24) to a specific database. The developers should not be able to access other databases on the same logical server. What should you do?

A.Create a private endpoint for the database.
B.Add a server-level firewall rule for the IP range 192.168.1.0/24.
C.Add a database-level firewall rule for the IP range 192.168.1.0/24.
D.Configure a virtual network service endpoint for the server.
AnswerC

Database-level firewall rules apply only to the specified database, not the whole logical server. A server-level rule would grant the developers access to every database on that server, breaching the isolation requirement. Scoping the rule to 192.168.1.0/24 at database level satisfies the constraint that other databases remain unreachable.

Why this answer

Database-level firewall rules in Azure SQL Database allow you to restrict access to a specific database on a logical server, rather than the entire server. By adding a rule for the IP range 192.168.1.0/24 at the database level, the developers can connect only to that database, and they will be blocked from accessing other databases on the same server. This is the correct approach because server-level rules would grant access to all databases, which violates the requirement.

Exam trap

The trap here is that candidates often assume server-level firewall rules are sufficient for all scenarios, but the DP-300 exam tests the distinction that database-level rules are required when you need to restrict access to a specific database on a logical server.

How to eliminate wrong answers

Option A is wrong because a private endpoint connects the database to a virtual network privately, but it does not restrict access to a specific database; it still requires firewall rules to control which clients can connect. Option B is wrong because a server-level firewall rule for the IP range would allow the developers to access all databases on the logical server, not just the specific one. Option D is wrong because a virtual network service endpoint integrates the server with a VNet but does not provide per-database access control; it still relies on server-level firewall rules and would allow access to all databases.

122
Drag & Dropmedium

Drag and drop the steps to configure an Azure SQL Managed Instance link for disaster recovery in the correct order.

Drag or tap steps into the slots.

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

Why this order

The link requires a secondary instance first, then establishing the link, configuring as readable, monitoring, and failing over when needed.

123
MCQhard

Your Azure SQL Database contains sensitive customer data. You need to implement column-level encryption so that only authorized users can read specific columns. The encryption must be managed by the application, not the database. What should you use?

A.Implement Always Encrypted with column master key stored in Azure Key Vault.
B.Use dynamic data masking to obfuscate the sensitive columns for unauthorized users.
C.Use Transparent Data Encryption (TDE) with customer-managed keys in Azure Key Vault.
D.Create a row-level security policy to restrict access to the sensitive rows.
AnswerA

Always Encrypted with the column master key in Azure Key Vault keeps keys outside the database engine, so encryption and decryption occur in the application driver. This satisfies the requirement that the application, not the database, manages encryption.

Why this answer

Always Encrypted is the correct choice because it ensures that sensitive data is encrypted at the column level and that the encryption keys are never revealed to the database engine. By storing the column master key in Azure Key Vault and using client-side encryption, the application manages the encryption and decryption process, so only authorized users with access to the key can read the plaintext data. This meets the requirement that encryption be managed by the application, not the database.

Exam trap

The trap here is that candidates often confuse dynamic data masking with encryption, or assume TDE provides column-level control, but the key differentiator is that Always Encrypted keeps encryption keys client-side, fulfilling the 'managed by the application' requirement.

How to eliminate wrong answers

Option B is wrong because dynamic data masking only obfuscates data at query time for unauthorized users but does not encrypt the data at rest or in transit, and the database still holds the plaintext values, so it does not meet the requirement for application-managed encryption. Option C is wrong because Transparent Data Encryption (TDE) encrypts the entire database at rest but does not provide column-level granularity, and the encryption is managed by the database engine, not the application. Option D is wrong because row-level security restricts access to rows based on predicates but does not encrypt the data, and it is managed by the database, not the application.

124
MCQmedium

You need to automate the execution of a T-SQL script against all user databases in an Azure SQL Database elastic pool. The script should run on a schedule and results should be logged to a table. Which feature should you use?

A.SQL Agent jobs
B.Azure Data Factory
C.Azure Automation with PowerShell runbooks
D.Elastic Database Jobs
AnswerD

Elastic Database Jobs run T-SQL across every database in a pool from a job agent, using a target group rather than per-database connections. This satisfies the scheduled, pool-wide execution requirement, and job step output can be written to a logging table.

Why this answer

Elastic Database Jobs are designed for executing T-SQL across many databases in a pool. SQL Agent is not available in Azure SQL Database. Azure Automation runbooks can run T-SQL but require more setup.

Azure Data Factory is for data movement, not T-SQL execution.

125
Multi-Selectmedium

You manage an Azure SQL Managed Instance. You need to monitor storage space usage. Which TWO dynamic management views can you use?

Select 2 answers
A.sys.dm_db_partition_stats
B.sys.dm_exec_query_stats
C.sys.dm_db_file_space_usage
D.sys.dm_db_log_space_usage
E.sys.dm_os_performance_counters
AnswersC, D

`sys.dm_db_file_space_usage` returns page counts per database file, split into allocated, unallocated and mixed-extent categories, letting you track space consumed within each data and log file. This directly satisfies the requirement to monitor storage space usage on the managed instance, since it exposes per-file consumption without relying on instance-level or host-level metrics.

Why this answer

Options C and D are correct. sys.dm_db_file_space_usage provides data file space usage, and sys.dm_db_log_space_usage provides transaction log space usage. Option A is incorrect because sys.dm_db_partition_stats shows row counts and partition-level information, not storage space. Option B is incorrect because sys.dm_exec_query_stats is for query performance metrics.

Option E is incorrect because sys.dm_os_performance_counters includes various performance counters but does not directly show per-database space usage.

126
MCQmedium

You manage an Azure SQL Database that runs a reporting workload. Users report that a complex stored procedure occasionally returns results in under 5 seconds but sometimes takes over 60 seconds. You have enabled Query Store with the default settings. You need to identify the plan that is causing the slow executions and force the faster plan. Which Query Store report should you use?

A.Top Resource Consuming Queries
B.Regressed Queries
C.Queries With High Variation
D.Query Wait Statistics
AnswerC

Queries With High Variation highlights queries that have multiple execution plans with significantly different performance metrics. This directly addresses the scenario where a stored procedure sometimes runs fast and sometimes slow. From this report, you can drill into the query and force the better-performing plan, resolving the inconsistent performance.

Why this answer

The stored procedure alternates between fast and slow executions, which indicates multiple execution plans with varying performance. The Queries With High Variation report in Query Store is designed to surface exactly this pattern. It allows you to compare plans and force the efficient plan, stabilizing performance.

The other reports focus on resource consumption, waits, or regressions, but not on plan-to-plan variability.

Exam trap

The trap here is assuming that Regressed Queries will show plan variability, when it only shows queries that have degraded relative to a baseline, not those with multiple competing plans.

127
MCQmedium

You are tuning an Azure SQL Database that uses the General Purpose service tier. The database experiences performance issues during peak hours, and you notice a high number of PAGEIOLATCH_SH waits. You need to reduce these waits. What should you do?

A.Enable Query Store.
B.Switch to the Business Critical service tier.
C.Increase the database's max size.
D.Scale up the database to a higher compute size.
AnswerB

The Business Critical service tier uses local SSD storage, which provides lower I/O latency compared to the remote storage used in General Purpose. This directly reduces PAGEIOLATCH_SH waits by improving I/O performance. Therefore, switching to Business Critical is the most effective action to address these waits.

Why this answer

PAGEIOLATCH_SH waits indicate that queries are waiting for data pages to be read from disk. In the General Purpose tier, storage is remote and can introduce latency. The Business Critical tier uses local SSD, which significantly reduces I/O latency and thus these waits.

Other actions like enabling Query Store or increasing max size do not address the underlying I/O bottleneck.

Exam trap

The trap here is assuming that scaling up compute size will always reduce I/O waits, but in General Purpose the storage architecture is the limiting factor, and moving to Business Critical is the direct fix.

128
Multi-Selecthard

You need to automate the deployment of Azure SQL Database with a specific configuration across multiple environments (dev, test, prod). The deployment must include firewall rules, auditing settings, and threat detection policies. Which THREE tools can be used to implement this automation?

Select 3 answers
A.ARM templates with Bicep
B.Azure Migrate
C.Azure PowerShell
D.Azure Data Studio
E.Azure CLI
AnswersA, C, E

Bicep is a declarative DSL that transpiles to ARM templates, letting you define the database, firewall rules, auditing, and threat detection policies once and redeploy identically across dev, test, and prod. Parameter files handle per-environment differences.

Why this answer

ARM templates with Bicep (A) are correct because Bicep is a declarative IaC language that transpiles to ARM JSON, allowing you to define Azure SQL Database resources, firewall rules, auditing settings, and threat detection policies as code and deploy them idempotently across dev, test, and prod. Azure PowerShell (C) is correct because cmdlets such as New-AzSqlServerFirewallRule, Set-AzSqlServerAudit, and Set-AzSqlDatabaseThreatDetectionPolicy let you script the full deployment and configuration of Azure SQL Database programmatically. Azure CLI (E) is correct because commands like az sql server firewall-rule create, az sql server audit-policy update, and az sql db threat-policy update provide cross-platform scripting for the same automation.

Azure Migrate (B) is not correct because it is a discovery, assessment, and migration service for on-premises workloads, not a deployment automation tool. Azure Data Studio (D) is not correct because it is an interactive query and management client, not an automation or infrastructure-as-code tool for repeatable multi-environment deployments.

Exam trap

The trap is selecting tools that are database management or migration focused (Azure Data Studio, Azure Migrate) instead of infrastructure automation tools; candidates must recognize that automation of deployment requires IaC or CLI/PowerShell, not client query tools.

129
MCQeasy

You need to ensure that all users accessing Azure SQL Database from outside the corporate network are required to use multi-factor authentication (MFA). What should you configure?

A.Enable Azure RBAC for the SQL server.
B.Configure a Conditional Access policy in Microsoft Entra ID.
C.Create an Azure Policy to require MFA.
D.Turn on Transparent Data Encryption (TDE).
AnswerB

Conditional Access evaluates sign-in conditions and enforces authentication strength, so a policy targeting users outside the corporate network can require MFA. This satisfies the constraint of enforcing MFA specifically for external access, which SQL firewall rules alone cannot do.

Why this answer

Conditional Access policies in Microsoft Entra ID (formerly Azure AD) allow you to enforce MFA based on network location, device state, or risk level. By configuring a policy that targets the Azure SQL Database application and requires MFA for all access from outside the corporate network, you meet the requirement without altering the database or server configuration.

Exam trap

The trap here is confusing Azure Policy (which governs resource configuration compliance) with Conditional Access (which governs user authentication and access conditions), leading candidates to choose Azure Policy when only Conditional Access can enforce MFA at the sign-in level.

How to eliminate wrong answers

Option A is wrong because Azure RBAC controls management-plane permissions (who can create, delete, or modify the SQL server), not data-plane authentication or MFA enforcement for user connections. Option C is wrong because Azure Policy enforces compliance rules on Azure resource configurations (e.g., requiring TDE or auditing), but it cannot enforce MFA at the authentication layer for database users. Option D is wrong because Transparent Data Encryption (TDE) encrypts data at rest, not in transit or during authentication, and has no effect on MFA requirements.

130
MCQmedium

You are implementing automated table partitioning maintenance for a large Azure SQL Database. The partitioning function uses a monthly range. You need to add a new partition for the next month and remove the oldest partition. What is the best way to automate this?

A.Create a stored procedure that uses SELECT INTO to copy old data to a history table and then TRUNCATE the partition.
B.Use ALTER INDEX REORGANIZE to compress old partitions.
C.Schedule a T-SQL script via Elastic Database Jobs that uses ALTER PARTITION FUNCTION to SPLIT the range and MERGE the oldest boundary.
D.Use the SWITCH PARTITION operation to move the oldest partition to a staging table and then drop the staging table.
AnswerC

ALTER PARTITION FUNCTION ... SPLIT adds the next month's boundary, while MERGE collapses the oldest one, keeping the monthly range current. Elastic Database Jobs run this T-SQL on a schedule without external compute, satisfying the automation requirement for Azure SQL Database, where SQL Agent is unavailable.

Why this answer

The correct approach is to schedule a T-SQL script via Elastic Database Jobs that uses ALTER PARTITION FUNCTION ... SPLIT to add a new boundary for the next month and MERGE to remove the oldest boundary. This automates partition maintenance without moving data or dropping tables, and Elastic Database Jobs provide cross-database scheduling native to Azure SQL Database.

Exam trap

DP-300 often tests the difference between SWITCH (moves data between a partition and a table) and SPLIT/MERGE (changes partition boundaries); candidates may choose SWITCH alone, forgetting that it does not update the partition function.

How to eliminate wrong answers

Option A is wrong because SELECT INTO copies data and TRUNCATE removes all rows from a partition, which is inefficient and does not maintain the partition function boundaries; it also loses partition metadata. Option B is wrong because ALTER INDEX REORGANIZE only defragments indexes and does not add or remove partitions. Option D is wrong because SWITCH PARTITION moves a partition to a staging table, but it does not update the partition function boundaries; without SPLIT/MERGE the function still expects the old range, and dropping the staging table does not remove the boundary.

131
MCQmedium

Your Azure SQL Managed Instance is configured with a long-term backup retention policy of 10 years. You need to reduce storage costs while still meeting a compliance requirement to retain monthly backups for 7 years. What should you do?

A.Configure a new long-term retention policy that retains monthly backups for 7 years.
B.Disable long-term backup retention and rely solely on point-in-time restore backups.
C.Set the point-in-time restore retention period to 7 years.
D.Migrate the database to Azure SQL Database and use geo-redundant storage.
AnswerA

Replacing the 10-year policy with a 7-year monthly retention schedule satisfies the compliance requirement while eliminating three years of unnecessary stored backups. Long-term retention policies are configurable per database, so the change directly reduces storage consumption without affecting the mandated retention window.

Why this answer

Azure SQL Managed Instance long-term retention (LTR) policies are defined per-database and specify separate weekly, monthly, and yearly retention periods; you can set the monthly retention to 7 years while removing or shortening the other tiers. This directly satisfies the compliance requirement (monthly backups kept 7 years) while eliminating the storage cost of the unnecessary 10-year policy. LTR backups are stored in Azure Blob storage and billed separately from the instance, so right-sizing the policy is the correct cost-optimization action.

Exam trap

DP-300 often tests the confusion between PITR retention (max 35 days) and LTR retention (up to 10 years), tricking candidates into thinking PITR can be extended to meet long-term compliance windows.

How to eliminate wrong answers

Option B is wrong because point-in-time restore (PITR) backups are limited to a maximum of 35 days and cannot satisfy a 7-year retention requirement — disabling LTR would violate compliance. Option C is wrong because the PITR retention period on SQL Managed Instance maxes out at 35 days; it cannot be set to 7 years, and PITR is not a substitute for LTR. Option D is wrong because migrating to Azure SQL Database does not address the retention requirement, changes the deployment model unnecessarily, and geo-redundant storage affects durability/replication, not retention duration.

132
Multi-Selectmedium

Which TWO metrics from sys.dm_db_resource_stats should you monitor to identify a disk IO bottleneck in an Azure SQL Database?

Select 2 answers
A.avg_cpu_percent
B.max_size_percent
C.avg_data_io_percent
D.avg_memory_usage_percent
E.avg_log_write_percent
AnswersC, E

avg_data_io_percent reports the percentage of the data-file IOPS limit consumed, directly exposing data disk saturation. Monitoring it identifies a disk IO bottleneck caused by read or write activity against data files, satisfying the stem's requirement in Azure SQL Database.

Why this answer

The two correct metrics are C, avg_data_io_percent, and E, avg_log_write_percent. avg_data_io_percent reports the percentage of the data-file IOPS/throughput limit consumed by the database, so sustained values near 100% directly indicate a data-file disk IO bottleneck. avg_log_write_percent reports the percentage of the log-write throughput limit consumed, so elevated values reveal a transaction-log write bottleneck. Together these two IO-related counters isolate disk IO pressure in Azure SQL Database. The unmarked options do not belong: avg_cpu_percent (A) measures compute utilization, max_size_percent (B) tracks storage-space consumption against the size limit, and avg_memory_usage_percent (D) measures memory pressure, none of which identify disk IO bottlenecks.

Exam trap

DP-300 often tests whether candidates can map a symptom (disk IO bottleneck) to the correct DMV columns — the trap is picking avg_cpu_percent or avg_memory_usage_percent because they are the most familiar resource metrics.

133
MCQmedium

A DBA manages an Azure SQL Managed Instance and needs to automate a weekly full backup of a user database to an Azure Storage account. The solution must use native SQL Server functionality and minimize custom code. What should the DBA do?

A.Use Azure Data Factory with a copy activity to export the database to a storage account weekly.
B.Create an Azure Automation runbook that runs a PowerShell script using the Invoke-Sqlcmd cmdlet to perform a backup.
C.Create a SQL Server Agent job with a T-SQL step that executes BACKUP DATABASE TO URL.
D.Configure automated backups in the Azure portal to write to a custom storage account.
AnswerC

Azure SQL Managed Instance supports native BACKUP DATABASE TO URL, which writes backups directly to Azure Blob Storage. SQL Server Agent is available on Managed Instance, so scheduling a job with a T-SQL step is a native, low-code solution. This meets the requirement without external orchestration.

Why this answer

Azure SQL Managed Instance supports SQL Server Agent and native BACKUP DATABASE TO URL. Creating an Agent job with a T-SQL step that executes the backup to Azure Blob Storage provides a native, scheduled solution with minimal custom code. This is the most straightforward way to automate weekly full backups to a storage account.

Exam trap

The trap here is assuming that Azure SQL Managed Instance automated backups can be configured to write to a user-specified storage account, when they are actually service-managed and not customizable.

134
Multi-Selectmedium

You are a database administrator for a retail company that uses Azure SQL Database. You need to automate the process of detecting and responding to high CPU usage. You want to create an alert that triggers an action when CPU usage exceeds 80% for 10 minutes. Which two components must you configure? (Choose two.)

Select 2 answers
A.An action group that defines the notification and action types.
B.A diagnostic setting that streams resource logs to a Log Analytics workspace.
C.An alert rule in Azure Monitor with a metric signal for CPU percentage.
D.An Elastic Job that runs a T-SQL script to scale the database when the alert fires.
E.A Log Analytics workspace to store the CPU metrics for analysis.
AnswersA, C

An action group specifies what happens when an alert fires, such as sending an email, SMS, or triggering a runbook. To respond to high CPU usage, you must associate an action group with the alert rule. Without an action group, the alert would only be visible in the Azure portal but would not perform any automated response.

Why this answer

To automate detection and response to high CPU usage, you need an alert rule that monitors the CPU percentage metric and an action group that defines the response. The alert rule evaluates the condition and fires when the threshold is exceeded. The action group then executes the specified actions, such as sending notifications or triggering automation.

Diagnostic settings and Log Analytics are not required for metric alerts, and Elastic Jobs are not triggered by alerts.

Exam trap

The trap here is confusing metric alerts with log alerts; metric alerts do not require diagnostic settings or a Log Analytics workspace.

135
MCQeasy

You need to audit all successful and failed login attempts on an Azure SQL Database. Which feature should you enable?

A.Microsoft Defender for SQL threat detection.
B.SQL Vulnerability Assessment.
C.Enable Microsoft Defender for Cloud's regulatory compliance dashboard.
D.SQL Server Audit with a server-level audit specification that includes SUCCESSFUL_LOGIN_GROUP and FAILED_LOGIN_GROUP.
AnswerD

SQL Server Audit with a server-level specification capturing SUCCESSFUL_LOGIN_GROUP and FAILED_LOGIN_GROUP records both successful and failed login attempts. Server-level scope is required because login events occur at the server, not database, level in Azure SQL Database.

Why this answer

SQL Server Audit is the correct feature because it allows you to capture both successful and failed login attempts at the server level by defining a server audit specification that includes the SUCCESSFUL_LOGIN_GROUP and FAILED_LOGIN_GROUP audit action groups. These groups specifically log authentication events, which is exactly what is needed to audit all login attempts. Microsoft Defender for SQL, Vulnerability Assessment, and regulatory compliance dashboards do not provide granular login event auditing.

Exam trap

The trap here is that candidates often confuse Microsoft Defender for SQL's threat detection (which does log some security events) with the dedicated, configurable SQL Server Audit feature that is required for explicit login auditing.

How to eliminate wrong answers

Option A is wrong because Microsoft Defender for SQL threat detection focuses on identifying anomalous database activities and potential threats, not on auditing individual login success or failure events. Option B is wrong because SQL Vulnerability Assessment is a tool for discovering, tracking, and remediating potential database vulnerabilities, not for capturing login audit logs. Option C is wrong because the regulatory compliance dashboard in Microsoft Defender for Cloud provides a view of compliance posture against standards like CIS or SOC 2, but does not itself generate or store login audit records.

136
MCQeasy

You are configuring security for an Azure SQL Database. You need to ensure that only traffic from a specific virtual network and a specific set of public IP addresses can connect to the database. Which two features should you enable?

A.Microsoft Entra ID authentication and firewall rules
B.VNet service endpoints and firewall rules
C.Advanced Threat Protection and VNet service endpoints
D.Private endpoint and VNet service endpoints
AnswerB

VNet service endpoints restrict connectivity to the specified subnet, while firewall rules permit the named public IP addresses. Together they satisfy the requirement that only that virtual network and those public IPs can reach the Azure SQL Database.

Why this answer

To restrict access to an Azure SQL Database to traffic from a specific virtual network and a specific set of public IP addresses, you need to combine VNet service endpoints with firewall rules. VNet service endpoints allow you to restrict inbound traffic from a specific subnet in a virtual network, while firewall rules (IP-based) allow you to specify allowed public IP address ranges. Together, they provide a layered network security approach that meets the requirement.

Exam trap

The trap here is that candidates often confuse network-level controls (firewall rules, service endpoints) with identity/security monitoring features (Entra ID, ATP), leading them to pick options that address authentication or threat detection instead of network access restrictions.

How to eliminate wrong answers

Option A is wrong because Microsoft Entra ID authentication controls identity and access (who can connect), not network-level traffic filtering (where traffic originates). Option C is wrong because Advanced Threat Protection is a security monitoring and threat detection service, not a network access control mechanism. Option D is wrong because Private endpoint and VNet service endpoints are both network-level features, but private endpoint uses a private IP address from your VNet and does not support allowing a specific set of public IP addresses; it only allows traffic from the VNet, not from public IPs.

137
MCQeasy

Refer to the exhibit. An administrator runs this Azure CLI command. What is the immediate effect?

A.The server's performance tier is changed to S2.
B.The OrdersDB database's service objective is updated to S2.
C.The database is scaled down from a higher tier to S2.
D.A new database named OrdersDB is created with S2 tier.
AnswerB

The command alters the database's service objective, moving it to the S2 performance level within its existing elastic pool or standalone tier. This immediately changes the compute and DTU allocation applied to OrdersDB, taking effect without recreating the database.

Why this answer

The Azure CLI command 'az sql db update' with '--service-objective S2' modifies the service tier of an existing database. The immediate effect is that the OrdersDB database's service objective is changed to S2, which alters its performance level and cost. It does not create a new database or change the server tier.

Exam trap

The trap is confusing 'server' with 'database' in Azure SQL — candidates often assume the command affects the logical server, but Azure SQL Database service objectives apply per database, not per server.

How to eliminate wrong answers

Option A is wrong because the command targets a database, not the logical SQL server — server performance tiers are not a concept in Azure SQL Database (servers are just logical containers). Option C is wrong because the command does not specify a previous tier; it simply sets the target service objective to S2, regardless of whether the database was previously higher or lower. Option D is wrong because 'az sql db update' modifies an existing database — creating a new database requires 'az sql db create'.

138
Matchingmedium

Match each Azure SQL Database security feature to its purpose.

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

Concepts
Matches

Encrypts data at rest

Encrypts sensitive data in transit and at rest

Limits exposure of sensitive data by masking it to non-privileged users

Restricts access to rows based on user characteristics

Why these pairings

TDE protects data at rest by encrypting the database files. Always Encrypted protects data in use by encrypting on the client side. Dynamic Data Masking hides sensitive data in query results from unauthorized users.

Common confusions involve mixing up TDE and Always Encrypted.

139
MCQhard

You administer an Azure SQL Managed Instance that hosts a mission-critical database. You need to configure an automated task that will execute a T-SQL script to perform a full backup of the database to a URL every night at midnight. The solution must use built-in Azure capabilities and minimize cost. What should you use?

A.Azure Automation runbook with a schedule
B.Azure Logic Apps with a recurrence trigger
C.Elastic Database Jobs
D.SQL Server Agent job on the managed instance
AnswerD

Azure SQL Managed Instance includes SQL Server Agent, which is fully supported. You can create a job with a T-SQL step that runs BACKUP DATABASE TO URL, and schedule it to run daily at midnight. This uses the built-in capabilities of the managed instance and does not require additional Azure services, minimizing cost and administrative effort.

Why this answer

Azure SQL Managed Instance includes SQL Server Agent, which allows you to create and schedule T-SQL jobs. For a nightly full backup to URL, a SQL Server Agent job with a T-SQL step is the most straightforward and cost-effective solution, leveraging existing functionality without extra services.

Exam trap

The trap here is overlooking that SQL Server Agent is available on Azure SQL Managed Instance, unlike Azure SQL Database.

140
MCQmedium

Your company has an Azure SQL Database in the General Purpose tier. You need to reduce the recovery point objective (RPO) from 1 hour to less than 1 minute for disaster recovery. Which action should you take?

A.Increase the backup retention period to 35 days.
B.Upgrade the database to Business Critical tier.
C.Enable zone redundancy on the database.
D.Increase the DTU or vCore count.
AnswerB

Upgrading to Business Critical adds synchronous replicas within the region for local HA, but geo-replication remains asynchronous with ~1 hour RPO. It does not achieve sub-minute geo RPO.

Why this answer

None of the listed options reduce the geo-replication RPO to under 1 minute. Upgrading to Business Critical (B) improves local HA with synchronous replicas but does not affect geo-replication, which remains asynchronous with an RPO of about 1 hour. Enabling zone redundancy (C) protects against zone failures, not regional disasters.

Increasing backup retention (A) or DTU/vCore (D) does not change replication mode. To achieve sub-minute RPO for geo-disaster recovery, you must configure Active Geo-Replication or a failover group, which are not among the options.

Exam trap

Do not confuse local high availability (within region) with geo-disaster recovery (across regions). Business Critical's synchronous replicas are in the same region and do not improve geo-replication RPO.

141
MCQeasy

You are monitoring an Azure SQL Database using sys.dm_db_wait_stats. You see a high percentage of WRITELOG waits. What is the most likely cause?

A.Tempdb has allocation contention.
B.The transaction log is on a slow I/O subsystem.
C.Queries are blocked by locks.
D.CPU is under pressure.
AnswerB

WRITELOG waits occur when sessions wait for transaction log writes to complete. A high proportion indicates the log's I/O subsystem cannot keep pace with commit throughput, making slow log storage the direct cause rather than data file or CPU contention.

Why this answer

WRITELOG waits occur when a session is waiting for the transaction log to be written to disk, typically at commit time. A high percentage of WRITELOG waits therefore points to slow transaction log I/O — the log disk cannot keep up with the write rate, so commits stall.

Exam trap

DP-300 often tests whether candidates can map wait types to root causes — the trap is confusing WRITELOG (log I/O) with PAGELATCH (tempdb allocation) or LCK (blocking).

How to eliminate wrong answers

Option A is wrong because tempdb allocation contention shows up as PAGELATCH_* waits (e.g., PAGELATCH_EX/UP on tempdb allocation pages), not WRITELOG. Option C is wrong because blocking is reflected in LCK_* waits (LCK_M_S, LCK_M_X, etc.), not WRITELOG. Option D is wrong because CPU pressure manifests as SOS_SCHEDULER_YIELD, CXPACKET, or THREADPOOL waits, not WRITELOG.

142
MCQhard

You are responsible for a SQL Server 2019 instance on an Azure VM. The VM is part of a failover cluster instance (FCI) using Azure shared disks. During a recent failover test, the cluster took 15 minutes to bring the database online. You need to reduce the failover time to under 5 minutes. What should you do?

A.Remove unnecessary databases from the FCI and distribute them to other instances.
B.Upgrade the VM to a larger size with more CPU and memory.
C.Increase the size of the Azure shared disks.
D.Enable instant file initialization on all SQL Server instances.
AnswerA

Fewer databases to recover reduces failover time.

Why this answer

Removing unnecessary databases from the FCI reduces the number of databases that need to be recovered during failover, thereby decreasing the overall failover time. Option A is correct. Option B is incorrect because upgrading the VM does not directly reduce the number of databases to recover.

Option C is incorrect because increasing disk size does not improve failover time. Option D is incorrect because instant file initialization helps with file growth, not failover recovery.

143
MCQeasy

You are monitoring an Azure SQL Database using dynamic management views (DMVs). You want to identify the top queries by total CPU time over the last hour. Which DMV should you query?

A.sys.dm_exec_query_stats
B.sys.dm_exec_requests
C.sys.dm_db_index_usage_stats
D.sys.dm_db_resource_stats
AnswerA

sys.dm_exec_query_stats aggregates cumulative execution statistics per cached query plan, exposing total_worker_time as the CPU metric. Querying it ordered by total_worker_time DESC yields the top CPU-consuming queries, satisfying the requirement to rank queries by total CPU time over the last hour.

Why this answer

sys.dm_exec_query_stats exposes cumulative per-plan statistics including total_worker_time, which represents total CPU time consumed by a query plan. Aggregating and ordering by total_worker_time identifies the top CPU-consuming queries. It is the standard DMV for query-level CPU analysis in Azure SQL Database.

Exam trap

DP-300 often tests the distinction between cumulative query statistics (sys.dm_exec_query_stats) and instantaneous or resource-level DMVs — candidates pick sys.dm_db_resource_stats because it mentions 'resource' and sounds like CPU monitoring.

How to eliminate wrong answers

Option B is wrong because sys.dm_exec_requests only shows currently executing requests, so it cannot report total CPU time over the last hour for completed queries. Option C is wrong because sys.dm_db_index_usage_stats tracks index seek/scan/lookup counts and last usage timestamps, not query CPU consumption. Option D is wrong because sys.dm_db_resource_stats reports database-level resource utilization (CPU percentage, IO, memory) at roughly 15-second intervals, not per-query CPU totals.

144
MCQeasy

You need to prevent users from accidentally deleting an Azure SQL Database. What should you configure?

A.Apply a 'CanNotDelete' Azure Resource Lock on the resource group.
B.Revoke the db_ddladmin role from users.
C.Create an Azure Policy to deny SQL Database creation.
D.Set a deny rule in the SQL Database firewall.
AnswerA

A CanNotDelete resource lock prevents deletion of the database and its parent resources regardless of RBAC permissions, directly satisfying the requirement to stop accidental deletion. It blocks delete operations while still permitting reads and writes.

Why this answer

A 'CanNotDelete' Azure Resource Lock on the resource group prevents any user, including those with high-level permissions like Owner, from deleting the Azure SQL Database. This lock overrides all role-based access control (RBAC) permissions at the resource or resource group level, ensuring accidental deletion is blocked even if a user has delete permissions.

Exam trap

The trap here is that candidates confuse database-level permissions (like db_ddladmin) with Azure Resource Manager-level operations, mistakenly thinking that revoking schema modification rights will prevent database deletion, when in fact deletion is an ARM operation controlled by locks or RBAC at the subscription/resource group scope.

How to eliminate wrong answers

Option B is wrong because revoking the db_ddladmin role prevents users from modifying the database schema (e.g., creating or altering tables), but it does not prevent deletion of the database itself, which is an Azure Resource Manager (ARM) operation, not a SQL Server-level operation. Option C is wrong because creating an Azure Policy to deny SQL Database creation prevents new databases from being provisioned, but it does not protect an existing database from being deleted. Option D is wrong because setting a deny rule in the SQL Database firewall controls network access to the database (blocking IP addresses), but it has no effect on the ability to delete the database resource via ARM.

145
MCQhard

You are reviewing an Azure Resource Manager template snippet for configuring long-term backup retention for an Azure SQL Database. The deployment fails with an error indicating the storage account is not accessible. What is the most likely cause?

A.The server name in the template does not match the actual server
B.The storage container URI is incorrectly formatted
C.The SAS token has expired or is invalid
D.The database is not in the same region as the storage account
AnswerC

Long-term retention writes backups to an Azure Storage account using a SAS token embedded in the ARM template. If that token has expired or is malformed, the storage account rejects access, producing exactly the accessibility failure described.

Why this answer

The error indicates that the storage account is not accessible. In the template, a SAS token is used to authenticate access to the storage container for long-term backup retention. The most common reason for this error is that the SAS token has expired or is invalid, as SAS tokens have an expiration date.

Therefore, Option C is correct. Option A is incorrect because the server name mismatch would cause a different error. Option B is incorrect because the URI format may be valid, but the token is the issue.

Option D is incorrect because cross-region storage is supported for long-term retention.

146
Multi-Selecthard

You are a database administrator for a financial services company that uses Azure SQL Database. You need to automate the deployment of schema changes across multiple databases in a development environment. The solution must support version control, allow rollback to a previous state, and minimize manual intervention. Which two actions should you perform? (Choose two.)

Select 2 answers
A.Store the database schema as a SQL project in an Azure Repos Git repository and configure a build pipeline to generate a DACPAC artifact.
B.Configure Azure Automation runbooks to execute ALTER statements against each database on a schedule.
C.Use Azure DevOps Pipelines with a DACPAC deployment task to apply schema changes from a SQL project.
D.Implement Elastic Jobs to run T-SQL scripts that apply schema changes to each database.
E.Use SQL Server Data Tools (SSDT) to manually publish schema changes to each database from a developer workstation.
AnswersA, C

Storing the schema as a SQL project in Azure Repos Git provides version control. A build pipeline that generates a DACPAC artifact ensures that the schema is packaged for deployment. This, combined with a release pipeline, enables automated deployment and rollback to any previous version, fulfilling the requirements.

Why this answer

A CI/CD pipeline using Azure DevOps with a SQL project in Git and DACPAC deployment provides version control, automated deployment, and rollback capabilities. The combination of storing the schema in a Git repository and using a DACPAC deployment task ensures that schema changes are tracked, tested, and can be rolled back to a previous state with minimal manual effort.

Exam trap

The trap here is focusing on tools that can execute T-SQL but overlooking the need for version control and rollback, which are best addressed by a CI/CD pipeline with DACPAC.

147
MCQhard

Refer to the exhibit. You are troubleshooting an Azure SQL Database auditing configuration. The exhibit shows the blob auditing policy. The storage account access key is null, and the subscription ID is all zeros. What is the most likely issue?

A.Auditing will fall back to Log Analytics workspace.
B.Auditing will work because managed identity is used.
C.Auditing will fail because the storage account access key is null.
D.Auditing will write to the storage account using the system-assigned managed identity.
AnswerC

Blob auditing writes audit logs to the storage account using its access key; a null key means the database cannot authenticate to that account. Auditing therefore fails to record events, regardless of the subscription ID placeholder shown in the exhibit.

Why this answer

The exhibit shows that the storage account access key is null, which means Azure SQL Database cannot authenticate to the storage account using the access key. Without a valid access key or a configured managed identity, blob auditing will fail because the database cannot write audit logs to the specified storage container. Option C is correct because a null access key directly prevents auditing from functioning when no alternative authentication method is configured.

Exam trap

The trap here is that candidates assume managed identity is automatically used when the access key is null, but in reality, managed identity must be explicitly configured and granted permissions, and the exhibit shows no such configuration.

How to eliminate wrong answers

Option A is wrong because auditing does not automatically fall back to Log Analytics workspace; the audit destination is explicitly set to storage, and if storage fails, auditing fails entirely unless a different destination is configured in the policy. Option B is wrong because managed identity is not automatically used; it must be explicitly enabled and assigned to the SQL Database, and the exhibit shows no indication of a managed identity being configured. Option D is wrong because writing to the storage account using a system-assigned managed identity requires that the managed identity be enabled and that the storage account grants appropriate RBAC permissions (e.g., Storage Blob Data Contributor) to that identity, which is not shown in the exhibit.

148
Multi-Selecteasy

Which TWO benefits does the Hyperscale service tier of Azure SQL Database provide?

Select 2 answers
A.Built-in in-memory OLTP support.
B.Zone-redundant configuration by default.
C.Up to 100 TB of database storage.
D.Fast provisioning of additional read replicas.
E.Zero data loss in all scenarios.
AnswersC, D

Hyperscale's architecture separates compute from a log-based storage layer that scales to 100 TB, far exceeding the 4 TB limit of General Purpose and Business Critical. This satisfies the large-storage benefit the question asks about.

Why this answer

Option C is correct because the Hyperscale service tier is designed to scale storage up to 100 TB (and beyond in some configurations), far exceeding the limits of General Purpose and Business Critical tiers, which is a core benefit of its architecture that separates compute from storage. Option D is correct because Hyperscale uses a page-server and log-service architecture that allows additional read replicas to be provisioned quickly and independently of the primary compute, enabling rapid scale-out for read workloads. Option A is incorrect because built-in in-memory OLTP is a feature of the Business Critical tier, not Hyperscale.

Option B is incorrect because zone-redundant configuration is not enabled by default in Hyperscale; it is an optional configuration choice. Option E is incorrect because no Azure SQL tier guarantees zero data loss in all scenarios; Hyperscale provides high durability but not an absolute zero-data-loss guarantee across every failure scenario.

Exam trap

The trap here is that candidates often confuse the Hyperscale tier's storage limit with the Business Critical tier's in-memory OLTP or zone-redundancy features, leading them to select options that are technically correct for other tiers but not for Hyperscale.

149
Multi-Selectmedium

You are designing a backup strategy for an Azure SQL Database. The database is in the General Purpose service tier and is used for a critical application. You need to ensure that you can restore the database to any point in time within the last 30 days, and you need to retain backups for 10 years for compliance. (Choose two.)

Select 2 answers
A.Enable geo-replication for the database.
B.Configure automatic backups to a storage account using SQL Server Agent.
C.Configure the backup storage redundancy to locally-redundant storage (LRS).
D.Set the point-in-time restore retention policy to 30 days.
E.Configure long-term retention (LTR) with a retention period of 10 years.
AnswersD, E

Azure SQL Database automatically retains backups for point-in-time restore (PITR) for a default of 7 days, but you can configure it up to 35 days. Setting the PITR retention policy to 30 days ensures you can restore to any point within the last 30 days, directly meeting that requirement. This is a necessary configuration for the specified recovery window.

Why this answer

To meet the requirements, you need to set the point-in-time restore retention to 30 days and configure long-term retention (LTR) for 10 years. PITR retention can be configured up to 35 days, so 30 days is achievable. LTR allows retention up to 10 years.

Backup storage redundancy and geo-replication do not affect retention periods, and SQL Server Agent is not available in Azure SQL Database. Therefore, the correct actions are configuring PITR to 30 days and LTR to 10 years.

Exam trap

The trap here is assuming that geo-replication or backup redundancy extends retention, when retention is controlled by separate PITR and LTR policies.

150
MCQhard

You administer an Azure SQL Managed Instance that hosts a database containing regulated data. The security team requires that all data be encrypted at rest with a customer-managed key stored in Azure Key Vault, and that the key be rotated annually. You configure a key in Key Vault and set the instance's Transparent Data Encryption protector to that key. Six months later, the key approaches its expiration date. What should you do to rotate the key while keeping the instance online and encrypted?

A.Enable the Key Vault 'soft delete' and 'purge protection' features, and the key will rotate automatically each year.
B.Create a new key version in the same Key Vault key and set the instance's TDE protector to the new version.
C.Disable Transparent Data Encryption on the instance, create a new key, then re-enable TDE with the new key.
D.Delete the old key from Key Vault and create a new key with the same name; the instance will automatically pick it up.
AnswerB

Setting the TDE protector to a new key version re-wraps the database encryption key with the new key material while the instance stays online. This is the supported rotation path for customer-managed keys and maintains continuous encryption, satisfying the annual rotation requirement.

Why this answer

Customer-managed TDE keys are rotated by pointing the instance's TDE protector at a new key version in Key Vault. The database encryption key is re-wrapped with the new material while the instance remains online and encrypted. Retention features such as soft delete protect against loss but do not rotate keys, and disabling TDE would create an unprotected window.

Exam trap

The trap here is believing that Key Vault retention features or key deletion drive rotation, when rotation actually requires updating the TDE protector to a new key version while keeping protection active.

Page 1

Page 2 of 8

Page 3

All pages