Skip to content
Docs Try Aspire

AzureSqlExtensions Methods

Class Methods 8 members
Provides extension methods for adding the Azure SQL resources to the application model.
AddAzureSqlServer(IDistributedApplicationBuilder, string) Section titled AddAzureSqlServer(IDistributedApplicationBuilder, string) extension IResourceBuilder<AzureSqlServerResource>
Adds an Azure SQL Database (server) resource to the application model.
public static class AzureSqlExtensions
{
public static IResourceBuilder<AzureSqlServerResource> AddAzureSqlServer(
this IDistributedApplicationBuilder builder,
string name)
{
// ...
}
}
builder IDistributedApplicationBuilder The builder for the distributed application.
name string The name of the resource.
IResourceBuilder<AzureSqlServerResource> A reference to the ApplicationModel.IResourceBuilder`1 builder.
AddDatabase(IResourceBuilder<AzureSqlServerResource>, string, string?) Section titled AddDatabase(IResourceBuilder<AzureSqlServerResource>, string, string?) extension IResourceBuilder<AzureSqlDatabaseResource>
Adds an Azure SQL Database to the application model. The Free Offer option will be used when deploying the resource in Azure
public static class AzureSqlExtensions
{
public static IResourceBuilder<AzureSqlDatabaseResource> AddDatabase(
this IResourceBuilder<AzureSqlServerResource> builder,
string name,
string? databaseName = null)
{
// ...
}
}
builder IResourceBuilder<AzureSqlServerResource> The builder for the Azure SQL resource.
name string The name of the resource. This name will be used as the connection string name when referenced in a dependency.
databaseName string? optional The name of the database. If not provided, this defaults to the same value as name.
IResourceBuilder<AzureSqlDatabaseResource> A reference to the ApplicationModel.IResourceBuilder`1.
AsAzureSqlDatabase(IResourceBuilder<SqlServerServerResource>) Section titled AsAzureSqlDatabase(IResourceBuilder<SqlServerServerResource>) extension IResourceBuilder<SqlServerServerResource>
Configures SQL Server resource to be deployed as Azure SQL Database (server).
public static class AzureSqlExtensions
{
public static IResourceBuilder<SqlServerServerResource> AsAzureSqlDatabase(
this IResourceBuilder<SqlServerServerResource> builder)
{
// ...
}
}
builder IResourceBuilder<SqlServerServerResource> The builder for the SQL Server resource.
IResourceBuilder<SqlServerServerResource> A reference to the ApplicationModel.IResourceBuilder`1.
PublishAsAzureSqlDatabase(IResourceBuilder<SqlServerServerResource>) Section titled PublishAsAzureSqlDatabase(IResourceBuilder<SqlServerServerResource>) extension IResourceBuilder<SqlServerServerResource>
Configures SQL Server resource to be deployed as Azure SQL Database (server).
public static class AzureSqlExtensions
{
public static IResourceBuilder<SqlServerServerResource> PublishAsAzureSqlDatabase(
this IResourceBuilder<SqlServerServerResource> builder)
{
// ...
}
}
builder IResourceBuilder<SqlServerServerResource> The builder for the SQL Server resource.
IResourceBuilder<SqlServerServerResource> A reference to the ApplicationModel.IResourceBuilder`1.
RunAsContainer(IResourceBuilder<AzureSqlServerResource>, Action<IResourceBuilder<SqlServerServerResource>>) Section titled RunAsContainer(IResourceBuilder<AzureSqlServerResource>, Action<IResourceBuilder<SqlServerServerResource>>) extension IResourceBuilder<AzureSqlServerResource>
Configures an Azure SQL Database (server) resource to run locally in a container.
public static class AzureSqlExtensions
{
public static IResourceBuilder<AzureSqlServerResource> RunAsContainer(
this IResourceBuilder<AzureSqlServerResource> builder,
Action<IResourceBuilder<SqlServerServerResource>>? configureContainer = null)
{
// ...
}
}
builder IResourceBuilder<AzureSqlServerResource> The builder for the Azure SQL resource.
configureContainer Action<IResourceBuilder<SqlServerServerResource>> optional Callback that exposes underlying container to allow for customization.
IResourceBuilder<AzureSqlServerResource> A reference to the ApplicationModel.IResourceBuilder`1 builder.
The following example creates an Azure SQL Database (server) resource that runs locally in a SQL Server container and referencing that resource in a .NET project.
var builder = DistributedApplication.CreateBuilder(args);
var data = builder.AddAzureSqlServer("data")
.RunAsContainer();
builder.AddProject<Projects.ProductService>()
.WithReference(data);
builder.Build().Run();
WithAdminDeploymentScriptStorage(IResourceBuilder<AzureSqlServerResource>, IResourceBuilder<AzureStorageResource>) Section titled WithAdminDeploymentScriptStorage(IResourceBuilder<AzureSqlServerResource>, IResourceBuilder<AzureStorageResource>) extension IResourceBuilder<AzureSqlServerResource>
Configures the Azure SQL Server to use the specified storage account for deployment script execution.
public static class AzureSqlExtensions
{
public static IResourceBuilder<AzureSqlServerResource> WithAdminDeploymentScriptStorage(
this IResourceBuilder<AzureSqlServerResource> builder,
IResourceBuilder<AzureStorageResource> storage)
{
// ...
}
}
builder IResourceBuilder<AzureSqlServerResource> The Azure SQL Server resource builder.
storage IResourceBuilder<AzureStorageResource> The storage account to use for deployment scripts.
IResourceBuilder<AzureSqlServerResource> A reference to the ApplicationModel.IResourceBuilder`1 for chaining.

When an Azure SQL Server has a private endpoint, deployment scripts require a storage account to upload scripts and write logs. This method allows you to provide an explicit storage account instead of having one auto-created.

The storage account must have AllowSharedKeyAccess enabled, as deployment scripts need to mount file shares. If the storage is not an existing resource, this method will automatically configure AllowSharedKeyAccess = true.

Provide a custom storage account for the deployment script:

var vnet = builder.AddAzureVirtualNetwork("vnet");
var peSubnet = vnet.AddSubnet("pe-subnet", "10.0.2.0/24");
var storage = builder.AddAzureStorage("scriptstorage");
var sql = builder.AddAzureSqlServer("sql")
.WithAdminDeploymentScriptStorage(storage);
peSubnet.AddPrivateEndpoint(sql);
WithAdminDeploymentScriptSubnet(IResourceBuilder<AzureSqlServerResource>, IResourceBuilder<AzureSubnetResource>) Section titled WithAdminDeploymentScriptSubnet(IResourceBuilder<AzureSqlServerResource>, IResourceBuilder<AzureSubnetResource>) extension IResourceBuilder<AzureSqlServerResource>
Configures the Azure SQL Server to use the specified subnet for deployment script execution.
public static class AzureSqlExtensions
{
public static IResourceBuilder<AzureSqlServerResource> WithAdminDeploymentScriptSubnet(
this IResourceBuilder<AzureSqlServerResource> builder,
IResourceBuilder<AzureSubnetResource> subnet)
{
// ...
}
}
builder IResourceBuilder<AzureSqlServerResource> The Azure SQL Server resource builder.
subnet IResourceBuilder<AzureSubnetResource> The subnet to delegate for Azure Container Instances used by deployment scripts.
IResourceBuilder<AzureSqlServerResource> A reference to the ApplicationModel.IResourceBuilder`1 for chaining.

When an Azure SQL Server has a private endpoint, deployment scripts that add database role assignments run inside Azure Container Instances (ACI). This method allows you to provide an explicit subnet for those containers instead of having one auto-created.

The specified subnet will be automatically delegated to Microsoft.ContainerInstance/containerGroups. Ensure the subnet has outbound network security rules allowing access to Azure Active Directory (port 443) and SQL (port 443) service tags.

This method is not available in polyglot app hosts.

Provide a custom ACI subnet for the deployment script:

var vnet = builder.AddAzureVirtualNetwork("vnet");
var peSubnet = vnet.AddSubnet("pe-subnet", "10.0.2.0/24");
var aciSubnet = vnet.AddSubnet("aci-subnet", "10.0.3.0/29");
var sql = builder.AddAzureSqlServer("sql")
.WithAdminDeploymentScriptSubnet(aciSubnet);
peSubnet.AddPrivateEndpoint(sql);
WithDefaultAzureSku(IResourceBuilder<AzureSqlDatabaseResource>) Section titled WithDefaultAzureSku(IResourceBuilder<AzureSqlDatabaseResource>) extension IResourceBuilder<AzureSqlDatabaseResource>
Configures the Azure SQL Database to be deployed use the default SKU provided by Azure. Please be aware that the Azure default Sku might not take advantage of the free offer.
public static class AzureSqlExtensions
{
public static IResourceBuilder<AzureSqlDatabaseResource> WithDefaultAzureSku(
this IResourceBuilder<AzureSqlDatabaseResource> builder)
{
// ...
}
}
builder IResourceBuilder<AzureSqlDatabaseResource> The builder for the Azure SQL resource.
IResourceBuilder<AzureSqlDatabaseResource> A reference to the ApplicationModel.IResourceBuilder`1.