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

Failover Groups - Failover

把故障从当前的主服务器转移到该服务器。

POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}/failover?api-version=2021-05-01-preview

URI 参数

Name In Required Type Description
failoverGroupName
path True
  • string

故障转移组的名称。

resourceGroupName
path True
  • string

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

serverName
path True
  • string

包含故障转移组的服务器的名称。

subscriptionId
path True
  • string

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

api-version
query True
  • string

要用于请求的 API 版本。

响应

Name Type Description
200 OK

已成功故障转移。

202 Accepted

已接受

Other Status Codes

错误响应: ***

  • 400 FailoverGroupCreateOrUpdateRequestInvalidDatabases - 所提供的数据库 ID 未正确构造数据库资源 ID。 有关正确格式的示例,请参阅 https://docs.microsoft.com/en-us/rest/api/sql/failovergroups/createorupdate

  • 400 FailoverGroupCreateOrUpdateRequestInvalidPartner - 创建或更新故障转移组请求正文中的给定合作伙伴字段为空或无效。 请提供此字段的有效值。 有关正确格式化的请求的示例,请参阅 https://docs.microsoft.com/en-us/rest/api/sql/failovergroups/createorupdate

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

  • 400 FailoverGroupCreateOrUpdateRequestInvalidDatabaseServer - 故障转移组的主服务器上不存在一个或多个提供的数据库。 请确保主服务器上存在所有数据库。

  • 400 FailoverGroupCreateOrUpdateRequestUnsupportedPartnerCount - 仅支持故障转移组的一个合作伙伴服务器。 请相应地修改你的请求。 有关有效请求的示例,请参阅 https://docs.microsoft.com/en-us/rest/api/sql/failovergroups/createorupdate

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

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

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

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

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

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

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

  • 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFieldsForManualPolicy - 在为读写终结点选择故障转移策略手动时,不应提供宽限期值。 请将其从请求中删除。

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

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

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

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

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

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

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

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

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

  • 400 PartnerServerNotCompatible - 用户尝试将数据库从 SAWA V1 服务器复制到斯特林服务器,反之亦然。

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

  • 400 ResourcePoolNotFound - 指定的弹性池在指定的逻辑服务器中不存在。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 400 DatabaseInFailoverGroupNotPrimary - 数据库的 GeoDR 链接已存在,但其角色不是“主要”,也不是连续复制链接。

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

  • 400 UnableToCreateFailoverGroupDueToTableAuditing - 无法为启用了表审核的服务器创建故障转移组。

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

  • 400 UnableToAddDbWithTableAuditingToFailoverGroup - 无法通过故障转移组终结点访问启用了表审核的数据库。

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

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

  • 400 LimitOfFailoverGroupsPerServerExceeded - 创建新的故障转移组将超过每个服务器的允许故障转移组数。

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

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

  • 400 GeoReplicaLimitReached - 达到每个副本复制限制。

  • 400 FailoverGroupWithVirtualNetworkRulesNotSupported - 配置了自动故障转移策略的故障转移组目前在配置了虚拟网络防火墙规则的服务器上不受支持。 请使用手动故障转移策略配置故障转移组。

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

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

  • 400 SecurityAzureKeyVaultGeoChainError - 使用 Azure 密钥保管库 (BYOK) 启用透明数据加密时,不支持创建辅助 (称为链接) 的进程。

  • 404 OperationIdNotFound - ID 操作不存在。

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

  • 404 OperationIdNotFound - ID 操作不存在。

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

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

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

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

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

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

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

  • 409 SubscriptionDisabled - 已禁用订阅。

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

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

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

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

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

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

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

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

  • 409 FailoverGroupAlreadyExists - 故障转移组已存在于给定服务器上。 请使用不同的故障转移组名称。

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

  • 409 DatabaseBelongsToOtherFailoverGroup - 数据库属于其他故障转移组,不能视为此故障转移组的一部分。

  • 409 DatabaseBeingAddedToFailoverGroup - 数据库当前正在添加到故障转移组,客户需要等待此操作完成以发出删除问题。

  • 409 DatabaseBeingRemovedFromFailoverGroup - 数据库当前正在从故障转移组中删除,客户需要等待此操作完成添加。

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

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

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

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

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

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

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

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

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

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

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

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

  • 503 DatabaseUnavailable - 操作失败,因为数据库不可用。

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

示例

Planned failover of a failover group

Sample Request

POST https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server/failoverGroups/failover-group-test-3/failover?api-version=2021-05-01-preview

Sample Response

{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server/failoverGroups/failover-group-test-3",
  "name": "failover-group-test-3",
  "type": "Microsoft.Sql/servers/failoverGroups",
  "location": "Japan West",
  "properties": {
    "readWriteEndpoint": {
      "failoverPolicy": "Automatic",
      "failoverWithDataLossGracePeriodMinutes": 120
    },
    "readOnlyEndpoint": {
      "failoverPolicy": "Disabled"
    },
    "replicationRole": "Primary",
    "replicationState": "CATCH_UP",
    "partnerServers": [
      {
        "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server",
        "location": "Japan East",
        "replicationRole": "Secondary"
      }
    ],
    "databases": [
      "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server/databases/testdb-1",
      "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server/databases/testdb-2"
    ]
  }
}

定义

FailoverGroup

故障转移组。

FailoverGroupReadOnlyEndpoint

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

FailoverGroupReadWriteEndpoint

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

FailoverGroupReplicationRole

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

PartnerInfo

故障转移组的合作伙伴服务器信息。

ReadOnlyEndpointFailoverPolicy

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

ReadWriteEndpointFailoverPolicy

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

FailoverGroup

故障转移组。

Name Type Description
id
  • string

资源 ID。

location
  • string

资源位置。

name
  • string

资源名称。

properties.databases
  • string[]

故障转移组中的数据库列表。

properties.partnerServers

故障转移组的合作伙伴服务器信息列表。

properties.readOnlyEndpoint

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

properties.readWriteEndpoint

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

properties.replicationRole

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

properties.replicationState
  • string

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

tags
  • object

资源标记。

type
  • string

资源类型。

FailoverGroupReadOnlyEndpoint

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

Name Type Description
failoverPolicy

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

FailoverGroupReadWriteEndpoint

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

Name Type Description
failoverPolicy

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

failoverWithDataLossGracePeriodMinutes
  • integer

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

FailoverGroupReplicationRole

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

Name Type Description
Primary
  • string
Secondary
  • string

PartnerInfo

故障转移组的合作伙伴服务器信息。

Name Type Description
id
  • string

合作伙伴服务器的资源标识符。

location
  • string

合作伙伴服务器的地理位置。

replicationRole

合作伙伴服务器的复制角色。

ReadOnlyEndpointFailoverPolicy

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

Name Type Description
Disabled
  • string
Enabled
  • string

ReadWriteEndpointFailoverPolicy

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

Name Type Description
Automatic
  • string
Manual
  • string