Share via


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

URI 參數

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

string

Database Advisor 的名稱。

databaseName
path True

string

資料庫的名稱。

recommendedActionName
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
properties.state True

RecommendedActionStateInfo

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

回應

名稱 類型 Description
200 OK

RecommendedAction

已成功更新指定的資料庫建議動作。

Other Status Codes

錯誤回應: ≦

  • 400 FeatureDisabledOnSelectedEdition - 用戶嘗試使用目前資料庫版本停用的功能。

  • 400 InvalidIdentifier - 識別碼包含 NULL 或無效的 Unicode 字元。

  • 400 InvalidRecommendedActionUpsertRequest - 更新建議的動作要求本文不存在或沒有屬性或狀態物件。

  • 400 InvalidRecommendedActionState - 建議動作的指定狀態無效

  • 404 DatabaseDoesNotExist - 找不到要求的資料庫

  • 404 SubscriptionDoesNotHaveServer - 找不到要求的伺服器

  • 404 SubscriptionDoesNotHaveElasticPool - 找不到要求的彈性集區

  • 404 AdvisorNotFound - 找不到要求的 Advisor。

  • 404 RecommendedActionNotFound - 找不到所要求的建議動作。

  • 404 AdvisorNotFound - 找不到要求的 Advisor。

  • 404 RecommendedActionNotFound - 找不到所要求的建議動作。

  • 405 NotSupported - 不支援此功能。

  • 409 衝突 - 要求因要求衝突而無法處理。

  • 503 ServiceTemporarilyUnavailable - 功能暫時無法使用。

範例

Sample Request

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

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

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

定義

名稱 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、頻率

value

number

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

RecommendedActionStateInfo

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

名稱 類型 Description
actionInitiatedBy

RecommendedActionInitiatedBy

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

currentValue

RecommendedActionCurrentState

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

lastModified

string

取得上次修改狀態的時間