Query's bewaken en de prestaties van workloads verbeteren met automatisch afstemmen in Azure Portal
van toepassing op:Azure SQL Database
Azure SQL Managed Instance-
Azure SQL Database beheert automatisch gegevensservices die uw query's voortdurend bewaken en identificeert de actie die u kunt uitvoeren om de prestaties van uw workload te verbeteren. U kunt aanbevelingen bekijken en handmatig toepassen, of azure SQL Database automatisch corrigerende acties laten toepassen. Deze modus staat bekend als automatische afstemmingsmodus.
Automatisch afstemmen kan worden ingeschakeld op server- of databaseniveau via:
- De Azure Portal-
- REST API aanroepen
- T-SQL opdrachten
Notitie
Voor Azure SQL Managed Instance kan de ondersteunde optie FORCE_LAST_GOOD_PLAN
alleen worden geconfigureerd via T-SQL-. De configuratie en opties voor automatisch afstemmen van indexen die in dit artikel worden beschreven, zijn niet van toepassing op Azure SQL Managed Instance.
Het configureren van opties voor automatisch afstemmen via de ARM-sjabloon (Azure Resource Manager) wordt momenteel niet ondersteund.
Automatisch afstemmen op server inschakelen
Op serverniveau kunt u ervoor kiezen om de configuratie voor automatisch afstemmen over te nemen van 'Azure-standaardinstellingen' of om de configuratie niet over te nemen. Azure-standaardinstellingen zijn FORCE_LAST_GOOD_PLAN
ingeschakeld, CREATE_INDEX
uitgeschakeld en DROP_INDEX
uitgeschakeld.
Azure Portal
Als u automatisch afstemmen wilt inschakelen op een server in Azure SQL Database, gaat u naar de server in Azure Portal en selecteert u vervolgens Automatisch afstemmen in het menu.
Selecteer de opties voor automatisch afstemmen die u wilt inschakelen en selecteer Toepassen.
Opties voor automatisch afstemmen op een server worden toegepast op alle databases op deze server. Standaard nemen alle databases de configuratie over van hun bovenliggende server, maar dit kan worden overschreven en opgegeven voor elke database afzonderlijk.
REST API
Zie voor meer informatie over het gebruik van een REST API om automatische optimalisatie op een server in te schakelen, de Server automatische afstemming en GET HTTP-methoden.
Het configureren van opties voor automatisch afstemmen via de ARM-sjabloon (Azure Resource Manager) wordt momenteel niet ondersteund.
Automatisch afstemmen inschakelen voor een afzonderlijke database
Met Azure SQL Database kunt u de configuratie voor automatisch afstemmen voor elke database afzonderlijk opgeven. Op databaseniveau kunt u ervoor kiezen om de configuratie voor automatisch afstemmen over te nemen van de bovenliggende server, 'Azure-standaardinstellingen' of om de configuratie niet over te nemen. Deze standaardwaarden zijn als volgt:
-
FORCE_LAST_GOOD_PLAN
is ingeschakeld -
CREATE_INDEX
is uitgeschakeld -
DROP_INDEX
is uitgeschakeld
Tip
De algemene aanbeveling is om de configuratie voor automatisch afstemmen op serverniveau te beheren zodat dezelfde configuratie-instellingen automatisch op elke database kunnen worden toegepast. Configureer automatisch afstemmen op een afzonderlijke database alleen als u die database nodig hebt om andere instellingen te hebben dan andere instellingen die instellingen overnemen van dezelfde server.
Azure Portal
Als u automatisch afstemmen wilt inschakelen voor een individuele database, gaat u naar de database in Azure Portal en selecteert u Automatische afstemming.
Afzonderlijke instellingen voor automatisch afstemmen kunnen afzonderlijk worden geconfigureerd voor elke database. U kunt handmatig een afzonderlijke optie voor automatisch afstemmen configureren of opgeven dat een optie de instellingen van de server overneemt.
Zodra u de gewenste configuratie hebt geselecteerd, selecteert u Toepassen.
REST API
Zie Automatische afstemming van Azure SQL Database en GET HTTP-methodenvoor meer informatie over het gebruik van een REST API om automatische afstemming op één database mogelijk te maken.
Het configureren van opties voor automatisch afstemmen via de ARM-sjabloon (Azure Resource Manager) wordt momenteel niet ondersteund.
T-SQL
Als u automatisch afstemmen wilt inschakelen voor één database via T-SQL, maakt u verbinding met de database en voert u de volgende query uit:
ALTER DATABASE current SET AUTOMATIC_TUNING = AUTO | INHERIT | CUSTOM
Door automatische afstemming in te stellen op AUTO
worden standaardinstellingen van Azure toegepast. Als u deze instelt op INHERIT
, wordt de configuratie voor automatisch afstemmen overgenomen van de bovenliggende server. Als u CUSTOM
kiest, moet u het automatisch afstemmen handmatig configureren.
Als u afzonderlijke opties voor automatisch afstemmen via T-SQL wilt configureren, maakt u verbinding met de database en voert u de volgende query uit:
ALTER DATABASE CURRENT SET AUTOMATIC_TUNING (
FORCE_LAST_GOOD_PLAN = ON,
CREATE_INDEX = ON,
DROP_INDEX = OFF
);
Als u de afzonderlijke afstemmingsoptie instelt op ON, wordt elke instelling die door de database is overgenomen, overschreven en wordt de optie voor afstemmen ingeschakeld. Door deze in te stellen op OFF
worden ook alle instellingen overschreven die de database heeft overgenomen, en wordt de afstemmingsoptie uitgeschakeld. Opties voor automatisch afstemmen waarvoor DEFAULT
is opgegeven, nemen de configuratie voor automatisch afstemmen over van de instellingen op serverniveau.
Belangrijk
Voor actieve geo-replicatiemoet automatisch afstemmen alleen worden geconfigureerd op de primaire database. Automatisch toegepaste afstemmingsacties, zoals het maken of verwijderen van een index, worden automatisch gerepliceerd naar geo-secundaire bestanden. Als u automatische afstemming via T-SQL wilt inschakelen op de alleen-lezen secundaire server, leidt dit tot een foutmelding, omdat een andere afstemmingsconfiguratie op de secundaire server die alleen-lezen is niet wordt ondersteund.
Zie ALTER DATABASE SET Optionsvoor meer informatie over T-SQL-opties voor het automatisch afstemmen.
Probleemoplossing
Geautomatiseerd aanbevelingsbeheer is uitgeschakeld
Als u foutberichten ziet dat geautomatiseerd aanbevelingsbeheer is uitgeschakeld of uitgeschakeld door het systeem, zijn de meest voorkomende oorzaken:
- Query Store is niet ingeschakeld of
- Query Store bevindt zich in de modus Alleen-lezen voor een opgegeven database of
- Query Store is gestopt met uitvoeren omdat er onvoldoende toegewezen opslagruimte beschikbaar is.
De volgende stappen kunnen worden overwogen om dit probleem op te lossen:
Schoon de Query Store op of wijzig de gegevensretentieperiode in 'automatisch' met behulp van T-SQL of verhoog de maximale grootte van Query Store. Zie hoe u aanbevolen bewaar- en opnamebeleid voor Query Store-configureert.
Gebruik SQL Server Management Studio (SSMS) en volg deze stappen:
- Maak verbinding met de Azure SQL-database.
- Klik met de rechtermuisknop op de database.
- Ga naar Eigenschappen en selecteer Query Store.
- Wijzig de bewerkingsmodus in lezen/schrijven .
- Wijzig de Store Capture-modus in Automatisch.
- Wijzig de op grootte gebaseerde opschoningsmodus in Automatische.
Machtigingen
Voor Azure SQL Database vereist het beheren van automatisch afstemmen in de Azure portal, of het gebruik van PowerShell of de REST API, dat je lid bent van de ingebouwde op rollen gebaseerde toegangsbeheerdersrollen (RBAC) van Azure.
Om automatisch afstemmen te beheren, is het minimaal vereiste machtigingsniveau het lidmaatschap van de rol SQL Database-bijdrager. U kunt ook overwegen om functies met hogere bevoegdheden te gebruiken, zoals Inzender voor SQL Server, Inzender en Eigenaar.
Zie Machtigingen voor ALTER DATABASE
voor machtigingen die zijn vereist voor het beheren van automatische afstemming met T-SQL.
E-mailmeldingen voor automatisch afstemmen configureren
Als u automatische e-mailnotificaties wilt ontvangen over aanbevelingen die zijn gedaan door de automatische afstemming, raadpleegt u de handleiding voor automatische afstemming e-mailnotificaties.