This topic provides reference information about the Azure SQL (MSSQL) Failover Group service (csb-azure-mssql-failover-group). It details the plans, configuration parameters, and binding credentials.
If you already have a failover group database server pre-configured, use the Pre-Configured Server Pairs for Azure SQL (MSSQL) Failover Groups service.
The table below lists the plans available for the csb-azure-mssql-failover-group service:
Plan | CPUs | Storage Size |
---|---|---|
small | 2 | 50 GB |
medium | 8 | 200 GB |
large | 32 | 500 GB |
When configuring Cloud Service Broker for Azure you can add additional plans. For how to configure plans, see Configure Services with Cloud Service Broker for Azure.
The following table lists parameters which can only be configured for additional plans:
Parameter Name | Values | Default |
---|---|---|
name * |
The plan name | n/a |
id * |
A unique GUID | n/a |
description * |
Description of the new plan | n/a |
display_name |
Name to use when displaying plan in marketplace | n/a |
* Required
You can also add any of the configuration parameters listed in the parameters section to your plan.
Note: If you set a parameter at plan level, developers cannot change the value when creating or updating service instances.
Except as noted below, the configuration is generally the same as for Azure SQL.
The table below lists the parameters that you can configure, using the -c
flag, when provisioning a csb-azure-mssql-failover-group service:
Parameter Name | Type | Description | Default | Operation |
---|---|---|---|---|
instance_name |
string | The name of the service instance. | csb-azsql-INSTANCE-ID |
provision |
resource_group |
string | The Azure resource group in which to create the instance. | rg-INSTANCE-NAME |
provision |
location |
string | The Azure region in which to deploy the service instance. Note: Currently Azure SQL is not available in all regions. If you configure a region that is unavailable, Cloud Service Broker for Azure fails. |
westus |
provision |
failover_location |
string | The Azure region for the failover instance. | DEFAULT-REGIONAL-PAIR . For information about regional pairs, see the Microsoft Documentation |
provision and update |
read_write_endpoint_failover_policy |
string | The Read/Write failover policy. The options are Automatic or Manual . |
Automatic |
provision and update |
failover_grace_minutes |
number | The grace period in minutes before failover with data loss is attempted. | 60 |
provision and update |
min_capacity |
number | The minimum capacity in GB that the database has allocated, if not paused. You can only set this property for General Purpose Serverless databases. | 1 |
provision and update |
auto_pause_delay |
number | The time in minutes after which the database is automatically paused. A value of -1 means that automatic pause is deactivated. You can only set this property for General Purpose Serverless databases. |
-1 |
provision and update |
azure_tenant_id |
string | The ID of the Azure tenant for the service instance. | The value the operator entered for Tenant ID in Ops Manager. | provision and update |
azure_subscription_id |
string | The ID of the Azure subscription for the service instance. | The value the operator entered for Subscription ID in Ops Manager. | provision and update |
azure_client_id |
string | The ID of the Azure service principal to authenticate for service instance creation. | The value the operator entered for Client ID in Ops Manager. | provision and update |
azure_client_secret |
string | The secret (password) for the Azure service principal to authenticate for service instance creation. | The value the operator entered for Client Secret in Ops Manager. | provision and update |
cores |
number | Number of vCores for the instance (up to the maximum allowed for the service tier). 1–80, multiples of 2 | 2 | provision and update |
max_storage_gb |
number | Maximum storage allocated to the database instance in GB. | 5 | provision and update |
sku_name |
string | The Azure stock-keeping unit (SKU). For more information about configuring this parameter, see SKUs section. | n/a | provision and update |
authorized_network |
string | The Azure subnet ID, in long form, that the instance is connected to through a service endpoint. The subnet must have the Microsoft.sql service enabled. |
n/a | provision and update |
skip_provider_registration |
boolean | Set to true to skip automatic Azure provider registration. Set if the service principal being used does not have the rights to register providers. |
false |
provision and update |
SKUs are usually formatted as TIER_FAMILY_NUMBER-OF-CORES
. Where:
TIER
are GP\_S
, GP
, and HS
FAMILY
are Gen4
and Gen5
GP\_S\_Gen4\_1
and
GP\_Gen5\_8
.
If you do not define a SKU using the sku_name
parameter, the SKU is computed from the number of cores in your plan. See Plans above.
For a list of all valid SKUs, run:
az sql db list-editions -l LOCATION -o table
The table below shows the mapping of number of cores to the corresponding SKU:
Cores | SKU |
---|---|
1 | GP_Gen5_1 |
2 | GP_Gen5_2 |
4 | GP_Gen5_4 |
8 | GP_Gen5_8 |
16 | GP_Gen5_16 |
32 | GP_Gen5_32 |
80 | GP_Gen5_80 |
For information about the vCore purchasing model, see this Microsoft documentation.
For information about the DTU purchasing model, see this Microsoft documentation.
Note: Azure SQL service instances use the vCore model and the Gen5 hardware generation unless you override this default using the sku_name
parameter. For more information about the vCore model, see the Microsoft documentation.
Note: When updating a service instance, the SKU for the updated service instance must remain in the same tier (GP_S
, GP
, or HS
). If you update to a different tier, Azure refuses the update request.
The format for binding credentials for Azure SQL Failover Group is as follows:
{
"name" : "DATABASE-NAME",
"hostname" : "DATABASE-SERVER-HOST",
"port" : "DATABASE-SERVER-PORT",
"username" : "AUTHENTICATION-USERNAME",
"password" : "AUTHENTICATION-PASSWORD",
"uri" : "DATABASE-CONNECTION-URI",
"jdbcUrl" : "JDBC-FORMAT-CONNECTION-URI",
"jdbcUrlForAuditingEnabled" : "JDBC-FORMAT-CONNECTION-URI",
"sqldbName" : "DATABASE-NAME",
"sqlServerName" : "SERVER-NAME",
"sqlServerFullyQualifiedDomainName" : "SERVER-FQDN",
"databaseLogin" : "AUTHENTICATION-USERNAME",
"databaseLoginPassword" : "AUTHENTICATION-PASSWORD"
}