你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Instance Failover Groups - Create Or Update

创建或更新故障转移组。

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups/{failoverGroupName}?api-version=2021-11-01-preview

URI 参数

Name In Required Type Description
failoverGroupName
path True
  • string

故障转移组的名称。

locationName
path True
  • string

资源所在的区域的名称。

resourceGroupName
path True
  • string

包含该资源的资源组名称。 可以从 Azure 资源管理器 API 或门户获取此值。

subscriptionId
path True
  • string

用于标识 Azure 订阅的订阅 ID。

api-version
query True
  • string

要用于请求的 API 版本。

请求正文

Name Required Type Description
properties.managedInstancePairs True

故障转移组中托管实例对的列表。

properties.partnerRegions True

故障转移组的合作伙伴区域信息。

properties.readWriteEndpoint True

故障转移组实例的读写终结点。

properties.readOnlyEndpoint

故障转移组实例的只读终结点。

响应

Name Type Description
200 OK

已成功更新故障转移组。

201 Created

已成功创建故障转移组。

202 Accepted

已接受

Other Status Codes

错误响应: ***

  • 400 InstanceFailoverGroupCreateOrUpdateRequestInvalidPartner - 创建或更新实例故障转移组请求正文中的给定合作伙伴字段为空或无效。

  • 400 InstanceFailoverGroupCreateOrUpdateRequestDuplicatePartner - 提供的一个或多个合作伙伴服务器已是实例故障转移组的一部分。 请确保主服务器和所有给定的合作伙伴服务器都是唯一的。

  • 400 InstanceFailoverGroupCreateOrUpdateRequestInvalidManagedInstanceRegion - 实例故障转移组请求正文中提供的合作伙伴托管实例区域为空或无效。

  • 400 InstanceFailoverGroupCreateOrUpdateRequestUnsupportedPartnerCount - 仅支持一个合作伙伴区域。

  • 400 InstanceFailoverGroupCreateOrUpdateRequestUnsupportedPairCount - 仅支持一个托管实例配对。

  • 400 InstanceFailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpoint - 创建或更新请求需要 readWriteEndpoint 字段。

  • 400 InstanceFailoverGroupCreateOrUpdateRequestInvalid - 创建或更新实例故障转移组请求正文为空或无效。

  • 400 InstanceFailoverGroupUpdateOrDeleteRequestOnSecondary - 不允许在辅助服务器上修改实例故障转移组。 在主服务器上执行请求。

  • 400 InstanceFailoverGroupCreateOrUpdateRequestNegativeGracePeriodValues - 读写终结点的宽限期值必须为非负值。

  • 400 InstanceFailoverGroupCreateOrUpdateRequestLessThanMinimumGracePeriodValues - 实例故障转移组的宽限期值必须大于或等于“{0}' 分钟最小宽限期”

  • 400 InstanceFailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFields - 当为读写终结点选择故障转移策略自动时,必须提供属性 failoverWithDataLossGracePeriodMinutes。

  • 400 InstanceFailoverGroupCreateOrUpdateRequestInvalidReadWriteFailoverPolicy - 创建或更新请求需要读写终结点的 failoverPolicy 字段。

  • 400 InstanceFailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFieldsForManualPolicy - 当为读写终结点选择故障转移策略手动时,不应提供宽限期值。

  • 400 InstanceFailoverGroupCreateOrUpdateRequestReadOnlyPropertyModified - 创建或更新实例故障转移组请求正文不应修改只读属性“”。{0}

  • 400 InstanceFailoverGroupFailoverRequestOnPrimary - 应在实例故障转移组的辅助服务器上启动故障转移请求。

  • 400 InstanceFailoverGroupPartnerManagedInstanceFromDifferentSubscription - 主服务器和故障转移组的合作伙伴服务器来自不同订阅。 不允许故障转移组服务器的跨订阅。

  • 400 InvalidTargetSubregion - 不可读辅助数据库的目标服务器不在 DR 配对的 Azure 区域中。

  • 400 GeoDrInstanceSizeMismatch - 主托管实例和合作伙伴托管实例没有相同的存储大小。

  • 400 SecurityAdalPrincipalCertExpiredError - 操作无法完成,因为 Azure 密钥保管库主体证书已过期。

  • 400 GeoDrSecondaryInstanceNotEmpty - 辅助托管实例具有用户数据库。 若要创建实例故障转移组,辅助托管实例需要为空。

  • 400 InstanceFailoverGroupIncorrectNetworkingConfiguration - 网络配置不正确。 主服务器的复制流量无法访问辅助服务器。

  • 400 错误ReplicationLinkState - 该操作要求数据库在复制链接上处于预期状态。

  • 400 SecurityInvalidAzureKeyVaultRecoveryLevel - 提供的密钥保管库 uri 无效。

  • 400 KeyMaterialNotFoundOnRemoteServer - 远程服务器无权访问用作 TDE 保护程序的密钥材料。

  • 400 AzureKeyVaultRsaKeyNotSupported - 提供的密钥保管库使用不支持的 RSA 密钥大小或密钥类型。 支持的 RSA 密钥大小为 2048 或 3072,密钥类型为 RSA 或 RSA-HSM。

  • 400 UnableToResolveRemoteServer - 由于服务器名称或 DNS 连接问题无效,无法解决远程合作伙伴服务器名称。

  • 400 SameKeyUriNotFoundOnRemoteServer - 辅助服务器没有与启用了密钥自动轮换的主服务器的加密保护程序相同的密钥保管库中的密钥材料。

  • 400 RemoteDatabaseCopyPermission - 用户没有足够的权限在指定服务器上创建数据库副本。

  • 400 SameKeyMaterialNotFoundOnRemoteServer - 辅助服务器没有主服务器的加密保护程序的密钥材料。

  • 400 CannotUseReservedDatabaseName - 不能在此操作中使用保留的数据库名称。

  • 400 InvalidFailoverGroupRegion - 实例故障转移组中指定的服务器需要驻留在不同区域中以提供隔离。

  • 400 InstanceFailoverGroupDoesNotExist - 故障转移组不存在于服务器上。

  • 400 InstanceFailoverGroupNotSecondary - 无法从实例故障转移组中的主服务器启动故障转移。

  • 400 InvalidServerName - 指定的服务器名称无效。

  • 400 InvalidIdentifier - 标识符包含 NULL 或无效 unicode 字符。

  • 400 TokenTooLong - 提供的令牌太长。

  • 400 AzureKeyVaultKeyDisabled - 无法在服务器上完成该操作,因为 Azure 密钥保管库 密钥已禁用。

  • 400 AzureKeyVaultInvalidExpirationDate - 操作无法完成,因为 Azure 密钥保管库密钥过期日期无效。

  • 400 SecurityAzureKeyVaultUrlNullOrEmpty - 操作无法完成,因为 Azure 密钥保管库 Uri 为 null 或空。

  • 400 InvalidSku - 用户指定了无效 SKU。

  • 400 InvalidAddSecondaryPermission - 用户没有足够的权限在指定服务器上添加辅助数据库。

  • 400 ServerNotFound - 找不到请求的服务器。

  • 400 AzureKeyVaultNoServerIdentity - 服务器标识未正确配置。

  • 400 AzureKeyVaultInvalidUri - 来自 Azure 密钥保管库的无效响应。 请使用有效的 Azure 密钥保管库 URI。

  • 400 AzureKeyVaultMissingPermissions - 服务器缺少对 Azure 密钥保管库所需的权限。

  • 400 SecurityAzureKeyVaultInvalidKeyName - 由于服务器密钥名称无效,无法完成该操作。

  • 400 PlannedFailoverTimedOutForDatabase - 用户调用了计划的故障转移,超时了,特定数据库似乎要归咎于此。

  • 400 PlannedFailoverTimedOut - 用户调用了计划的故障转移,在尝试联系合作伙伴管理服务时超时。

  • 400 AdalGenericError - 操作无法完成,因为遇到Azure Active Directory错误。

  • 400 GeoReplicationDatabaseNotSecondary - 该操作要求数据库是复制目标。

  • 400 AdalServicePrincipalNotFound - 操作无法完成,因为遇到Azure Active Directory库服务主体找不到错误。

  • 400 AzureKeyVaultMalformedVaultUri - 提供的密钥保管库 uri 无效。

  • 400 FeatureDisabledOnSelectedEdition - 用户尝试使用当前数据库版本上禁用的功能。

  • 404 OperationIdNotFound - ID 操作不存在。

  • 404 ResourceNotFound - 找不到请求的资源。

  • 404 OperationIdNotFound - ID 操作不存在。

  • 404 SourceDatabaseNotFound - 源数据库不存在。

  • 404 ServerNotInSubscription - 指定的服务器在指定的订阅上不存在。

  • 404 ServerNotInSubscriptionResourceGroup - 指定的服务器在指定的资源组和订阅中不存在。

  • 405 UnsupportedReplicationOperation - 对数据库启动不受支持的复制操作。

  • 409 OperationCancelled - 操作已被用户取消。

  • 409 OperationInterrupted - 无法完成资源上的操作,因为它被同一资源上的另一个操作中断。

  • 409 ManagedInstanceHasHybridLink - 用户尝试启动在托管实例配置了混合链接时不支持的操作。

  • 409 RemoteDatabaseExists - 目标服务器上已存在目标数据库名称。

  • 409 ConflictingServerOperation - 服务器当前正在进行操作。

  • 409 SubscriptionDisabled - 已禁用订阅。

  • 409 InstanceFailoverGroupAlreadyExists - 故障转移组已存在于给定服务器上。

  • 409 InstanceFailoverGroupBusy - 实例故障转移组正忙于另一个操作。

  • 409 GeoReplicationCannotBecomePrimaryDuringUndo - 用户尝试故障转移或强制终止异地链接,而辅助副本处于物理上不一致的状态,因此无法进入主角色。

  • 409 InstanceFailoverGroupDnsRecordInUse - 请求的终结点存在重复的 DNS 记录。

  • 409 ServerKeyNameAlreadyExists - 服务器上已存在服务器密钥。

  • 409 ServerKeyUriAlreadyExists - 服务器上已存在服务器密钥 URI。

  • 409 ServerKeyDoesNotExists - 服务器密钥不存在。

  • 409 InvalidFailoverGroupName - 提供了无效实例故障转移组名称。

  • 409 UpdateSloInProgress - 用户在 SLO 更新正在进行时尝试启动不兼容的操作。

  • 409 AzureKeyVaultKeyNameNotFound - 无法完成该操作,因为 Azure 密钥保管库密钥名称不存在。

  • 409 AzureKeyVaultKeyInUse - 服务器当前正在使用密钥。

  • 409 ConflictingSystemOperationInProgress - 数据库上正在进行系统维护操作,进一步的操作需要等待,直到它完成。

  • 409 InvalidOperationForDatabaseNotInReplicationRelationship - 对已在复制关系中的数据库执行复制种子设定操作。

  • 409 InvalidDatabaseStateForOperation - 当前复制状态下不允许对数据库执行该操作。

  • 409 ReplicationGeoDrRelation - 数据库已处于复制关系中。 这是重复的请求。

  • 429 SubscriptionTooManyCreateUpdateRequests - 请求超出了可用资源可以处理的最大请求。

  • 429 SubscriptionTooManyRequests - 请求超出可用资源可处理的最大请求数。

  • 500 OperationTimedOut - 操作超时并自动回滚。 请重试该操作。

  • 503 TooManyRequests - 请求超出可用资源可以处理的最大请求数。

  • 503 AzureKeyVaultConnectionFailed - 无法完成服务器上的操作,因为尝试连接到 Azure 密钥保管库失败

  • 503 AzureKeyVaultGenericConnectionError - 无法完成该操作,因为尝试检索密钥保管库信息时遇到错误。

  • 504 RequestTimeout - 服务请求超过了允许的超时。

示例

Create failover group

Sample Request

PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/locations/Japan East/instanceFailoverGroups/failover-group-test-3?api-version=2021-11-01-preview

{
  "properties": {
    "readWriteEndpoint": {
      "failoverPolicy": "Automatic",
      "failoverWithDataLossGracePeriodMinutes": 480
    },
    "readOnlyEndpoint": {
      "failoverPolicy": "Disabled"
    },
    "partnerRegions": [
      {
        "location": "Japan West"
      }
    ],
    "managedInstancePairs": [
      {
        "primaryManagedInstanceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/failover-group-primary-mngdInstance",
        "partnerManagedInstanceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/failover-group-secondary-mngdInstance"
      }
    ]
  }
}

Sample Response

{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/locations/JapanEast/instanceFailoverGroups/failover-group-test-3",
  "name": "failover-group-test-3",
  "type": "Microsoft.Sql/locations/instanceFailoverGroups",
  "properties": {
    "readWriteEndpoint": {
      "failoverPolicy": "Automatic",
      "failoverWithDataLossGracePeriodMinutes": 480
    },
    "readOnlyEndpoint": {
      "failoverPolicy": "Disabled"
    },
    "replicationRole": "Primary",
    "replicationState": "CATCH_UP",
    "partnerRegions": [
      {
        "location": "Japan West",
        "replicationRole": "Secondary"
      }
    ],
    "managedInstancePairs": [
      {
        "primaryManagedInstanceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/failover-group-primary-mngdInstance",
        "partnerManagedInstanceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/failover-group-secondary-mngdInstance"
      }
    ]
  }
}
{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/locations/JapanEast/instanceFailoverGroups/failover-group-test-3",
  "name": "failover-group-test-3",
  "type": "Microsoft.Sql/locations/instanceFailoverGroups",
  "properties": {
    "readWriteEndpoint": {
      "failoverPolicy": "Automatic",
      "failoverWithDataLossGracePeriodMinutes": 480
    },
    "readOnlyEndpoint": {
      "failoverPolicy": "Disabled"
    },
    "replicationRole": "Primary",
    "replicationState": "CATCH_UP",
    "partnerRegions": [
      {
        "location": "Japan West",
        "replicationRole": "Secondary"
      }
    ],
    "managedInstancePairs": [
      {
        "primaryManagedInstanceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/failover-group-primary-mngdInstance",
        "partnerManagedInstanceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/failover-group-secondary-mngdInstance"
      }
    ]
  }
}

定义

InstanceFailoverGroup

实例故障转移组。

InstanceFailoverGroupReadOnlyEndpoint

故障转移组实例的只读终结点。

InstanceFailoverGroupReadWriteEndpoint

故障转移组实例的读写终结点。

InstanceFailoverGroupReplicationRole

故障转移组实例的本地复制角色。

ManagedInstancePairInfo

故障转移组中的托管实例对。

PartnerRegionInfo

故障转移组的合作伙伴区域信息。

ReadOnlyEndpointFailoverPolicy

故障转移组只读终结点的故障转移策略。

ReadWriteEndpointFailoverPolicy

故障转移组的读写终结点的故障转移策略。 如果 failoverPolicy 为 Automatic,则需要 failoverWithDataLossGracePeriodMinutes。

InstanceFailoverGroup

实例故障转移组。

Name Type Description
id
  • string

资源 ID。

name
  • string

资源名称。

properties.managedInstancePairs

故障转移组中托管实例对的列表。

properties.partnerRegions

故障转移组的合作伙伴区域信息。

properties.readOnlyEndpoint

故障转移组实例的只读终结点。

properties.readWriteEndpoint

故障转移组实例的读写终结点。

properties.replicationRole

故障转移组实例的本地复制角色。

properties.replicationState
  • string

故障转移组实例的复制状态。

type
  • string

资源类型。

InstanceFailoverGroupReadOnlyEndpoint

故障转移组实例的只读终结点。

Name Type Description
failoverPolicy

故障转移组只读终结点的故障转移策略。

InstanceFailoverGroupReadWriteEndpoint

故障转移组实例的读写终结点。

Name Type Description
failoverPolicy

故障转移组的读写终结点的故障转移策略。 如果 failoverPolicy 为 Automatic,则需要 failoverWithDataLossGracePeriodMinutes。

failoverWithDataLossGracePeriodMinutes
  • integer

尝试对读写终结点执行故障转移前的宽限期,且数据丢失。 如果 failoverPolicy 为 Automatic,则需要 failoverWithDataLossGracePeriodMinutes。

InstanceFailoverGroupReplicationRole

故障转移组实例的本地复制角色。

Name Type Description
Primary
  • string
Secondary
  • string

ManagedInstancePairInfo

故障转移组中的托管实例对。

Name Type Description
partnerManagedInstanceId
  • string

配对 中的合作伙伴托管实例 ID。

primaryManagedInstanceId
  • string

配对中主托管实例的 ID。

PartnerRegionInfo

故障转移组的合作伙伴区域信息。

Name Type Description
location
  • string

合作伙伴托管实例的地理位置。

replicationRole

合作伙伴托管实例的复制角色。

ReadOnlyEndpointFailoverPolicy

故障转移组只读终结点的故障转移策略。

Name Type Description
Disabled
  • string
Enabled
  • string

ReadWriteEndpointFailoverPolicy

故障转移组的读写终结点的故障转移策略。 如果 failoverPolicy 为 Automatic,则需要 failoverWithDataLossGracePeriodMinutes。

Name Type Description
Automatic
  • string
Manual
  • string