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

Database Recommended Actions - Update

更新数据库建议的作。

PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors/{advisorName}/recommendedActions/{recommendedActionName}?api-version=2023-08-01

URI 参数

名称 必需 类型 说明
advisorName
path True

string

数据库顾问的名称。

databaseName
path True

string

数据库的名称。

recommendedActionName
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 版本。

请求正文

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

RecommendedActionStateInfo

获取建议作处于的当前状态的信息。

响应

名称 类型 说明
200 OK

RecommendedAction

已成功更新指定的数据库建议作。

Other Status Codes

ErrorResponse

错误响应: ***

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

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

  • 400 InvalidRecommendedActionUpsertRequest - 更新建议的作请求正文不存在或没有属性或状态对象。

  • 400 InvalidRecommendedActionState - 建议作的指定状态无效

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

  • 404 DatabaseDoesNotExist - 找不到请求的数据库

  • 404 SubscriptionDoesNotHaveElasticPool - 找不到请求的弹性池

  • 404 AdvisorNotFound - 找不到请求的顾问。

  • 404 RecommendedActionNotFound - 找不到请求的建议作。

  • 404 AdvisorNotFound - 找不到请求的顾问。

  • 404 RecommendedActionNotFound - 找不到请求的建议作。

  • 405 NotSupported - 不支持此功能。

  • 409 冲突 - 由于请求中的冲突,无法处理请求。

  • 503 ServiceTemporarilyUnavailable - 功能暂时不可用。

示例

示例请求

PATCH https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/CreateIndex/recommendedActions/IR_[CRM]_[DataPoints]_4821CD2F9510D98184BB?api-version=2023-08-01

{
  "properties": {
    "state": {
      "currentValue": "Pending"
    }
  }
}

示例响应

{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/CreateIndex/recommendedActions/IR_[CRM]_[DataPoints]_4821CD2F9510D98184BB",
  "name": "IR_[CRM]_[DataPoints]_4821CD2F9510D98184BB",
  "type": "Microsoft.Sql/servers/databases/advisors/recommendedActions",
  "location": "East Asia",
  "kind": "",
  "properties": {
    "recommendationReason": "",
    "validSince": "2017-03-01T14:38:04Z",
    "lastRefresh": "2017-03-01T14:38:04Z",
    "state": {
      "currentValue": "Pending",
      "actionInitiatedBy": "User",
      "lastModified": "2017-06-20T15:11:15Z"
    },
    "isExecutableAction": true,
    "isRevertableAction": true,
    "isArchivedAction": false,
    "executeActionInitiatedBy": "User",
    "executeActionInitiatedTime": "2017-06-20T15:11:15Z",
    "score": 1,
    "implementationDetails": {
      "method": "TSql",
      "script": "CREATE NONCLUSTERED INDEX [nci_wi_DataPoints_B892614093BAC56295EF6018BD4CB51B] ON [CRM].[DataPoints] ([Name],[Money],[Power]) INCLUDE ([Hour], [System], [LastChanged]) WITH (ONLINE = ON)"
    },
    "errorDetails": {},
    "estimatedImpact": [
      {
        "dimensionName": "ActionDuration",
        "unit": "Seconds",
        "absoluteValue": 1440
      },
      {
        "dimensionName": "SpaceChange",
        "unit": "Megabytes",
        "absoluteValue": 209.3125
      }
    ],
    "observedImpact": [],
    "timeSeries": [],
    "details": {
      "indexName": "nci_wi_DataPoints_B892614093BAC56295EF6018BD4CB51B",
      "indexType": "NONCLUSTERED",
      "schema": "[CRM]",
      "table": "[DataPoints]",
      "indexColumns": "[Name],[Money],[Power]",
      "includedColumns": "[Hour], [System], [LastChanged]"
    }
  }
}

定义

名称 说明
ErrorAdditionalInfo

资源管理错误附加信息。

ErrorDetail

错误详细信息。

ErrorResponse

错误响应

ImplementationMethod

获取可手动实现此建议作的方法。 例如,TSql、AzurePowerShell。

IsRetryable

获取是否可以忽略错误并重试建议的作。 可能的值为:是/否

RecommendedAction

数据库、服务器或弹性池建议的作。

RecommendedActionCurrentState

建议的作处于当前状态。 一些常用的状态是:活动 -> 建议的作处于活动状态,但尚未采取任何作。 挂起 -> 建议的作已批准并正在等待执行。 正在执行 -> 建议的作应用于用户数据库。 正在验证 -> 已应用建议的作,并且系统正在验证其有用性。 成功 -> 验证期间已应用建议的作和改进。 挂起还原 -> 验证发现很少或没有改进,因此建议的作排队等待还原或用户手动还原。 正在还原 - 在用户数据库上还原应用建议作时所做的> 更改。 已还原 -> 已成功还原对用户数据库的建议作所做的更改。 忽略 -> 用户显式忽略/放弃建议的作。

RecommendedActionErrorInfo

包含 Azure SQL 数据库、服务器或弹性池建议作的错误信息。

RecommendedActionImpactRecord

包含对 Azure SQL 数据库、服务器或弹性池建议作的各种指标的估计或观察到的影响的信息。

RecommendedActionImplementationInfo

包含有关 Azure SQL 数据库、服务器或弹性池推荐作的手动实现的信息。

RecommendedActionInitiatedBy

获取谁启动了此建议作的执行。 可能的值是:用户 -> 当用户显式通知系统应用建议的作时。 系统 -> 当此顾问的自动执行状态设置为“已启用”时,在这种情况下,系统会应用它。

RecommendedActionMetricInfo

包含 Azure SQL 数据库、服务器或弹性池建议作的各种受影响的指标的时序。

RecommendedActionStateInfo

包含 Azure SQL 数据库、服务器或弹性池建议作的当前状态的信息。

ErrorAdditionalInfo

资源管理错误附加信息。

名称 类型 说明
info

object

其他信息。

type

string

其他信息类型。

ErrorDetail

错误详细信息。

名称 类型 说明
additionalInfo

ErrorAdditionalInfo[]

错误附加信息。

code

string

错误代码。

details

ErrorDetail[]

错误详细信息。

message

string

错误消息。

target

string

错误目标。

ErrorResponse

错误响应

名称 类型 说明
error

ErrorDetail

错误对象。

ImplementationMethod

获取可手动实现此建议作的方法。 例如,TSql、AzurePowerShell。

说明
TSql
AzurePowerShell

IsRetryable

获取是否可以忽略错误并重试建议的作。 可能的值为:是/否

说明
Yes
No

RecommendedAction

数据库、服务器或弹性池建议的作。

名称 类型 说明
id

string

资源 ID。

kind

string

资源类型。

location

string

资源位置。

name

string

资源名称。

properties.details

object

获取特定于此建议作的其他详细信息。

properties.errorDetails

RecommendedActionErrorInfo

获取错误详细信息,以及为什么将此建议的作置于错误状态。

properties.estimatedImpact

RecommendedActionImpactRecord[]

获取此建议作的估计影响信息,例如估计 CPU 增益、估计磁盘空间更改

properties.executeActionDuration

string (duration)

获取对用户资源应用此建议作所需的时间。 例如,创建索引所需的时间

properties.executeActionInitiatedBy

RecommendedActionInitiatedBy

获取用户/系统是否批准应用此建议作。

properties.executeActionInitiatedTime

string (date-time)

获取批准执行此建议作的时间。

properties.executeActionStartTime

string (date-time)

获取系统开始对用户资源应用此建议作的时间。 例如索引创建开始时间

properties.implementationDetails

RecommendedActionImplementationInfo

获取此建议作的实现详细信息,供用户手动应用。

properties.isArchivedAction

boolean

获取此建议作是否在一段时间前建议,但用户选择忽略此作,并且系统再次添加了新的建议作。

properties.isExecutableAction

boolean

获取此建议的作是否可由用户作

properties.isRevertableAction

boolean

获取用户是否可以还原此建议作应用的更改

properties.lastRefresh

string (date-time)

获取上次刷新此建议作的时间。

properties.linkedObjects

string[]

获取链接的对象(如果有)。

properties.observedImpact

RecommendedActionImpactRecord[]

获取此建议作的观察到/实际影响信息,例如实际 CPU 增益、实际磁盘空间更改

properties.recommendationReason

string

获取建议此作的原因。 例如,DuplicateIndex

properties.revertActionDuration

string (duration)

获取在用户资源上还原此建议作更改所花费的时间。 例如,删除创建的索引所需的时间。

properties.revertActionInitiatedBy

RecommendedActionInitiatedBy

获取用户/系统是否批准还原此建议作。

properties.revertActionInitiatedTime

string (date-time)

获取批准此建议作进行还原的时间。

properties.revertActionStartTime

string (date-time)

获取系统开始在用户资源上还原此建议作更改的时间。 例如,执行索引删除的时间。

properties.score

integer (int32)

获取此建议作的影响。 可能的值为 1 - 低影响,2 - 中等影响和 3 - 高影响

properties.state

RecommendedActionStateInfo

获取建议作处于的当前状态的信息。

properties.timeSeries

RecommendedActionMetricInfo[]

获取此建议作的指标的时序信息,例如 CPU 消耗时序

properties.validSince

string (date-time)

获取自此建议作有效以来的时间。

type

string

资源类型。

RecommendedActionCurrentState

建议的作处于当前状态。 一些常用的状态是:活动 -> 建议的作处于活动状态,但尚未采取任何作。 挂起 -> 建议的作已批准并正在等待执行。 正在执行 -> 建议的作应用于用户数据库。 正在验证 -> 已应用建议的作,并且系统正在验证其有用性。 成功 -> 验证期间已应用建议的作和改进。 挂起还原 -> 验证发现很少或没有改进,因此建议的作排队等待还原或用户手动还原。 正在还原 - 在用户数据库上还原应用建议作时所做的> 更改。 已还原 -> 已成功还原对用户数据库的建议作所做的更改。 忽略 -> 用户显式忽略/放弃建议的作。

说明
Active
Pending
Executing
Verifying
PendingRevert
RevertCancelled
Reverting
Reverted
Ignored
Expired
Monitoring
Resolved
Success
Error

RecommendedActionErrorInfo

包含 Azure SQL 数据库、服务器或弹性池建议作的错误信息。

名称 类型 说明
errorCode

string

获取将建议的作置于错误状态的原因。 例如,DatabaseHasQdsOff、IndexAlreadyExists

isRetryable

IsRetryable

获取是否可以忽略错误并重试建议的作。 可能的值为:是/否

RecommendedActionImpactRecord

包含对 Azure SQL 数据库、服务器或弹性池建议作的各种指标的估计或观察到的影响的信息。

名称 类型 说明
absoluteValue

number (double)

获取此维度的绝对值(如果适用)。 例如受影响的查询数

changeValueAbsolute

number (double)

获取此维度的值的绝对更改。 例如,以兆字节为单位的绝对磁盘空间更改

changeValueRelative

number (double)

获取此维度的值的相对更改。 例如,相对磁盘空间更改(以百分比为单位)

dimensionName

string

获取影响维度的名称。 例如,CPUChange、DiskSpaceChange、NumberOfQueriesAffected。

unit

string

获取影响维度的名称。 例如,CPUChange、DiskSpaceChange、NumberOfQueriesAffected。

RecommendedActionImplementationInfo

包含有关 Azure SQL 数据库、服务器或弹性池推荐作的手动实现的信息。

名称 类型 说明
method

ImplementationMethod

获取可手动实现此建议作的方法。 例如,TSql、AzurePowerShell。

script

string

获取手动实现脚本。 例如,可以在数据库上执行的 T-SQL 脚本。

RecommendedActionInitiatedBy

获取谁启动了此建议作的执行。 可能的值是:用户 -> 当用户显式通知系统应用建议的作时。 系统 -> 当此顾问的自动执行状态设置为“已启用”时,在这种情况下,系统会应用它。

说明
User
System

RecommendedActionMetricInfo

包含 Azure SQL 数据库、服务器或弹性池建议作的各种受影响的指标的时序。

名称 类型 说明
metricName

string

获取指标的名称。 例如 CPU、查询数。

startTime

string (date-time)

获取此 MetricInfo 给出的时间间隔的开始时间。

timeGrain

string

获取此 MetricInfo 给出的值的时间间隔持续时间。 例如 PT1H (1 小时)

unit

string

获取度量指标的单位。 例如,DTU、频率

value

number (double)

获取此 MetricInfo 给出的时间间隔内指标的值。

RecommendedActionStateInfo

包含 Azure SQL 数据库、服务器或弹性池建议作的当前状态的信息。

名称 类型 说明
actionInitiatedBy

RecommendedActionInitiatedBy

获取谁启动了此建议作的执行。 可能的值是:用户 -> 当用户显式通知系统应用建议的作时。 系统 -> 当此顾问的自动执行状态设置为“已启用”时,在这种情况下,系统会应用它。

currentValue

RecommendedActionCurrentState

建议的作处于当前状态。 一些常用的状态是:活动 -> 建议的作处于活动状态,但尚未采取任何作。 挂起 -> 建议的作已批准并正在等待执行。 正在执行 -> 建议的作应用于用户数据库。 正在验证 -> 已应用建议的作,并且系统正在验证其有用性。 成功 -> 验证期间已应用建议的作和改进。 挂起还原 -> 验证发现很少或没有改进,因此建议的作排队等待还原或用户手动还原。 正在还原 - 在用户数据库上还原应用建议作时所做的> 更改。 已还原 -> 已成功还原对用户数据库的建议作所做的更改。 忽略 -> 用户显式忽略/放弃建议的作。

lastModified

string (date-time)

获取上次修改状态的时间