你当前正在访问 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

URI 参数

名称 必需 类型 说明
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 版本。

请求正文

名称 必需 类型 说明
properties.managedInstancePairs True

ManagedInstancePairInfo[]

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

properties.partnerRegions True

PartnerRegionInfo[]

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

properties.readWriteEndpoint True

InstanceFailoverGroupReadWriteEndpoint

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

properties.readOnlyEndpoint

InstanceFailoverGroupReadOnlyEndpoint

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

响应

名称 类型 说明
200 OK

InstanceFailoverGroup

已成功更新故障转移组。

201 Created

InstanceFailoverGroup

已成功创建故障转移组。

202 Accepted

已接受

Other Status Codes

错误响应:***

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

  • 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 FailoverGroupRegionMismatch - 故障转移组中指定的合作伙伴区域需要匹配所指示的合作伙伴托管实例的区域。

  • 400 ServerEditionMismatch - 创建副本 (replica) 服务器时,版本必须与主服务器相同。

  • 400 DnsZoneMismatch - 合作伙伴服务器上的 DNSZone 不同于源服务器上的 DNSZone。 这会中断 InstanceFailoverGroup 功能。

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

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

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

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

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

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

  • 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 安全性AzureKeyVaultUrlNullOrEmpty - 无法完成操作,因为 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 操作中断 - 无法完成对资源的操作,因为它被同一资源上的另一个操作中断。

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

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

  • 409 冲突ServerOperation - 服务器当前正在进行操作。

  • 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 DuplicateGeoDrRelation - 数据库已处于复制关系中。 这是重复的请求。

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

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

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

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

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

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

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

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

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

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

示例

Create failover group

示例请求

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

{
  "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"
      }
    ]
  }
}

示例响应

{
  "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

实例故障转移组。

名称 类型 说明
id

string

资源 ID。

name

string

资源名称。

properties.managedInstancePairs

ManagedInstancePairInfo[]

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

properties.partnerRegions

PartnerRegionInfo[]

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

properties.readOnlyEndpoint

InstanceFailoverGroupReadOnlyEndpoint

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

properties.readWriteEndpoint

InstanceFailoverGroupReadWriteEndpoint

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

properties.replicationRole

InstanceFailoverGroupReplicationRole

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

properties.replicationState

string

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

type

string

资源类型。

InstanceFailoverGroupReadOnlyEndpoint

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

名称 类型 说明
failoverPolicy

ReadOnlyEndpointFailoverPolicy

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

InstanceFailoverGroupReadWriteEndpoint

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

名称 类型 说明
failoverPolicy

ReadWriteEndpointFailoverPolicy

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

failoverWithDataLossGracePeriodMinutes

integer

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

InstanceFailoverGroupReplicationRole

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

名称 类型 说明
Primary

string

Secondary

string

ManagedInstancePairInfo

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

名称 类型 说明
partnerManagedInstanceId

string

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

primaryManagedInstanceId

string

主托管实例成对的 ID。

PartnerRegionInfo

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

名称 类型 说明
location

string

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

replicationRole

InstanceFailoverGroupReplicationRole

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

ReadOnlyEndpointFailoverPolicy

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

名称 类型 说明
Disabled

string

Enabled

string

ReadWriteEndpointFailoverPolicy

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

名称 类型 说明
Automatic

string

Manual

string