Share via


Sync Groups - Create Or Update

Creates or updates a sync group.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}?api-version=2023-08-01

URI Parameters

Name In Required Type Description
databaseName
path True

string

The name of the database on which the sync group is hosted.

resourceGroupName
path True

string

The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.

serverName
path True

string

The name of the server.

subscriptionId
path True

string

The subscription ID that identifies an Azure subscription.

syncGroupName
path True

string

The name of the sync group.

api-version
query True

string

The API version to use for the request.

Request Body

Name Type Description
properties.conflictLoggingRetentionInDays

integer (int32)

Conflict logging retention period.

properties.conflictResolutionPolicy

SyncConflictResolutionPolicy

Conflict resolution policy of the sync group.

properties.enableConflictLogging

boolean

If conflict logging is enabled.

properties.hubDatabasePassword

string

Password for the sync group hub database credential.

properties.hubDatabaseUserName

string

User name for the sync group hub database credential.

properties.interval

integer (int32)

Sync interval of the sync group.

properties.schema

SyncGroupSchema

Sync schema of the sync group.

properties.syncDatabaseId

string

ARM resource id of the sync database in the sync group.

properties.usePrivateLinkConnection

boolean

If use private link connection is enabled.

sku

Sku

The name and capacity of the SKU.

Responses

Name Type Description
200 OK

SyncGroup

Successfully updated the sync group.

201 Created

SyncGroup

Successfully created the sync group.

202 Accepted

Creating or updating the sync group is in progress.

Headers

Location: string

Other Status Codes

ErrorResponse

*** Error Responses: ***

  • 400 InvalidSyncGroupCreateOrUpdateRequest - The create or update sync group request body is empty.

  • 400 InvalidSyncMemberCreateOrUpdateRequest - The create or update sync member request body is empty.

  • 400 InvalidSyncAgentCreateOrUpdateRequest - The create or update sync agent request body is empty.

  • 400 InvalidDatabaseResourceId - Invalid database resource identifier.

  • 400 InvalidSyncGroupName - The Sync Group name is invalid. This field can contain letters, numbers, dashes and underscores.

  • 400 InvalidSyncMemberName - The Sync Member name is invalid. This field can contain letters, numbers, dashes and underscores.

  • 400 MissingSyncMemberName - The Sync Member name is missing

  • 400 InvalidSyncGroupInterval - Sync Interval should be greater than or equal to 5 seconds.

  • 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.

  • 400 InvalidSyncAgentResourceId - Invalid sync agent resource identifier.

  • 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.

  • 400 MismatchingServerNameWithUrl - The provided server name did not match the name in the Url.

  • 400 InvalidParameterValue - An invalid value was given to a parameter.

  • 400 MissingServerName - The Server name is missing

  • 400 MissingDatabaseName - The Database name is missing

  • 400 MissingSyncGroupName - The Sync Group name is missing

  • 400 MissingConflictResolutionPolicy - The Conflict Resolution Policy is missing

  • 400 MissingSyncAgentName - The Sync Agent name is missing

  • 400 SyncOperation_GenericFailure - Failed to perform data sync operation.

  • 400 InvalidSyncGroup - Sync group is invalid.

  • 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.

  • 400 CannotCreateSyncGroupDueToQuotaExceeded - Cannot create sync group due to quota exceeded.

  • 400 SyncOperation_DuplicateSyncGroupDrop - The sync group is already being dropped.

  • 400 SyncOperation_WrongSyncDatabase - The sync database specified does not match the existing one.

  • 400 SyncOperation_UpdateSyncGroupWhenDropping - Cannot update the sync group because it is currently being dropped.

  • 400 SyncOperation_DwInSyncGroup - Cannot use datawarehouse edition in data sync.

  • 400 SyncOperation_MasterDbInSyncGroup - Cannot use logical master in data sync.

  • 400 SyncOperation_UnsupportedDataTypeColumnInSchema - Cannot add column to schema because the data type of the column is unsupported.

  • 400 SyncOperation_InvalidCredential - Credential of database is invalid.

  • 400 InvalidSyncMetadataDatabase - Sync metadata database is invalid.

  • 400 SyncOperation_InvalidSyncInterval - Cannot create or update sync group because the sync interval is invalid.

  • 404 ResourceNotFound - The requested resource was not found.

  • 404 SubscriptionDoesNotHaveServer - The requested server was not found

  • 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.

  • 404 SyncOperation_HubServerNotFound - Hub logical server does not exist.

  • 404 SyncOperation_InvalidHubDatabase - Hub database is invalid.

  • 404 OperationIdNotFound - The operation with Id does not exist.

  • 409 SyncOperation_DuplicateSyncGroupName - Cannot create sync group because the sync group with the same name already exists.

  • 409 CannotCancelOperation - The management operation is in a state that cannot be cancelled.

  • 409 OperationCancelled - The operation has been cancelled by user.

  • 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.

  • 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.

  • 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.

  • 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.

  • 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.

Examples

Create a sync group
Update a sync group

Create a sync group

Sample request

PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187?api-version=2023-08-01

{
  "properties": {
    "interval": -1,
    "conflictResolutionPolicy": "HubWin",
    "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328",
    "hubDatabaseUserName": "hubUser",
    "usePrivateLinkConnection": true
  }
}

Sample response

{
  "properties": {
    "interval": -1,
    "lastSyncTime": "0001-01-01T08:00:00Z",
    "conflictResolutionPolicy": "HubWin",
    "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328",
    "hubDatabaseUserName": "hubUser",
    "syncState": "NotReady",
    "usePrivateLinkConnection": true,
    "privateEndpointName": "PE_67FDBBD6-B2D8-4014-9CC6-C68ABBCFD481_syncgroupcrud-8475"
  },
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187",
  "name": "syncgroupcrud-3187",
  "type": "Microsoft.Sql/servers/databases/syncGroups"
}
{
  "properties": {
    "interval": -1,
    "lastSyncTime": "0001-01-01T08:00:00Z",
    "conflictResolutionPolicy": "HubWin",
    "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328",
    "hubDatabaseUserName": "hubUser",
    "syncState": "NotReady",
    "usePrivateLinkConnection": true,
    "privateEndpointName": "PE_67FDBBD6-B2D8-4014-9CC6-C68ABBCFD481_syncgroupcrud-8475"
  },
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187",
  "name": "syncgroupcrud-3187",
  "type": "Microsoft.Sql/servers/databases/syncGroups"
}

Update a sync group

Sample request

PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187?api-version=2023-08-01

{
  "properties": {
    "interval": -1,
    "conflictResolutionPolicy": "HubWin",
    "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328",
    "hubDatabaseUserName": "hubUser",
    "usePrivateLinkConnection": true
  }
}

Sample response

{
  "properties": {
    "interval": -1,
    "lastSyncTime": "0001-01-01T08:00:00Z",
    "conflictResolutionPolicy": "HubWin",
    "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328",
    "hubDatabaseUserName": "hubUser",
    "syncState": "NotReady",
    "usePrivateLinkConnection": true,
    "privateEndpointName": "PE_67FDBBD6-B2D8-4014-9CC6-C68ABBCFD481_syncgroupcrud-3187"
  },
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187",
  "name": "syncgroupcrud-3187",
  "type": "Microsoft.Sql/servers/databases/syncGroups"
}
{
  "properties": {
    "interval": -1,
    "lastSyncTime": "0001-01-01T08:00:00Z",
    "conflictResolutionPolicy": "HubWin",
    "syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328",
    "hubDatabaseUserName": "hubUser",
    "syncState": "NotReady",
    "usePrivateLinkConnection": true,
    "privateEndpointName": "PE_67FDBBD6-B2D8-4014-9CC6-C68ABBCFD481_syncgroupcrud-3187"
  },
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187",
  "name": "syncgroupcrud-3187",
  "type": "Microsoft.Sql/servers/databases/syncGroups"
}

Definitions

Name Description
ErrorAdditionalInfo

The resource management error additional info.

ErrorDetail

The error detail.

ErrorResponse

Error response

Sku

An ARM Resource SKU.

SyncConflictResolutionPolicy

Conflict resolution policy of the sync group.

SyncGroup

An Azure SQL Database sync group.

SyncGroupSchema

Properties of sync group schema.

SyncGroupSchemaTable

Properties of table in sync group schema.

SyncGroupSchemaTableColumn

Properties of column in sync group table.

SyncGroupState

Sync state of the sync group.

ErrorAdditionalInfo

The resource management error additional info.

Name Type Description
info

object

The additional info.

type

string

The additional info type.

ErrorDetail

The error detail.

Name Type Description
additionalInfo

ErrorAdditionalInfo[]

The error additional info.

code

string

The error code.

details

ErrorDetail[]

The error details.

message

string

The error message.

target

string

The error target.

ErrorResponse

Error response

Name Type Description
error

ErrorDetail

The error object.

Sku

An ARM Resource SKU.

Name Type Description
capacity

integer (int32)

Capacity of the particular SKU.

family

string

If the service has different generations of hardware, for the same SKU, then that can be captured here.

name

string

The name of the SKU, typically, a letter + Number code, e.g. P3.

size

string

Size of the particular SKU

tier

string

The tier or edition of the particular SKU, e.g. Basic, Premium.

SyncConflictResolutionPolicy

Conflict resolution policy of the sync group.

Value Description
HubWin
MemberWin

SyncGroup

An Azure SQL Database sync group.

Name Type Description
id

string

Resource ID.

name

string

Resource name.

properties.conflictLoggingRetentionInDays

integer (int32)

Conflict logging retention period.

properties.conflictResolutionPolicy

SyncConflictResolutionPolicy

Conflict resolution policy of the sync group.

properties.enableConflictLogging

boolean

If conflict logging is enabled.

properties.hubDatabasePassword

string

Password for the sync group hub database credential.

properties.hubDatabaseUserName

string

User name for the sync group hub database credential.

properties.interval

integer (int32)

Sync interval of the sync group.

properties.lastSyncTime

string (date-time)

Last sync time of the sync group.

properties.privateEndpointName

string

Private endpoint name of the sync group if use private link connection is enabled.

properties.schema

SyncGroupSchema

Sync schema of the sync group.

properties.syncDatabaseId

string

ARM resource id of the sync database in the sync group.

properties.syncState

SyncGroupState

Sync state of the sync group.

properties.usePrivateLinkConnection

boolean

If use private link connection is enabled.

sku

Sku

The name and capacity of the SKU.

type

string

Resource type.

SyncGroupSchema

Properties of sync group schema.

Name Type Description
masterSyncMemberName

string

Name of master sync member where the schema is from.

tables

SyncGroupSchemaTable[]

List of tables in sync group schema.

SyncGroupSchemaTable

Properties of table in sync group schema.

Name Type Description
columns

SyncGroupSchemaTableColumn[]

List of columns in sync group schema.

quotedName

string

Quoted name of sync group schema table.

SyncGroupSchemaTableColumn

Properties of column in sync group table.

Name Type Description
dataSize

string

Data size of the column.

dataType

string

Data type of the column.

quotedName

string

Quoted name of sync group table column.

SyncGroupState

Sync state of the sync group.

Value Description
Error
Good
NotReady
Progressing
Warning