nerdexam
Microsoft

DP-300 · Question #194

Hotspot Question You have an Azure subscription. You plan to deploy an Azure SQL database by using an Azure Resource Manager template. How should you complete the template? To answer, select the…

The correct answer is "type":: "Microsoft.Sql/servers"; second dropdown selection, before "[resourceId('Microsoft.Sql/servers', concat(parameters('name1')))]": "dependsOn":[. ARM Template: Azure SQL Database Deployment --- Dropdown 1: "type": -> "Microsoft.Sql/servers" Why it's correct: An Azure SQL Database requires a logical SQL server as its parent resource. In ARM templates, the server is deployed first using Microsoft.Sql/servers, and the…

Submitted by asante_acc· Mar 6, 2026Plan and implement data platform resources

Question

Hotspot Question You have an Azure subscription. You plan to deploy an Azure SQL database by using an Azure Resource Manager template. How should you complete the template? To answer, select the appropriate options in the answer area. NOTE: Each correct selection is worth one point. Answer:

Exhibit

DP-300 question #194 exhibit

Answer Area

  • "type":"Microsoft.Sql/servers"
    "Microsoft.Sql/servers""Microsoft.SqlVirtualMachines/sqlVirtualMachines""Microsoft.Synapse/workspaces/sqldatabases"
  • second dropdown selection, before "[resourceId('Microsoft.Sql/servers', concat(parameters('name1')))]""dependsOn":[
    "dependsOn":["properties":["tags":[

Explanation

ARM Template: Azure SQL Database Deployment


Dropdown 1: "type": -> "Microsoft.Sql/servers"

Why it's correct: An Azure SQL Database requires a logical SQL server as its parent resource. In ARM templates, the server is deployed first using Microsoft.Sql/servers, and the database is then nested under it (as Microsoft.Sql/servers/databases). This is the correct resource provider namespace for PaaS Azure SQL.

Why the alternatives are wrong:

OptionWhy Wrong
Microsoft.SqlVirtualMachines/sqlVirtualMachinesThis is for SQL Server on Azure VMs (IaaS) - a full Windows/Linux VM running SQL Server. Not a managed Azure SQL Database.
Microsoft.Synapse/workspaces/sqldatabasesThis belongs to Azure Synapse Analytics, a data warehousing/analytics service. Unrelated to standard Azure SQL Database.

Concept: ARM resource types follow the pattern {ResourceProvider}/{ResourceType}. Choosing the right provider namespace is critical - Microsoft.Sql is the PaaS relational database provider.


Dropdown 2: Before [resourceId('Microsoft.Sql/servers', ...)] -> "dependsOn":[

Why it's correct: The dependsOn array declares explicit deployment ordering. If a database resource references its parent SQL server by resourceId(...), you must tell ARM to deploy the server before the database. Without this, ARM might attempt to create the database before the server exists, causing a deployment failure.

Why the alternatives are wrong:

OptionWhy Wrong
"properties":[properties defines the configuration settings of the resource (e.g., SKU, collation). A resourceId reference to a parent server is not a property - it's a dependency. Also, properties takes an object {}, not an array [].
"tags":[tags are metadata key-value pairs for organization/billing. They have nothing to do with resource relationships or deployment order.

Concept: dependsOn is ARM's mechanism for explicit dependency declaration. While ARM can infer implicit dependencies from reference() functions, dependsOn with resourceId() makes the ordering unambiguous and is the standard pattern when a child resource depends on a parent.


Key Takeaway

A standard ARM template for Azure SQL Database has this structure:

  1. Deploy Microsoft.Sql/servers (the logical server)
  2. Deploy Microsoft.Sql/servers/databases with dependsOn pointing to the server's resourceId

Topics

#ARM Templates#Azure SQL Database#Resource Dependencies#Infrastructure as Code

Community Discussion

No community discussion yet for this question.

Full DP-300 Practice