Share via


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-11-01

URI 參數

名稱 位於 必要 類型 Description
advisorName
path True

string

Database Advisor 的名稱。

databaseName
path True

string

資料庫的名稱。

resourceGroupName
path True

string

包含資源的資源群組名稱。 您可以從 Azure 資源管理員 API 或入口網站取得這個值。

serverName
path True

string

伺服器的名稱。

subscriptionId
path True

string

可識別 Azure 訂用帳戶的訂用帳戶識別碼。

api-version
query True

string

要用於要求的 API 版本。

回應

名稱 類型 Description
200 OK

RecommendedAction[]

已成功擷取資料庫建議動作的清單。

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-11-01

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]"
      }
    }
  }
]

定義

名稱 Description
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。

名稱 類型 Description
AzurePowerShell

string

TSql

string

IsRetryable

取得是否可以忽略錯誤,並重試建議的動作。 可能的值為:是/否

名稱 類型 Description
No

string

Yes

string

RecommendedAction

資料庫、伺服器或彈性集區建議的動作。

名稱 類型 Description
id

string

資源識別碼。

kind

string

資源種類。

location

string

資源位置。

name

string

資源名稱。

properties.details

object

取得這個建議動作的特定其他詳細數據。

properties.errorDetails

RecommendedActionErrorInfo

取得錯誤詳細數據,如果和為何將這個建議的動作放到錯誤狀態。

properties.estimatedImpact

RecommendedActionImpactRecord[]

取得此建議動作的估計影響資訊,例如預估 CPU 增益、估計磁碟空間變更

properties.executeActionDuration

string

取得在用戶資源上套用此建議動作所花費的時間。 例如,建立索引所花費的時間

properties.executeActionInitiatedBy

RecommendedActionInitiatedBy

取得使用者/系統是否核准套用此建議動作。

properties.executeActionInitiatedTime

string

取得這個建議動作核准執行的時間。

properties.executeActionStartTime

string

取得系統開始在用戶資源上套用此建議動作的時間。 例如,索引建立開始時間

properties.implementationDetails

RecommendedActionImplementationInfo

取得這個建議動作的實作詳細數據,讓使用者手動套用。

properties.isArchivedAction

boolean

取得此建議動作是否在一段時間前建議,但用戶選擇忽略此動作,並再次新增建議動作。

properties.isExecutableAction

boolean

取得此建議動作是否可供用戶採取動作

properties.isRevertableAction

boolean

取得使用者是否可以還原此建議動作所套用的變更

properties.lastRefresh

string

取得上次重新整理這個建議動作的時間。

properties.linkedObjects

string[]

取得連結的物件,如果有的話。

properties.observedImpact

RecommendedActionImpactRecord[]

取得此建議動作的觀察到/實際影響資訊,例如實際 CPU 增益、實際磁碟空間變更

properties.recommendationReason

string

取得建議此動作的原因。 例如,DuplicateIndex

properties.revertActionDuration

string

取得在用戶資源上還原此建議動作變更所花費的時間。 例如,卸除已建立索引所花費的時間。

properties.revertActionInitiatedBy

RecommendedActionInitiatedBy

取得使用者/系統是否核准還原此建議動作。

properties.revertActionInitiatedTime

string

取得此建議動作已核准還原的時間。

properties.revertActionStartTime

string

取得系統開始在用戶資源上還原此建議動作變更的時間。 例如,執行索引卸除的時間。

properties.score

integer

取得這個建議動作的影響。 可能的值為 1 - 低影響,2 - 中度影響和 3 - 高影響

properties.state

RecommendedActionStateInfo

取得建議動作所在的目前狀態資訊。

properties.timeSeries

RecommendedActionMetricInfo[]

取得此建議動作計量的時間序列資訊,例如CPU耗用量時間序列

properties.validSince

string

取得自這個建議動作有效以來的時間。

type

string

資源類型。

RecommendedActionCurrentState

建議動作所在的目前狀態。 一些常用的狀態為:作用中 -> 建議的動作為作用中,且尚未採取任何動作。 擱置 -> 建議的動作已核准,正在等候執行。 執行 -> 建議在使用者資料庫上套用動作。 驗證 -> 已套用建議的動作,並已由系統驗證其效用。 成功 -> 已套用建議的動作,並在驗證期間找到改進。 擱置還原 -> 驗證發現很少或沒有改進,因此建議的動作會排入佇列以還原,或使用者已手動還原。 還原 -> 在用戶資料庫上還原套用建議動作時所做的變更。 已還原 -> 已成功還原使用者資料庫的建議動作所做的變更。 忽略 -> 使用者明確忽略/捨棄建議的動作。

名稱 類型 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 資料庫、伺服器或彈性集區建議動作的錯誤資訊。

名稱 類型 Description
errorCode

string

取得建議動作進入錯誤狀態的原因。 例如 DatabaseHasQdsOff、IndexAlreadyExists

isRetryable

IsRetryable

取得是否可以忽略錯誤,並重試建議的動作。 可能的值為:是/否

RecommendedActionImpactRecord

包含 Azure SQL 資料庫、伺服器或彈性集區建議動作之各種計量的估計或觀察到影響的資訊。

名稱 類型 Description
absoluteValue

number

如果適用,則取得這個維度的絕對值。 例如,受影響的查詢數目

changeValueAbsolute

number

取得這個維度值的絕對變更。 例如,以 MB 為單位的絕對磁碟空間變更

changeValueRelative

number

取得這個維度值的相對變更。 例如,百分比中的相對磁碟空間變更

dimensionName

string

取得影響維度的名稱。 例如,CPUChange、DiskSpaceChange、NumberOfQueriesAffected。

unit

string

取得影響維度的名稱。 例如,CPUChange、DiskSpaceChange、NumberOfQueriesAffected。

RecommendedActionImplementationInfo

包含手動實作 Azure SQL 資料庫、伺服器或彈性集區建議動作的資訊。

名稱 類型 Description
method

ImplementationMethod

取得可以手動實作這個建議動作的方法。 例如 TSql、AzurePowerShell。

script

string

取得手動實作腳本。 例如,可以在資料庫上執行的 T-SQL 腳本。

RecommendedActionInitiatedBy

取得起始執行這個建議動作的人員。 可能的值為:使用者 -> 當使用者明確通知系統套用建議的動作時。 系統 -> 當此建議程式的自動執行狀態設定為 [已啟用] 時,在此情況下,系統會套用它。

名稱 類型 Description
System

string

User

string

RecommendedActionMetricInfo

包含 Azure SQL 資料庫、伺服器或彈性集區建議動作之各種受影響計量的時間序列。

名稱 類型 Description
metricName

string

取得計量的名稱。 例如 CPU、查詢數目。

startTime

string

取得這個 MetricInfo 所提供的時間間隔開始時間。

timeGrain

string

取得這個 MetricInfo 所指定值的時間間隔持續時間。 例如 PT1H (1 小時)

unit

string

取得測量計量的單位。 例如,DTU、Frequency

value

number

取得此 MetricInfo 所指定時間間隔中的計量值。

RecommendedActionStateInfo

包含 Azure SQL 資料庫、伺服器或彈性集區建議動作之目前狀態的資訊。

名稱 類型 Description
actionInitiatedBy

RecommendedActionInitiatedBy

取得起始執行這個建議動作的人員。 可能的值為:使用者 -> 當使用者明確通知系統套用建議的動作時。 系統 -> 當此建議程式的自動執行狀態設定為 [已啟用] 時,在此情況下,系統會套用它。

currentValue

RecommendedActionCurrentState

建議動作所在的目前狀態。 一些常用的狀態為:作用中 -> 建議的動作為作用中,且尚未採取任何動作。 擱置 -> 建議的動作已核准,正在等候執行。 執行 -> 建議在使用者資料庫上套用動作。 驗證 -> 已套用建議的動作,並已由系統驗證其效用。 成功 -> 已套用建議的動作,並在驗證期間找到改進。 擱置還原 -> 驗證發現很少或沒有改進,因此建議的動作會排入佇列以還原,或使用者已手動還原。 還原 -> 在用戶資料庫上還原套用建議動作時所做的變更。 已還原 -> 已成功還原使用者資料庫的建議動作所做的變更。 忽略 -> 使用者明確忽略/捨棄建議的動作。

lastModified

string

取得上次修改狀態的時間