8

릴리즈 파이프 라인에서 자동 튜닝을 활성화하는 것과 관련된 설명서를 찾을 수 없습니다. 즉, ARM 템플리트 또는 PowerShell 또는 github arm quickstarts를 사용하십시오.ARM을 통한 Azure SQL 데이터베이스 자동 튜닝 활성화

리소스 탐색기에서 자동 튜닝을 볼 수 있습니다. 그러나 이것이 ARM 템플릿에서 어떻게 반영되는지는 알 수 없습니다.

{ 
    "name": "Microsoft.Sql/servers/automaticTuning/read", 
    "display": { 
    "provider": "Microsoft SQL Database", 
    "resource": "Server Automatic Tuning", 
    "operation": "Get automatic tuning settings for the server", 
    "description": "Returns automatic tuning settings for the server" 
    } 
}, 
{ 
    "name": "Microsoft.Sql/servers/automaticTuning/write", 
    "display": { 
    "provider": "Microsoft SQL Database", 
    "resource": "Server Automatic Tuning", 
    "operation": "Update automatic tuning settings for the server", 
    "description": "Updates automatic tuning settings for the server and returns updated settings" 
    } 
}, 

답변

3

이 기능은 인프라가 있지만 현재로서는 공식적으로 지원되지 않습니다. 우리는 가까운 장래에 지원을 제공하기 위해 노력하고 있습니다.

+0

감사 Estienne, 아마도 파워 쉘, 기존 인프라를 사용하거나 API를 직접 호출하는 ARM의 대안이 : 나는이 정보를 얻기 위해 푸른 포털에 Automation Script 블레이드를 사용했습니다? –

4

Alex는 Esteenne이 언급했듯이 현재 ARM 템플릿을 통해 지원되지 않지만 현재이 작업을 수행 할 수있는 다른 방법이 있습니다.

1) 새로 생성 된 모든 데이터베이스는 기본적으로 서버에서 자동 튜닝 설정을 상속받습니다. 따라서 서버 수준에서 자동 조정을 구성하면 모든 새 데이터베이스가 생성시 이러한 설정을 상속합니다.

2) 데이터베이스에서 실행할 수있는 T-SQL을 사용하여 자동 조정을 구성 할 수 있습니다. T-SQL 데이터베이스 수준에서 자동 튜닝을 구성합니다 다음은 :

ALTER DATABASE current SET AUTOMATIC_TUNING = AUTO | INHERIT | CUSTOM 

자동을 선택하면 옵션의 기본 설정 얻을 것이다 - CREATE_INDEX 및 FORCE_LAST_GOOD_PLAN 활성화. INHERIT을 선택하면 서버의 설정을 상속받습니다. CUSTOM을 선택하면 모든 자동 튜닝 옵션을 명시 적으로 지정해야합니다. 명시 적으로 활성화/옵션 중 일부를 사용하지 않을 경우

, 당신은이를 사용할 수 있습니다

ALTER DATABASE current SET AUTOMATIC_TUNING (FORCE_LAST_GOOD_PLAN = DEFAULT, CREATE_INDEX = ON, DROP_INDEX = OFF) 

데이터베이스 레벨 구성을 선택할 것입니다 기본값으로 일부 옵션을 설정.

3) REST API를 사용하여 자동 조정을 구성 할 수 있습니다. 다음과 같이 입력하십시오 :
PATCH /subscriptions/{SUBID}/resourceGroups/{RGNAME}/providers/Microsoft.Sql/servers/{SRVNAME}/databases/{DBNAME}/automaticTuning/current?api-version=2017-03- 01 - 미리보기 HTTP/1.1
호스트 : management.azure.com
인증 : 무기명
콘텐츠 형식 : 응용 프로그램/JSON
캐시 제어 : 노 캐시
{ "속성": { "desiredState" "사용자 지정", "옵션": { "forceLastGoodPlan": "On", "createIndex": "On", "dropIndex": "Off"}}}

곧 PowerShell을 통해이를 구성 할 수 있습니다. 마나 ged 라이브러리뿐입니다.

+0

감사합니다. 에스티엔네스를 답으로 표시했습니다. 당연히 제 초기 질문에 답을했지만, 감사의 깊이에서 현상금을 받았습니다. –

1

이제 데이터베이스 수준에서 ARM 템플릿을 통해 자동 조정 옵션을 설정할 수 있습니다.

{ 
    "type": "Microsoft.Sql/servers/databases/advisors", 
    "name": "[concat(parameters('sqlserverName'), '/', parameters('databaseName'), '/', 'ForceLastGoodPlan')]", 
    "apiVersion": "2014-04-01", 
    "scale": null, 
    "properties": { 
    "autoExecuteValue": "Enabled" 
    }, 
    "dependsOn": [ 
    "[resourceId('Microsoft.Sql/servers', parameters('sqlserverName'))]", 
    "[resourceId('Microsoft.Sql/servers/databases', parameters('sqlserverName'), parameters('databaseName'))]" 
    ] 
}, 
{ 
    "type": "Microsoft.Sql/servers/databases/advisors", 
    "name": "[concat(parameters('sqlserverName'), '/', parameters('databaseName'), '/', 'CreateIndex')]", 
    "apiVersion": "2014-04-01", 
    "scale": null, 
    "properties": { 
    "autoExecuteValue": "Enabled" 
    }, 
    "dependsOn": [ 
    "[resourceId('Microsoft.Sql/servers', parameters('sqlserverName'))]", 
    "[resourceId('Microsoft.Sql/servers/databases', parameters('sqlserverName'), parameters('databaseName'))]" 
    ] 
}, 
{ 
    "type": "Microsoft.Sql/servers/databases/advisors", 
    "name": "[concat(parameters('sqlserverName'), '/', parameters('databaseName'), '/', 'DropIndex')]", 
    "apiVersion": "2014-04-01", 
    "scale": null, 
    "properties": { 
    "autoExecuteValue": "Enabled" 
    }, 
    "dependsOn": [ 
    "[resourceId('Microsoft.Sql/servers', parameters('sqlserverName'))]", 
    "[resourceId('Microsoft.Sql/servers/databases', parameters('sqlserverName'), parameters('databaseName'))]" 
    ] 
}, 
{ 
    "type": "Microsoft.Sql/servers/databases/advisors", 
    "name": "[concat(parameters('sqlserverName'), '/', parameters('databaseName'), '/', 'DbParameterization')]", 
    "apiVersion": "2014-04-01", 
    "scale": null, 
    "properties": { 
    "autoExecuteValue": "Disabled" 
    }, 
    "dependsOn": [ 
    "[resourceId('Microsoft.Sql/servers', parameters('sqlserverName'))]", 
    "[resourceId('Microsoft.Sql/servers/databases', parameters('sqlserverName'), parameters('databaseName'))]" 
    ] 
} 
+0

좋은 장소 Thomas, 아직 시도해 볼 기회가 없었지만 매우 유망한 감사 +1입니다. –