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

Database Recommended Actions - List By Database Advisor

获取数据库建议操作的列表。

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors/{advisorName}/recommendedActions?api-version=2021-02-01-preview

URI 参数

Name In Required Type Description
advisorName
path True
  • string

数据库顾问的名称。

databaseName
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

已成功检索数据库建议操作的列表。

Other Status Codes

错误响应: ***

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

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

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

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

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

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

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

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

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

  • 405 NotSupported - 不支持此功能。

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

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

示例

Sample Request

GET 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?api-version=2021-02-01-preview

Sample Response

[
  {
    "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": "Active",
        "lastModified": "2017-03-01T14:38:05Z"
      },
      "isExecutableAction": true,
      "isRevertableAction": true,
      "isArchivedAction": false,
      "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]"
      }
    }
  },
  {
    "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/CreateIndex/recommendedActions/IR_[dbo]_[DataPoints]_F5D2F347AA22DB46E4CC",
    "name": "IR_[dbo]_[DataPoints]_F5D2F347AA22DB46E4CC",
    "type": "Microsoft.Sql/servers/databases/advisors/recommendedActions",
    "location": "East Asia",
    "kind": "",
    "properties": {
      "recommendationReason": "",
      "validSince": "2017-03-01T14:38:05Z",
      "lastRefresh": "2017-03-01T14:38:05Z",
      "state": {
        "currentValue": "Success",
        "actionInitiatedBy": "User",
        "lastModified": "2017-03-01T14:38:05Z"
      },
      "isExecutableAction": true,
      "isRevertableAction": true,
      "isArchivedAction": false,
      "executeActionStartTime": "2017-03-01T14:38:05Z",
      "executeActionDuration": "PT1M",
      "executeActionInitiatedBy": "User",
      "executeActionInitiatedTime": "2017-03-01T14:38:05Z",
      "score": 3,
      "implementationDetails": {
        "method": "TSql",
        "script": "DROP INDEX [nci_wi_DataPoints_609E4B7D6A3813990ED44B28B340C8FC] ON [dbo].[DataPoints]"
      },
      "errorDetails": {},
      "estimatedImpact": [
        {
          "dimensionName": "ActionDuration",
          "unit": "Seconds",
          "absoluteValue": 5040
        },
        {
          "dimensionName": "SpaceChange",
          "unit": "Megabytes",
          "absoluteValue": 120
        }
      ],
      "observedImpact": [
        {
          "dimensionName": "AffectedQueriesCpuUtilization",
          "unit": "CpuCores",
          "changeValueAbsolute": -12.7,
          "changeValueRelative": -0.9
        },
        {
          "dimensionName": "CpuUtilization",
          "unit": "CpuCores",
          "changeValueAbsolute": -12.7,
          "changeValueRelative": -0.3175
        },
        {
          "dimensionName": "QueriesWithImprovedPerformance",
          "unit": "Count",
          "absoluteValue": 12
        },
        {
          "dimensionName": "QueriesWithRegressedPerformance",
          "unit": "Count",
          "absoluteValue": 1
        },
        {
          "dimensionName": "SpaceChange",
          "unit": "Megabytes",
          "absoluteValue": 130.742187
        },
        {
          "dimensionName": "VerificationProgress",
          "unit": "Percent",
          "absoluteValue": 0
        }
      ],
      "timeSeries": [],
      "details": {
        "indexName": "nci_wi_DataPoints_609E4B7D6A3813990ED44B28B340C8FC",
        "indexType": "NONCLUSTERED",
        "schema": "[dbo]",
        "table": "[DataPoints]",
        "indexColumns": "[Name],[Money]",
        "includedColumns": "[Power],[Pineapple]",
        "indexActionStartTime": "2017-03-01T14:38:05.337",
        "indexActionDuration": "00:01:00"
      }
    }
  },
  {
    "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/CreateIndex/recommendedActions/IR_[dbo]_[Employees]_560E15A98D14CA09BDFB",
    "name": "IR_[dbo]_[Employees]_560E15A98D14CA09BDFB",
    "type": "Microsoft.Sql/servers/databases/advisors/recommendedActions",
    "location": "East Asia",
    "kind": "",
    "properties": {
      "recommendationReason": "",
      "validSince": "2017-03-01T14:38:05Z",
      "lastRefresh": "2017-03-01T14:38:05Z",
      "state": {
        "currentValue": "Active",
        "lastModified": "2017-03-01T14:38:05Z"
      },
      "isExecutableAction": true,
      "isRevertableAction": true,
      "isArchivedAction": false,
      "score": 3,
      "implementationDetails": {
        "method": "TSql",
        "script": "CREATE NONCLUSTERED INDEX [nci_wi_Employees_8C18C2AF4267DC77793040782641CCDE] ON [dbo].[Employees] ([City], [State]) INCLUDE ([Postal]) WITH (ONLINE = ON)"
      },
      "errorDetails": {},
      "estimatedImpact": [
        {
          "dimensionName": "ActionDuration",
          "unit": "Seconds",
          "absoluteValue": 17
        },
        {
          "dimensionName": "SpaceChange",
          "unit": "Megabytes",
          "absoluteValue": 128
        }
      ],
      "observedImpact": [],
      "timeSeries": [],
      "details": {
        "indexName": "nci_wi_Employees_8C18C2AF4267DC77793040782641CCDE",
        "indexType": "NONCLUSTERED",
        "schema": "[dbo]",
        "table": "[Employees]",
        "indexColumns": "[City], [State]",
        "includedColumns": "[Postal]"
      }
    }
  }
]

定义

ImplementationMethod

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

IsRetryable

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

RecommendedAction

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

RecommendedActionCurrentState

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

RecommendedActionErrorInfo

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

RecommendedActionImpactRecord

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

RecommendedActionImplementationInfo

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

RecommendedActionInitiatedBy

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

RecommendedActionMetricInfo

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

RecommendedActionStateInfo

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

ImplementationMethod

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

Name Type Description
AzurePowerShell
  • string
TSql
  • string

IsRetryable

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

Name Type Description
No
  • string
Yes
  • string

RecommendedAction

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

Name Type Description
id
  • string

资源 ID。

kind
  • string

资源类型。

location
  • string

资源位置。

name
  • string

资源名称。

properties.details
  • object

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

properties.errorDetails

获取错误详细信息(如果以及为何将此建议的操作置于错误状态)。

properties.estimatedImpact

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

properties.executeActionDuration
  • string

获取在用户资源上应用此建议操作所花费的时间。 例如,创建索引所需的时间

properties.executeActionInitiatedBy

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

properties.executeActionInitiatedTime
  • string

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

properties.executeActionStartTime
  • string

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

properties.implementationDetails

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

properties.isArchivedAction
  • boolean

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

properties.isExecutableAction
  • boolean

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

properties.isRevertableAction
  • boolean

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

properties.lastRefresh
  • string

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

properties.linkedObjects
  • string[]

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

properties.observedImpact

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

properties.recommendationReason
  • string

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

properties.revertActionDuration
  • string

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

properties.revertActionInitiatedBy

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

properties.revertActionInitiatedTime
  • string

获取此建议操作被批准还原的时间。

properties.revertActionStartTime
  • string

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

properties.score
  • integer

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

properties.state

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

properties.timeSeries

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

properties.validSince
  • string

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

type
  • string

资源类型。

RecommendedActionCurrentState

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

Name Type Description
Active
  • string
Error
  • string
Executing
  • string
Expired
  • string
Ignored
  • string
Monitoring
  • string
Pending
  • string
PendingRevert
  • string
Resolved
  • string
RevertCancelled
  • string
Reverted
  • string
Reverting
  • string
Success
  • string
Verifying
  • string

RecommendedActionErrorInfo

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

Name Type Description
errorCode
  • string

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

isRetryable

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

RecommendedActionImpactRecord

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

Name Type Description
absoluteValue
  • number

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

changeValueAbsolute
  • number

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

changeValueRelative
  • number

获取此维度的值的相对更改。 例如,“百分比”中的相对磁盘空间更改

dimensionName
  • string

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

unit
  • string

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

RecommendedActionImplementationInfo

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

Name Type Description
method

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

script
  • string

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

RecommendedActionInitiatedBy

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

Name Type Description
System
  • string
User
  • string

RecommendedActionMetricInfo

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

Name Type Description
metricName
  • string

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

startTime
  • string

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

timeGrain
  • string

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

unit
  • string

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

value
  • number

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

RecommendedActionStateInfo

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

Name Type Description
actionInitiatedBy

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

currentValue

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

lastModified
  • string

获取上次修改状态的时间