Monitorowanie zapytań i zwiększanie wydajności obciążeń za pomocą automatycznego dostrajania w witrynie Azure Portal
Dotyczy:Azure SQL Database
Azure SQL Managed Instance
Usługa Azure SQL Database automatycznie zarządza usługami danych, które stale monitorują zapytania i identyfikują akcję, którą można wykonać w celu zwiększenia wydajności obciążenia. Możesz przejrzeć zalecenia i ręcznie je zastosować lub zezwolić usłudze Azure SQL Database na automatyczne stosowanie akcji naprawczych. Jest to nazywane trybem automatycznego dostrajania .
Automatyczne dostrajanie można włączyć na poziomie serwera lub bazy danych za pomocą następujących metod:
Uwaga
W przypadku usługi Azure SQL Managed Instance obsługiwaną opcję FORCE_LAST_GOOD_PLAN
można skonfigurować tylko przez T-SQL. Konfiguracja oparta na witrynie Azure Portal i opcje automatycznego dostrajania indeksów opisane w tym artykule nie mają zastosowania do usługi Azure SQL Managed Instance.
Konfigurowanie opcji automatycznego dostrajania za pomocą szablonu usługi Azure Resource Manager (ARM) nie jest obecnie obsługiwane.
Włączanie automatycznego dostrajania na serwerze
Na poziomie serwera można dziedziczyć konfigurację automatycznego dostrajania z "Wartości domyślne platformy Azure" lub nie dziedziczyć konfiguracji. Wartości domyślne platformy Azure to FORCE_LAST_GOOD_PLAN
włączone, CREATE_INDEX
wyłączone i DROP_INDEX
wyłączone.
Azure Portal
Aby włączyć automatyczne dostrajanie na serwerze w usłudze Azure SQL Database, przejdź do serwera w witrynie Azure Portal, a następnie wybierz pozycję Automatyczne dostrajanie w menu.
Wybierz opcje automatycznego dostrajania, które chcesz włączyć, i wybierz pozycję Zastosuj.
Opcje automatycznego dostrajania na serwerze są stosowane do wszystkich baz danych na tym serwerze. Domyślnie wszystkie bazy danych dziedziczą konfigurację z serwera nadrzędnego, ale można ją zastąpić i określić osobno dla każdej bazy danych.
Interfejs API REST
Aby dowiedzieć się więcej na temat używania interfejsu API REST do włączania automatycznego dostrajania na serwerze, zobacz Automatyczne dostrajanie serwera UPDATE i GET metod HTTP.
Konfigurowanie opcji automatycznego dostrajania za pomocą szablonu usługi Azure Resource Manager (ARM) nie jest obecnie obsługiwane.
Włączanie automatycznego dostrajania dla pojedynczej bazy danych
Usługa Azure SQL Database umożliwia indywidualne określenie konfiguracji automatycznego dostrajania dla każdej bazy danych. Na poziomie bazy danych można dziedziczyć konfigurację automatycznego dostrajania z serwera nadrzędnego "Ustawienia domyślne platformy Azure" lub nie dziedziczyć konfiguracji. Te wartości domyślne są następujące:
-
FORCE_LAST_GOOD_PLAN
jest włączona -
CREATE_INDEX
jest wyłączona -
DROP_INDEX
jest wyłączona
Napiwek
Ogólne zalecenie polega na zarządzaniu konfiguracją automatycznego dostrajania na poziomie serwera, aby te same ustawienia konfiguracji można było stosować automatycznie w każdej bazie danych. Skonfiguruj automatyczne dostrajanie dla pojedynczej bazy danych tylko wtedy, gdy ta baza danych ma inne ustawienia niż inne dziedziczące ustawienia z tego samego serwera.
Azure Portal
Aby włączyć automatyczne dostrajanie w pojedynczej bazie danych, przejdź do bazy danych w witrynie Azure Portal i wybierz pozycję Automatyczne dostrajanie.
Poszczególne ustawienia automatycznego dostrajania można skonfigurować oddzielnie dla każdej bazy danych. Można ręcznie skonfigurować pojedynczą opcję automatycznego dostrajania lub określić, że opcja dziedziczy jej ustawienia z serwera.
Po wybraniu żądanej konfiguracji wybierz pozycję Zastosuj.
Interfejs API REST
Aby dowiedzieć się więcej na temat używania interfejsu API REST do włączania automatycznego dostrajania w pojedynczej bazie danych, zobacz Automatyczne dostrajanie usługi Azure SQL Database UPDATE i GET metod HTTP.
Konfigurowanie opcji automatycznego dostrajania za pomocą szablonu usługi Azure Resource Manager (ARM) nie jest obecnie obsługiwane.
T-SQL
Aby włączyć automatyczne dostrajanie pojedynczej bazy danych za pośrednictwem języka T-SQL, połącz się z bazą danych i wykonaj następujące zapytanie:
ALTER DATABASE current SET AUTOMATIC_TUNING = AUTO | INHERIT | CUSTOM
Ustawienie automatycznego dostrajania na AUTO
stosuje ustawienia domyślne platformy Azure. Jeśli ustawisz na INHERIT
, automatyczna konfiguracja dostrajania zostanie odziedziczona z serwera nadrzędnego. Jeśli wybierzesz CUSTOM
, musisz ręcznie skonfigurować automatyczne dostrajanie.
Aby skonfigurować poszczególne opcje automatycznego dostrajania za pośrednictwem języka T-SQL, połącz się z bazą danych i wykonaj następujące zapytanie:
ALTER DATABASE CURRENT SET AUTOMATIC_TUNING (
FORCE_LAST_GOOD_PLAN = ON,
CREATE_INDEX = ON,
DROP_INDEX = OFF
);
Ustawienie opcji dostrajania indywidualnego na Wł. zastępuje wszystkie ustawienia odziedziczone przez bazę danych i włącza opcję dostrajania. Ustawienie go na OFF
powoduje również zastąpienie wszystkich ustawień dziedziczonej bazy danych i wyłącza opcję dostrajania. Opcje automatycznego dostrajania, dla których określono DEFAULT
dziedziczą konfigurację automatycznego dostrajania z ustawień na poziomie serwera.
Ważne
W przypadku aktywnej replikacji geograficznejautomatyczne dostrajanie należy skonfigurować wyłącznie w podstawowej bazie danych. Automatycznie stosowane akcje dostrajania, takie jak tworzenie lub usuwanie indeksu, są automatycznie replikowane do sekundarnych lokalizacji geograficznych. Próba włączenia automatycznego dostrajania za pośrednictwem języka T-SQL w pomocniczym trybie tylko do odczytu powoduje awarię, ponieważ posiadanie innej konfiguracji dostrajania w pomocniczym trybie tylko do odczytu nie jest obsługiwane.
Aby dowiedzieć się więcej o opcjach T-SQL do konfigurowania automatycznego dostrajania, zobacz ALTER DATABASE SET Options.
Rozwiązywanie problemów
Automatyczne zarządzanie rekomendacjami jest wyłączone
Jeśli widzisz komunikaty o błędach, że automatyczne zarządzanie rekomendacjami zostało wyłączone lub system je wyłączył, najbardziej typowe przyczyny to:
- Magazyn zapytań nie jest włączony lub
- Magazyn zapytań jest w trybie tylko do odczytu dla określonej bazy danych lub
- Magazyn zapytań przestał działać, ponieważ zabrakło przydzielonego miejsca do magazynowania.
Aby rozwiązać ten problem, można rozważyć następujące kroki:
Wyczyść magazyn zapytań lub zmodyfikuj okres przechowywania danych na "automatycznie" przy użyciu języka T-SQL lub zwiększ maksymalny rozmiar magazynu zapytań. Zobacz, jak skonfigurować zalecane zasady przechowywania i przechwytywania dla magazynu zapytań.
Użyj programu SQL Server Management Studio (SSMS) i wykonaj następujące kroki:
- Połącz się z bazą danych Azure SQL Database.
- Kliknij prawym przyciskiem myszy bazę danych.
- Przejdź do właściwości i wybierz pozycję Magazyn zapytań.
- Zmień tryb operacji na odczytu i zapisu.
- Zmień tryb przechwytywania magazynu na Auto.
- Zmień tryb oczyszczania oparty na rozmiarze na Auto.
Uprawnienia
W przypadku usługi Azure SQL Database zarządzanie automatycznym dostrajaniem w portalu Azure lub korzystanie z programu PowerShell lub interfejsu API REST wymaga członkostwa we wbudowanych rolach kontroli dostępu opartych na rolach (RBAC).
Aby zarządzać dostrajaniem automatycznym, minimalnym wymaganym uprawnieniem do udzielenia użytkownikowi jest członkostwo w roli współautora usługi SQL Database. Możesz również rozważyć użycie wyższych ról uprawnień, takich jak współautor programu SQL Server, współautor i właściciel.
Aby uzyskać uprawnienia wymagane do zarządzania automatycznym dostrajaniem za pomocą języka T-SQL, zobacz Uprawnienia dla ALTER DATABASE
.
Konfigurowanie automatycznych dostrajania powiadomień e-mail
Aby otrzymywać automatyczne powiadomienia e-mail dotyczące zaleceń wykonanych przez automatyczne dostrajanie, zobacz przewodnik automatyczne dostrajanie powiadomień e-mail.