Włączanie automatycznego dostrajania w witrynie Azure Portal w celu monitorowania zapytań i zwiększania wydajności obciążeń

Dotyczy: Azure SQL DatabaseAzure 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ługiwana opcja FORCE_LAST_GOOD_PLAN można skonfigurować tylko za pomocą języka T-SQL. Konfiguracja oparta na witrynie Azure Portal i opcje automatycznego dostrajania indeksów opisane w tym artykule nie dotyczą usługi Azure SQL Managed Instance.

Uwaga

Konfigurowanie opcji automatycznego dostrajania za pomocą szablonu usługi ARM (Azure Resource Manager) 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 są FORCE_LAST_GOOD_PLAN włączone, wyłączone CREATE_INDEX 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.

Screenshot shows Automatic tuning in the Azure portal, where you can apply options for a server.

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.

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. Wartości domyślne platformy Azure są ustawione na FORCE_LAST_GOOD_PLAN jest włączona, CREATE_INDEX jest wyłączona, a 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.

Screenshot shows Automatic tuning in the Azure portal, where you can apply options for a single database.

Po wybraniu żądanej konfiguracji kliknij przycisk 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.

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 do automatycznego spowoduje zastosowanie ustawień domyślnych platformy Azure. Ustawienie go na DZIEDZICZY, automatyczna konfiguracja dostrajania będzie dziedziczona z serwera nadrzędnego. Wybranie opcji NIESTANDARDOWE wymaga ręcznego skonfigurowania automatycznego dostrajania.

Aby skonfigurować poszczególne opcje automatycznego dostrajania za pomocą języka T-SQL, połącz się z bazą danych i wykonaj zapytanie, takie jak następujące:

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

Ustawienie opcji dostrajania indywidualnego na WARTOŚĆ WŁĄCZONE spowoduje zastąpienie dowolnego ustawienia odziedziczonego przez bazę danych i włączenia opcji dostrajania. Ustawienie wartości WYŁĄCZONE spowoduje również zastąpienie wszystkich ustawień dziedziczonej przez bazę danych i wyłączania opcji dostrajania. Opcja automatycznego dostrajania, dla której określono ustawienie DOMYŚLNE, dziedziczy konfigurację automatycznego dostrajania z ustawień na poziomie serwera.

Ważne

W przypadku aktywnej replikacji geograficznej należy skonfigurować automatyczne dostrajanie tylko w podstawowej bazie danych. Automatycznie stosowane akcje dostrajania, takie jak na przykład tworzenie lub usuwanie indeksu, zostaną automatycznie zreplikowane do serwerów geograficznych. Próba włączenia automatycznego dostrajania za pośrednictwem języka T-SQL w pomocniczym trybie tylko do odczytu spowoduje niepowodzenie, ponieważ inna konfiguracja dostrajania w pomocniczym trybie tylko do odczytu nie jest obsługiwana.

Aby dowiedzieć się więcej o opcjach T-SQL, aby skonfigurować automatyczne dostrajanie, zobacz ALTER DATABASE SET Options (Transact-SQL).

Rozwiązywanie problemów

Automatyczne zarządzanie rekomendacjami jest wyłączone

W przypadku komunikatów o błędach, które automatyczne zarządzanie rekomendacjami zostało wyłączone lub po prostu wyłączone przez system, najczęstsze 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łączenie do usługi Azure SQL Database
    • Kliknij prawym przyciskiem myszy bazę danych
    • Przejdź do pozycji Właściwości i kliknij pozycję Magazyn zapytań
    • Zmienianie trybu akcji na odczyt-zapis
    • Zmień tryb przechwytywania sklepu na automatyczny
    • Zmień tryb oczyszczania opartego na rozmiarze na Automatycznie

Uprawnienia

W przypadku usługi Azure SQL Database zarządzanie automatycznym dostrajaniem w witrynie Azure Portal lub korzystanie z programu PowerShell lub interfejsu API REST wymaga członkostwa we wbudowanych rolach RBAC platformy Azure.

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 dostrajaniem automatycznym za pomocą języka T-SQL, zobacz Uprawnienia do 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.

Następne kroki

  • Przeczytaj artykuł Automatyczne dostrajanie, aby dowiedzieć się więcej na temat automatycznego dostrajania i sposobu, w jaki może on pomóc w poprawie wydajności.
  • Zobacz Zalecenia dotyczące wydajności, aby zapoznać się z omówieniem zaleceń dotyczących wydajności usługi Azure SQL Database.
  • Zobacz Wydajność zapytań Szczegółowe informacje, aby dowiedzieć się więcej na temat wyświetlania wpływu na wydajność najważniejszych zapytań.