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

Transparent Data Encryptions - Create Or Update

汇报逻辑数据库的透明数据加密配置。

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption/current?api-version=2021-11-01

URI 参数

名称 必需 类型 说明
databaseName
path True

string

为其定义了安全警报策略的逻辑数据库的名称。

resourceGroupName
path True

string

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

serverName
path True

string

服务器的名称。

subscriptionId
path True

string

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

tdeName
path True

TransparentDataEncryptionName

透明数据加密配置的名称。

api-version
query True

string

要用于请求的 API 版本。

请求正文

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

TransparentDataEncryptionState

指定透明数据加密的状态。

响应

名称 类型 说明
200 OK

LogicalDatabaseTransparentDataEncryption

已成功更新数据库透明数据加密状态。

201 Created

LogicalDatabaseTransparentDataEncryption

已成功创建数据库透明数据加密状态。

202 Accepted

正在创建或更新数据库透明数据加密配置。

Other Status Codes

错误响应: ***

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

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

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

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

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

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

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

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

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

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

  • 400 PerDatabaseCMKRestoreNotSupported - 在预览中配置数据库级 CMK 时,不支持数据库还原。

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

  • 400 PerDatabaseCMKHSNotSupported - 超大规模版本不支持数据库级 CMK 预览版。

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

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

  • 400 UmiMissingAkvPermissions - 用户提供的 PrimaryUserAssignedIdentityId 无权访问提供的 KeyId

  • 400 AkvEndpointNotReachableFromNode - 服务器“”{0}上的 SQL 无法访问 AKV 终结点“”。{1}

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

  • 400 AdalGenericError - 由于遇到 Azure Active Directory 错误,无法完成该操作。

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

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

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

  • 400 PerDatabaseCMKDWNotSupported - Datawarehouse 版本不支持数据库级 CMK 预览版。

  • 400 ReadOnly - 无法对只读、具有只读文件或未恢复的数据库启用或修改数据库加密。

  • 400 CanNotDropAlterOnMirror - 请修改主数据库上的透明数据加密。

  • 400 AttemptedEncryptionOnSystemDatabase - 无法加密系统数据库。 无法为 'master'、'model'、'tempdb'、'msdb' 或 'resource' 数据库执行数据库加密操作。

  • 400 InvalidTransparentDataEncryptionUpdateRequest - 请输入有效状态。 请使用“已启用”或“已禁用”。

  • 400 InvalidTransparentDataEncryptionName - 不支持透明数据加密密钥名称。

  • 401 CanNotChangeReadOnlyDuringTdeScan - 在加密转换过程中无法修改文件组只读/读写状态。

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

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

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

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

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

  • 409 NeedsLogBackup - 请等待几分钟,以便进行日志备份。

  • 409 EncryptionInProgress - 加密扫描正在进行时无法修改加密。

  • 409 KeyChangeInProgress - 在加密、解密或密钥更改扫描正在进行时无法更改数据库加密密钥。

  • 409 NoBulkOperationLock - CREATE/ALTER/DROP DATABASE ENCRYPTION KEY 失败,因为无法对数据库放置锁。 请稍后重试。

  • 409 AltStateConflict - 无法对数据库执行该操作,因为它涉及数据库镜像会话或可用性组。 不允许对参与数据库镜像会话或可用性组的数据库执行某些操作。

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

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

  • 503 NoDekLock - CREATE/ALTER/DROP DATABASE ENCRYPTION KEY 失败,因为无法对数据库放置锁。 请稍后重试。

示例

Update a database's Transparent Data Encryption state with minimal parameters

示例请求

PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securitytde-42-rg/providers/Microsoft.Sql/servers/securitytde-42/databases/testdb/transparentDataEncryption/current?api-version=2021-11-01

{
  "properties": {
    "state": "Enabled"
  }
}

示例响应

{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securitytde-42-rg/providers/Microsoft.Sql/servers/securitytde-42/databases/testdb/transparentDataEncryption",
  "name": "current",
  "type": "Microsoft.Sql/servers/databases/transparentDataEncryption",
  "properties": {
    "state": "Enabled"
  }
}
{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securitytde-42-rg/providers/Microsoft.Sql/servers/securitytde-42/databases/testdb/transparentDataEncryption",
  "name": "current",
  "type": "Microsoft.Sql/servers/databases/transparentDataEncryption",
  "properties": {
    "state": "Enabled"
  }
}

定义

名称 说明
LogicalDatabaseTransparentDataEncryption

逻辑数据库透明数据加密状态。

TransparentDataEncryptionName

透明数据加密配置的名称。

TransparentDataEncryptionState

指定透明数据加密的状态。

LogicalDatabaseTransparentDataEncryption

逻辑数据库透明数据加密状态。

名称 类型 说明
id

string

资源 ID。

name

string

资源名称。

properties.state

TransparentDataEncryptionState

指定透明数据加密的状态。

type

string

资源类型。

TransparentDataEncryptionName

透明数据加密配置的名称。

名称 类型 说明
current

string

TransparentDataEncryptionState

指定透明数据加密的状态。

名称 类型 说明
Disabled

string

Enabled

string