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

Managed Databases - Update

更新现有数据库。

PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}?api-version=2023-08-01

URI 参数

名称 必需 类型 说明
databaseName
path True

string

数据库的名称。

managedInstanceName
path True

string

托管实例的名称。

resourceGroupName
path True

string

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

subscriptionId
path True

string

标识 Azure 订阅的订阅 ID。

api-version
query True

string

要用于请求的 API 版本。

请求正文

名称 类型 说明
properties.autoCompleteRestore

boolean

是否自动完成此托管数据库的还原。

properties.catalogCollation

CatalogCollationType

元数据目录的排序规则。

properties.collation

string

托管数据库的排序规则。

properties.createMode

ManagedDatabaseCreateMode

托管数据库创建模式。 PointInTimeRestore:通过还原现有数据库的时间点备份来创建数据库。 必须指定 SourceDatabaseName、SourceManagedInstanceName 和 PointInTime。 RestoreExternalBackup:通过从外部备份文件还原来创建数据库。 必须指定排序规则、StorageContainerUri 和 StorageContainerSasToken。 恢复:通过还原异地复制的备份来创建数据库。 RecoverableDatabaseId 必须指定为可恢复的数据库资源 ID 才能还原。 RestoreLongTermRetentionBackup:通过从长期保留备份(需要 longTermRetentionBackupResourceId)还原来创建数据库。

properties.crossSubscriptionRestorableDroppedDatabaseId

string

可还原的跨订阅删除的数据库资源 ID,用于在创建此数据库时还原。

properties.crossSubscriptionSourceDatabaseId

string

与此数据库的创建作关联的跨订阅源数据库的资源标识符。

properties.crossSubscriptionTargetManagedInstanceId

string

跨订阅还原中使用的目标托管实例 ID。

properties.isLedgerOn

boolean

此数据库是否为账本数据库,这意味着数据库中的所有表都是账本表。 注意:创建数据库后,无法更改此属性的值。

properties.lastBackupName

string

用于还原此托管数据库的上次备份文件名。

properties.longTermRetentionBackupResourceId

string

要用于还原此托管数据库的长期保留备份的名称。

properties.recoverableDatabaseId

string

与此数据库的创建作关联的可恢复数据库的资源标识符。

properties.restorableDroppedDatabaseId

string

创建此数据库时要还原的可还原删除的数据库资源 ID。

properties.restorePointInTime

string (date-time)

有條件的。 如果 createMode 为 PointInTimeRestore,则此值是必需的。 指定将还原以创建新数据库的源数据库的时间点(ISO8601格式)。

properties.sourceDatabaseId

string

与此数据库的创建作关联的源数据库的资源标识符。

properties.storageContainerIdentity

string

有條件的。 如果 createMode 为 RestoreExternalBackup,则使用此值。 指定用于存储容器身份验证的标识。 可以是“SharedAccessSignature”或“ManagedIdentity”;如果未指定“SharedAccessSignature”,则假定为

properties.storageContainerSasToken

string

有條件的。 如果 createMode 为 RestoreExternalBackup 且 storageContainerIdentity 不是 ManagedIdentity,则此值是必需的。 指定存储容器 sas 令牌。

properties.storageContainerUri

string

有條件的。 如果 createMode 为 RestoreExternalBackup,则此值是必需的。 指定存储容器的 URI,用于存储此还原的备份。

tags

object

资源标记。

响应

名称 类型 说明
200 OK

ManagedDatabase

已成功更新数据库。

202 Accepted

正在更新托管数据库。

标头

Location: string

Other Status Codes

ErrorResponse

错误响应: ***

  • 400 ManagedInstanceStoppingOrStopped - 实例处于停止/停止状态时提交的冲突作

  • 400 ManagedInstanceStarting - 实例处于启动状态时提交的冲突作

  • 400 AkvEndpointNotReachableFromNode - AKV 终结点“{0}”无法从 SQL 访问,位于服务器“{1}”。

  • 400 CurrentDatabaseSizeExceedsMaxSize - 用户尝试将数据库的最大大小减小到小于当前使用情况的大小。

  • 400 PasswordNotComplex - 提供的密码不够复杂。

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

  • 400 CannotUpdateIsLedgerDatabase - 无法更新现有数据库的账本属性。

  • 400 UnsupportedServiceName - 指定的名称是无效的名称,因为它包含一个或多个不受支持的 unicode 字符。

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

  • 400 RegionDoesNotSupportVersion - 用户尝试在不支持该服务器版本的位置创建指定版本的服务器。

  • 400 ManagedDatabaseNameInUse - 数据库“{0}”已存在。 选择其他数据库名称。

  • 400 PitrPointInTimeInvalid - 时间点 {0} 无效。 有效的时间点范围从早 {1} 天到现在,而不是源服务器创建时间之前。

  • 400 NoMoreSpaceInManagedInstance - 托管实例已达到其存储限制。 托管实例的存储使用量不能超过 (%d) MB。

  • 400 CurrentDatabaseLogSizeExceedsMaxSize - 用户尝试将数据库更改为最大日志大小低于当前使用情况的 SKU。

  • 400 CannotUseTrailingWhitespacesInDatabaseName - 数据库名称验证失败。

  • 400 StorageAccountFull - 托管实例已达到基础 Azure 存储帐户的总容量。 Azure 高级存储帐户限制为 35TB 的已分配空间。

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

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

  • 400 SourceServerNotFound - CreateDatabaseAsCopy API 调用中提供的源数据库 ID 的服务器部分不会映射到现有服务器。

  • 400 ManagedInstanceStoppingOrStopped - 实例处于停止/停止状态时提交的冲突作

  • 400 InvalidBackupRetentionPeriod - {0} 的保留期不是有效的配置。 有效的备份保留期必须在 {1} 和 {2} 之间

  • 400 ManagedInstanceStarting - 实例处于启动状态时提交的冲突作

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

  • 400 DatabaseNumberLimitReached - 达到 SQL 数据库托管实例的最大数据库数。

  • 400 InvalidCollation - 服务器无法识别排序规则。

  • 400 ManagedInstanceUpdateSloInProgress - “作无法完成,因为托管实例'{0}'的服务层更改正在进行中。 请等待作完成,然后重试。

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

  • 400 AkvHostNotResolvingFromNode - AKV 主机“{0}”无法从 SQL 解析,服务器“{1}”。

  • 400 InvalidDatabaseCreateOrUpdateRequest - 创建或更新数据库作的请求正文无效。

  • 400 InvalidResourceId - 资源标识符无效。

  • 400 InvalidSourceDatabaseId - 源数据库标识符无效。

  • 400 InvalidRestorableDroppedDatabaseId - 无法还原的已删除数据库标识符

  • 400 InvalidCrossSubscriptionTargetManagedInstanceId - 跨订阅目标托管实例标识符无效。

  • 400 MismatchingResourceGroupNameWithUrl - 提供的资源组名称与 URL 中的名称不匹配。

  • 400 不匹配ServerNameWithUrl - 提供的服务器名称与 URL 中的名称不匹配。

  • 400 MismatchingSubscriptionWithUrl - 提供的订阅与 URL 中的订阅不匹配。

  • 400 MissingCollation - 需要排序规则。

  • 400 MissingSourceDatabaseId - 缺少源数据库标识符。

  • 400 MissingRestorePointInTime - 缺少还原时间点

  • 400 MissingStorageContainerSasToken - 缺少存储容器 SAS 令牌

  • 400 MissingStorageContainerUri - 缺少存储容器 URI

  • 400 RestoreableDroppedDatabaseIdGivenForRestoreWithSourceDatabaseId - 在还原创建模式下已提供 sourceDatabaseId 时无法指定 restoreableDroppedDatabaseId

  • 400 CrossSubscriptionRestorableDroppedDatabaseIdGivenForRestoreWithCrossSubscriptionSourceDatabaseId - 无法在给定 crossSubscriptionRestorableDroppedDatabaseId 时指定 crossSubscriptionDatabaseId。

  • 400 MissmatchingCrossSubscriptionTargetManagedInstanceIdWithUrl - 提供的 crossSubscriptionTargetManagedInstanceId 必须与 URL 中的实例匹配。

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

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

  • 404 SubscriptionDoesNotHaveServer - 找不到请求的服务器

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

  • 404 CannotFindServerCertificateWithThumbprint - 找不到指纹为“{0}”的服务器证书。 请使用 PowerShell Cmdlet“Add-AzureRmSqlManagedInstanceTransparentDataEncryptionCertificate”创建证书。

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

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

  • 404 RestoreSourceDatabaseNotFound - 找不到可以还原的数据库“{0}”{1}”。

  • 404 DatabaseDoesNotExist - 用户已指定此服务器实例上不存在的数据库名称。

  • 404 CannotFindObject - 找不到对象,因为它不存在,或者您没有权限

  • 404 SubscriptionNotFound - 找不到请求的订阅。

  • 404 OperationIdNotFound - ID作不存在。

  • 409 SubscriptionDisabled - 已禁用订阅。

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

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

  • 409 ConflictingDatabaseOperation - 数据库上已经有一些作,当前作应等到作完成。

  • 409 ManagementServiceDatabaseBusy - 数据库“{0}”正忙于另一个作。 请稍后尝试作。

  • 409 CannotCancelOperation - 管理作处于无法取消的状态。

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

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

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

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

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

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

  • 500 ActivateOrDeactivateWorkflowThrottling - 激活或停用工作流失败,因为并发工作流过多

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

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

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

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

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

示例

Updates a managed database with maximal properties
Updates a managed database with minimal properties

Updates a managed database with maximal properties

示例请求

PATCH https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/managedInstance/databases/testdb?api-version=2023-08-01

{
  "tags": {
    "tagKey1": "TagValue1"
  }
}

示例响应

{
  "tags": {
    "tagKey1": "TagValue1"
  },
  "location": "southeastasia",
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb",
  "name": "testdb"
}
Location: https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/locations/southeastasia/operationStatus/default/operationId/00000000-0000-0000-0000-000000000000?api-version=2017-03-01

Updates a managed database with minimal properties

示例请求

PATCH https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/managedInstance/databases/testdb?api-version=2023-08-01

{
  "tags": {
    "tagKey1": "TagValue1"
  }
}

示例响应

{
  "tags": {
    "tagKey1": "TagValue1"
  },
  "location": "southeastasia",
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb",
  "name": "testdb"
}
Location: https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/locations/southeastasia/operationStatus/default/operationId/00000000-0000-0000-0000-000000000000?api-version=2017-03-01

定义

名称 说明
CatalogCollationType

元数据目录的排序规则。

ErrorAdditionalInfo

资源管理错误附加信息。

ErrorDetail

错误详细信息。

ErrorResponse

错误响应

ManagedDatabase

托管数据库资源。

ManagedDatabaseCreateMode

托管数据库创建模式。 PointInTimeRestore:通过还原现有数据库的时间点备份来创建数据库。 必须指定 SourceDatabaseName、SourceManagedInstanceName 和 PointInTime。 RestoreExternalBackup:通过从外部备份文件还原来创建数据库。 必须指定排序规则、StorageContainerUri 和 StorageContainerSasToken。 恢复:通过还原异地复制的备份来创建数据库。 RecoverableDatabaseId 必须指定为可恢复的数据库资源 ID 才能还原。 RestoreLongTermRetentionBackup:通过从长期保留备份(需要 longTermRetentionBackupResourceId)还原来创建数据库。

ManagedDatabaseStatus

数据库的状态。

ManagedDatabaseUpdate

托管数据库更新。

CatalogCollationType

元数据目录的排序规则。

说明
DATABASE_DEFAULT
SQL_Latin1_General_CP1_CI_AS

ErrorAdditionalInfo

资源管理错误附加信息。

名称 类型 说明
info

object

其他信息。

type

string

其他信息类型。

ErrorDetail

错误详细信息。

名称 类型 说明
additionalInfo

ErrorAdditionalInfo[]

错误附加信息。

code

string

错误代码。

details

ErrorDetail[]

错误详细信息。

message

string

错误消息。

target

string

错误目标。

ErrorResponse

错误响应

名称 类型 说明
error

ErrorDetail

错误对象。

ManagedDatabase

托管数据库资源。

名称 类型 说明
id

string

资源 ID。

location

string

资源位置。

name

string

资源名称。

properties.autoCompleteRestore

boolean

是否自动完成此托管数据库的还原。

properties.catalogCollation

CatalogCollationType

元数据目录的排序规则。

properties.collation

string

托管数据库的排序规则。

properties.createMode

ManagedDatabaseCreateMode

托管数据库创建模式。 PointInTimeRestore:通过还原现有数据库的时间点备份来创建数据库。 必须指定 SourceDatabaseName、SourceManagedInstanceName 和 PointInTime。 RestoreExternalBackup:通过从外部备份文件还原来创建数据库。 必须指定排序规则、StorageContainerUri 和 StorageContainerSasToken。 恢复:通过还原异地复制的备份来创建数据库。 RecoverableDatabaseId 必须指定为可恢复的数据库资源 ID 才能还原。 RestoreLongTermRetentionBackup:通过从长期保留备份(需要 longTermRetentionBackupResourceId)还原来创建数据库。

properties.creationDate

string (date-time)

数据库的创建日期。

properties.crossSubscriptionRestorableDroppedDatabaseId

string

可还原的跨订阅删除的数据库资源 ID,用于在创建此数据库时还原。

properties.crossSubscriptionSourceDatabaseId

string

与此数据库的创建作关联的跨订阅源数据库的资源标识符。

properties.crossSubscriptionTargetManagedInstanceId

string

跨订阅还原中使用的目标托管实例 ID。

properties.defaultSecondaryLocation

string

地理配对区域。

properties.earliestRestorePoint

string (date-time)

时间点还原的最早还原点。

properties.failoverGroupId

string

此托管数据库所属的实例故障转移组资源标识符。

properties.isLedgerOn

boolean

此数据库是否为账本数据库,这意味着数据库中的所有表都是账本表。 注意:创建数据库后,无法更改此属性的值。

properties.lastBackupName

string

用于还原此托管数据库的上次备份文件名。

properties.longTermRetentionBackupResourceId

string

要用于还原此托管数据库的长期保留备份的名称。

properties.recoverableDatabaseId

string

与此数据库的创建作关联的可恢复数据库的资源标识符。

properties.restorableDroppedDatabaseId

string

创建此数据库时要还原的可还原删除的数据库资源 ID。

properties.restorePointInTime

string (date-time)

有條件的。 如果 createMode 为 PointInTimeRestore,则此值是必需的。 指定将还原以创建新数据库的源数据库的时间点(ISO8601格式)。

properties.sourceDatabaseId

string

与此数据库的创建作关联的源数据库的资源标识符。

properties.status

ManagedDatabaseStatus

数据库的状态。

properties.storageContainerIdentity

string

有條件的。 如果 createMode 为 RestoreExternalBackup,则使用此值。 指定用于存储容器身份验证的标识。 可以是“SharedAccessSignature”或“ManagedIdentity”;如果未指定“SharedAccessSignature”,则假定为

properties.storageContainerSasToken

string

有條件的。 如果 createMode 为 RestoreExternalBackup 且 storageContainerIdentity 不是 ManagedIdentity,则此值是必需的。 指定存储容器 sas 令牌。

properties.storageContainerUri

string

有條件的。 如果 createMode 为 RestoreExternalBackup,则此值是必需的。 指定存储容器的 URI,用于存储此还原的备份。

tags

object

资源标记。

type

string

资源类型。

ManagedDatabaseCreateMode

托管数据库创建模式。 PointInTimeRestore:通过还原现有数据库的时间点备份来创建数据库。 必须指定 SourceDatabaseName、SourceManagedInstanceName 和 PointInTime。 RestoreExternalBackup:通过从外部备份文件还原来创建数据库。 必须指定排序规则、StorageContainerUri 和 StorageContainerSasToken。 恢复:通过还原异地复制的备份来创建数据库。 RecoverableDatabaseId 必须指定为可恢复的数据库资源 ID 才能还原。 RestoreLongTermRetentionBackup:通过从长期保留备份(需要 longTermRetentionBackupResourceId)还原来创建数据库。

说明
Default
RestoreExternalBackup
PointInTimeRestore
Recovery
RestoreLongTermRetentionBackup

ManagedDatabaseStatus

数据库的状态。

说明
Online
Offline
Shutdown
Creating
Inaccessible
Restoring
Updating
Stopping
Stopped
Starting
DbMoving
DbCopying

ManagedDatabaseUpdate

托管数据库更新。

名称 类型 说明
properties.autoCompleteRestore

boolean

是否自动完成此托管数据库的还原。

properties.catalogCollation

CatalogCollationType

元数据目录的排序规则。

properties.collation

string

托管数据库的排序规则。

properties.createMode

ManagedDatabaseCreateMode

托管数据库创建模式。 PointInTimeRestore:通过还原现有数据库的时间点备份来创建数据库。 必须指定 SourceDatabaseName、SourceManagedInstanceName 和 PointInTime。 RestoreExternalBackup:通过从外部备份文件还原来创建数据库。 必须指定排序规则、StorageContainerUri 和 StorageContainerSasToken。 恢复:通过还原异地复制的备份来创建数据库。 RecoverableDatabaseId 必须指定为可恢复的数据库资源 ID 才能还原。 RestoreLongTermRetentionBackup:通过从长期保留备份(需要 longTermRetentionBackupResourceId)还原来创建数据库。

properties.creationDate

string (date-time)

数据库的创建日期。

properties.crossSubscriptionRestorableDroppedDatabaseId

string

可还原的跨订阅删除的数据库资源 ID,用于在创建此数据库时还原。

properties.crossSubscriptionSourceDatabaseId

string

与此数据库的创建作关联的跨订阅源数据库的资源标识符。

properties.crossSubscriptionTargetManagedInstanceId

string

跨订阅还原中使用的目标托管实例 ID。

properties.defaultSecondaryLocation

string

地理配对区域。

properties.earliestRestorePoint

string (date-time)

时间点还原的最早还原点。

properties.failoverGroupId

string

此托管数据库所属的实例故障转移组资源标识符。

properties.isLedgerOn

boolean

此数据库是否为账本数据库,这意味着数据库中的所有表都是账本表。 注意:创建数据库后,无法更改此属性的值。

properties.lastBackupName

string

用于还原此托管数据库的上次备份文件名。

properties.longTermRetentionBackupResourceId

string

要用于还原此托管数据库的长期保留备份的名称。

properties.recoverableDatabaseId

string

与此数据库的创建作关联的可恢复数据库的资源标识符。

properties.restorableDroppedDatabaseId

string

创建此数据库时要还原的可还原删除的数据库资源 ID。

properties.restorePointInTime

string (date-time)

有條件的。 如果 createMode 为 PointInTimeRestore,则此值是必需的。 指定将还原以创建新数据库的源数据库的时间点(ISO8601格式)。

properties.sourceDatabaseId

string

与此数据库的创建作关联的源数据库的资源标识符。

properties.status

ManagedDatabaseStatus

数据库的状态。

properties.storageContainerIdentity

string

有條件的。 如果 createMode 为 RestoreExternalBackup,则使用此值。 指定用于存储容器身份验证的标识。 可以是“SharedAccessSignature”或“ManagedIdentity”;如果未指定“SharedAccessSignature”,则假定为

properties.storageContainerSasToken

string

有條件的。 如果 createMode 为 RestoreExternalBackup 且 storageContainerIdentity 不是 ManagedIdentity,则此值是必需的。 指定存储容器 sas 令牌。

properties.storageContainerUri

string

有條件的。 如果 createMode 为 RestoreExternalBackup,则此值是必需的。 指定存储容器的 URI,用于存储此还原的备份。

tags

object

资源标记。