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 パラメーター
名前 | / | 必須 | 型 | 説明 |
---|---|---|---|---|
advisor
|
path | True |
string |
データベース アドバイザーの名前。 |
database
|
path | True |
string |
データベースの名前。 |
resource
|
path | True |
string |
リソースが含まれているリソース グループの名前。 この値は、Azure リソース マネージャー API またはポータルから取得できます。 |
server
|
path | True |
string |
サーバーの名前。 |
subscription
|
path | True |
string |
Azure サブスクリプションを識別するサブスクリプション ID。 |
api-version
|
query | True |
string |
要求で使用する API のバージョン。 |
応答
名前 | 型 | 説明 |
---|---|---|
200 OK |
データベース推奨アクションの一覧が正常に取得されました。 |
|
Other Status Codes |
エラー応答: ***
|
例
List of database recommended actions
Sample Request
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]"
}
}
}
]
定義
名前 | 説明 |
---|---|
Implementation |
この推奨されるアクションを手動で実装できるメソッドを取得します。 たとえば、TSql、AzurePowerShell などです。 |
Is |
エラーを無視し、推奨されるアクションを再試行できるかどうかを取得します。 使用可能な値は次のとおりです。 はい/いいえ |
Recommended |
データベース、サーバー、またはエラスティック プールの推奨アクション。 |
Recommended |
推奨されるアクションの現在の状態。 一般的に使用される状態の一部は次のとおりです。アクティブ -> 推奨されるアクションはアクティブであり、アクションはまだ実行されていません。 保留中 -> 推奨されるアクションは に対して承認され、実行を待機しています。 実行中 -> 推奨されるアクションがユーザー データベースに適用されています。 検証 -> 推奨されるアクションが適用され、システムによってその有用性が検証されています。 成功 -> 推奨されるアクションが適用され、検証中に改善が見つかりました。 保留中の元に戻す -> 検証でほとんどまたはまったく改善が見つからなかったため、推奨されるアクションは元に戻すか、ユーザーが手動で元に戻しました。 元に戻す -> 推奨されるアクションの適用中に行われた変更は、ユーザー データベースで元に戻されます。 元に戻す -> ユーザー データベースで推奨されるアクションによって行われた変更が正常に元に戻されました。 無視 -> ユーザーは推奨されるアクションを明示的に無視または破棄しました。 |
Recommended |
Azure SQL データベース、サーバー、またはエラスティック プールの推奨アクションに関するエラー情報が含まれます。 |
Recommended |
Azure SQL データベース、サーバー、またはエラスティック プールの推奨アクションに対するさまざまなメトリックに対する推定または観察された影響の情報が含まれます。 |
Recommended |
Azure SQL データベース、サーバー、またはエラスティック プールの推奨アクションの手動実装に関する情報が含まれます。 |
Recommended |
この推奨されるアクションの実行を開始したユーザーを取得します。 使用できる値は、ユーザー -> 推奨されるアクションを適用するようにユーザーが明示的にシステムに通知した場合です。 システム -> このアドバイザーの自動実行状態が "有効" に設定されている場合、システムによって適用されました。 |
Recommended |
Azure SQL データベース、サーバー、またはエラスティック プールの推奨アクションに対して、影響を受けたさまざまなメトリックの時系列が含まれます。 |
Recommended |
Azure SQL データベース、サーバー、またはエラスティック プールの推奨アクションの現在の状態の情報が含まれます。 |
ImplementationMethod
この推奨されるアクションを手動で実装できるメソッドを取得します。 たとえば、TSql、AzurePowerShell などです。
名前 | 型 | 説明 |
---|---|---|
AzurePowerShell |
string |
|
TSql |
string |
IsRetryable
エラーを無視し、推奨されるアクションを再試行できるかどうかを取得します。 使用可能な値は次のとおりです。 はい/いいえ
名前 | 型 | 説明 |
---|---|---|
No |
string |
|
Yes |
string |
RecommendedAction
データベース、サーバー、またはエラスティック プールの推奨アクション。
名前 | 型 | 説明 |
---|---|---|
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
推奨されるアクションの現在の状態。 一般的に使用される状態の一部は次のとおりです。アクティブ -> 推奨されるアクションはアクティブであり、アクションはまだ実行されていません。 保留中 -> 推奨されるアクションは に対して承認され、実行を待機しています。 実行中 -> 推奨されるアクションがユーザー データベースに適用されています。 検証 -> 推奨されるアクションが適用され、システムによってその有用性が検証されています。 成功 -> 推奨されるアクションが適用され、検証中に改善が見つかりました。 保留中の元に戻す -> 検証でほとんどまたはまったく改善が見つからなかったため、推奨されるアクションは元に戻すか、ユーザーが手動で元に戻しました。 元に戻す -> 推奨されるアクションの適用中に行われた変更は、ユーザー データベースで元に戻されます。 元に戻す -> ユーザー データベースで推奨されるアクションによって行われた変更が正常に元に戻されました。 無視 -> ユーザーは推奨されるアクションを明示的に無視または破棄しました。
名前 | 型 | 説明 |
---|---|---|
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 データベース、サーバー、またはエラスティック プールの推奨アクションに関するエラー情報が含まれます。
名前 | 型 | 説明 |
---|---|---|
errorCode |
string |
推奨されるアクションがエラー状態になった理由を取得します。 例: DatabaseHasQdsOff、IndexAlreadyExists |
isRetryable |
エラーを無視し、推奨されるアクションを再試行できるかどうかを取得します。 使用可能な値は次のとおりです。 はい/いいえ |
RecommendedActionImpactRecord
Azure SQL データベース、サーバー、またはエラスティック プールの推奨アクションに対するさまざまなメトリックに対する推定または観察された影響の情報が含まれます。
名前 | 型 | 説明 |
---|---|---|
absoluteValue |
number |
該当する場合は、このディメンションの絶対値を取得します。 たとえば、影響を受けるクエリの数 |
changeValueAbsolute |
number |
このディメンションの値の絶対変更を取得します。 たとえば、絶対ディスク領域の変更 (メガバイト単位) |
changeValueRelative |
number |
このディメンションの値の相対的な変更を取得します。 たとえば、相対的なディスク領域の変化 (パーセンテージ) |
dimensionName |
string |
影響ディメンションの名前を取得します。 たとえば、CPUChange、DiskSpaceChange、NumberOfQueriesAffected などです。 |
unit |
string |
影響ディメンションの名前を取得します。 たとえば、CPUChange、DiskSpaceChange、NumberOfQueriesAffected などです。 |
RecommendedActionImplementationInfo
Azure SQL データベース、サーバー、またはエラスティック プールの推奨アクションの手動実装に関する情報が含まれます。
名前 | 型 | 説明 |
---|---|---|
method |
この推奨されるアクションを手動で実装できるメソッドを取得します。 たとえば、TSql、AzurePowerShell などです。 |
|
script |
string |
手動実装スクリプトを取得します。 たとえば、データベースで実行できる T-SQL スクリプトなどです。 |
RecommendedActionInitiatedBy
この推奨されるアクションの実行を開始したユーザーを取得します。 使用できる値は、ユーザー -> 推奨されるアクションを適用するようにユーザーが明示的にシステムに通知した場合です。 システム -> このアドバイザーの自動実行状態が "有効" に設定されている場合、システムによって適用されました。
名前 | 型 | 説明 |
---|---|---|
System |
string |
|
User |
string |
RecommendedActionMetricInfo
Azure SQL データベース、サーバー、またはエラスティック プールの推奨アクションに対して、影響を受けたさまざまなメトリックの時系列が含まれます。
名前 | 型 | 説明 |
---|---|---|
metricName |
string |
メトリックの名前を取得します。 たとえば、CPU、クエリの数などです。 |
startTime |
string |
この MetricInfo によって指定された時間間隔の開始時刻を取得します。 |
timeGrain |
string |
この MetricInfo によって指定された値の時間間隔の期間を取得します。 例: PT1H (1 時間) |
unit |
string |
メトリックが測定される単位を取得します。 例: DTU、Frequency |
value |
number |
この MetricInfo によって指定された時間間隔内のメトリックの値を取得します。 |
RecommendedActionStateInfo
Azure SQL データベース、サーバー、またはエラスティック プールの推奨アクションの現在の状態の情報が含まれます。
名前 | 型 | 説明 |
---|---|---|
actionInitiatedBy |
この推奨されるアクションの実行を開始したユーザーを取得します。 使用できる値は、ユーザー -> 推奨されるアクションを適用するようにユーザーが明示的にシステムに通知した場合です。 システム -> このアドバイザーの自動実行状態が "有効" に設定されている場合、システムによって適用されました。 |
|
currentValue |
推奨されるアクションの現在の状態。 一般的に使用される状態の一部は次のとおりです。アクティブ -> 推奨されるアクションはアクティブであり、アクションはまだ実行されていません。 保留中 -> 推奨されるアクションは に対して承認され、実行を待機しています。 実行中 -> 推奨されるアクションがユーザー データベースに適用されています。 検証 -> 推奨されるアクションが適用され、システムによってその有用性が検証されています。 成功 -> 推奨されるアクションが適用され、検証中に改善が見つかりました。 保留中の元に戻す -> 検証でほとんどまたはまったく改善が見つからなかったため、推奨されるアクションは元に戻すか、ユーザーが手動で元に戻しました。 元に戻す -> 推奨されるアクションの適用中に行われた変更は、ユーザー データベースで元に戻されます。 元に戻す -> ユーザー データベースで推奨されるアクションによって行われた変更が正常に元に戻されました。 無視 -> ユーザーは推奨されるアクションを明示的に無視または破棄しました。 |
|
lastModified |
string |
状態が最後に変更された時刻を取得します |