Automatyczne dostrajanie bazy danych
Dotyczy:Azure SQL Database
Azure SQL Managed Instance
SQL database w usłudze Fabric
Automatyczne dostrajanie zapewnia szczytową wydajność i stabilne obciążenia dzięki ciągłej dostrajaniu wydajności na podstawie sztucznej inteligencji i uczenia maszynowego.
Automatyczne dostrajanie to w pełni zarządzana, inteligentna usługa wydajności, która stale monitoruje zapytania wykonywane w bazie danych i automatycznie zwiększa wydajność. Jest to osiągane przez dynamiczne dostosowywanie bazy danych do zmieniających się obciążeń i stosowanie rekomendacji dotyczących dostrajania.
Automatyczne dostrajanie uczy się za pośrednictwem AI na płaszczyźnie poziomej ze wszystkich baz danych na platformie Azure i dynamicznie ulepsza swoje akcje dostrajania.
Bezpieczne, niezawodne i sprawdzone
Operacje dostrajania stosowane do baz danych są w pełni bezpieczne dla wydajności nawet najbardziej intensywnych obciążeń. System został zaprojektowany z ostrożnością, aby nie zakłócać obciążeń użytkowników.
Rekomendacje dotyczące automatycznego dostrajania są stosowane tylko w przypadku niskiego wykorzystania CPU, wejścia/wyjścia danych i wejścia/wyjścia dziennika. System może również tymczasowo wyłączyć operacje automatycznego dostrajania w celu ochrony wydajności obciążenia. W takim przypadku komunikat "Wyłączony przez system" będzie wyświetlany w Azure Portal i w sys.database_automatic_tuning_options w dynamicznym widoku zarządzania. Automatyczne dostrajanie zostało zaprojektowane w celu nadania obciążeniom użytkowników najwyższego priorytetu zasobów.
Mechanizmy automatycznego dostrajania są dojrzałe i zostały udoskonalone na kilka milionów baz danych działających na platformie Azure. Zastosowane operacje automatycznego dostrajania są weryfikowane automatycznie, aby upewnić się, że istnieje znaczna pozytywna poprawa wydajności obciążeń. Jeśli nie ma żadnych ulepszeń lub w mało prawdopodobnym przypadku regresji wydajności, zmiany wprowadzone przez automatyczne dostrajanie są natychmiast przywracane. Dzięki zarejestrowanej historii dostrajania istnieje wyraźny ślad ulepszeń dostrajania wprowadzonych do każdej bazy danych w usłudze Azure SQL Database. Tym dłużej baza danych jest uruchamiana z włączonym automatycznym dostrajaniem, tym bardziej może to przynieść korzyści.
Automatyczne dostrajanie usługi Azure SQL dzieli swoją podstawową logikę z funkcją automatycznego dostrajania programu SQL Server w silniku bazy danych. Aby uzyskać dodatkowe informacje techniczne na temat wbudowanego mechanizmu analizy, zobacz Automatyczne dostrajanie programu SQL Server.
Napiwek
Aby uzyskać więcej informacji, zobacz blog : Sztuczna inteligencja dostraja Azure SQL Database.
Przeczytaj dokument PDF Microsoft Research dotyczący , który automatycznie indeksuje miliony baz danych w usłudze Microsoft Azure SQL Database.
Co może zrobić automatyczne dostrajanie
Automatyczne dostrajanie wydajności baz danych obejmuje:
- Automatyczna weryfikacja zysków wydajności
- Automatyczne wycofywanie i samodzielna korekta
- Historia strojenia
- Dostrajanie skryptów akcji Transact-SQL (T-SQL) na potrzeby wdrożeń ręcznych
- Możliwość skalowania w poziomie na setki tysięcy baz danych
- Pozytywny wpływ na zasoby devOps i całkowity koszt posiadania
Włączanie automatycznego dostrajania
- Azure SQL Database: włącz automatyczne dostrajanie w witrynie Azure Portal lub przy użyciu instrukcji T-SQL ALTER DATABASE .
- Azure SQL Managed Instance: włącz automatyczne dostrajanie przy użyciu instrukcji T-SQL ALTER DATABASE .
- Baza danych SQL w usłudze Microsoft Fabric: domyślnie włączona. Aby uzyskać więcej informacji, zobacz Pulpit nawigacyjny wydajności dla bazy danych SQL w usłudze Microsoft Fabric.
Opcje automatycznego dostrajania
Opcje automatycznego dostrajania dostępne w usługach Azure SQL Database i Azure SQL Managed Instance to:
Opcja automatycznego dostrajania | opis | Obsługa pojedynczej bazy danych i bazy danych w puli | Obsługa bazy danych wystąpień |
---|---|---|---|
TWORZENIE INDEKSU | Identyfikuje indeksy, które mogą poprawić wydajność obciążenia, tworzy indeksy i automatycznie sprawdza, czy wydajność zapytań uległa poprawie. Podczas rekomendowania nowego indeksu system uwzględnia miejsce dostępne w bazie danych. Jeśli szacuje się, że dodanie indeksu zwiększa wykorzystanie miejsca do ponad 90% w kierunku maksymalnego rozmiaru danych, rekomendacja indeksu nie jest generowana. Po zidentyfikowaniu przez system okresu niskiego wykorzystania i rozpoczęciu tworzenia indeksu nie zostanie wstrzymana ani anulowana, nawet jeśli użycie zasobów nieoczekiwanie wzrośnie. Jeśli tworzenie indeksu zakończy się niepowodzeniem, zostanie ponowiona w przyszłym okresie niskiego wykorzystania. Zalecenia dotyczące indeksu nie są udostępniane dla tabel, w których indeks klastrowany lub sterta jest większa niż 10 GB. | Tak | Nie. |
DROP INDEX | Usuwa nieużywane (w ciągu ostatnich 90 dni) i zduplikowane indeksy. Unikatowe indeksy, w tym indeksy obsługujące klucz podstawowy i unikatowe ograniczenia, nigdy nie są usuwane. Ta opcja może być automatycznie wyłączona, gdy zapytania z wskazówkami indeksu znajdują się w obciążeniu lub gdy obciążenie wykonuje przełączanie partycji. W wersjach usługi Premium i Krytyczna dla przedsiębiorstw ta opcja nigdy nie usunie nieużywanych indeksów, ale usunie zduplikowane indeksy, jeśli to konieczne. | Tak | Nie. |
FORCE LAST GOOD PLAN (automatyczna korekta planu) | Identyfikuje zapytania usługi Azure SQL przy użyciu planu wykonania, który jest wolniejszy niż poprzedni dobry plan, i wymusza użycie ostatniego znanego dobrego planu zamiast zregresowanego planu. | Tak | Tak |
Automatyczne dostrajanie w usłudze Azure SQL Database
Automatyczne dostrajanie w Azure SQL Database wykorzystuje rekomendacje doradcy bazy danych dotyczące CREATE INDEX, DROP INDEX oraz FORCE_LAST_GOOD_PLAN, aby zoptymalizować wydajność bazy danych. Aby uzyskać więcej informacji, zobacz Znajdowanie i stosowanie zaleceń dotyczących wydajności w Azure Portal, w PowerShelloraz w interfejsie API REST.
Możesz ręcznie zastosować zalecenia dotyczące dostrajania w portalu Azure lub zezwolić, aby automatyczne dostrajanie autonomicznie stosowało zalecenia dotyczące dostrajania. Korzyści wynikające z autonomicznego stosowania zaleceń dotyczących dostrajania systemu polegają na tym, że automatycznie sprawdza, czy istnieje pozytywny wzrost wydajności obciążenia, a jeśli nie wykryto znaczącej poprawy wydajności lub jeśli wystąpi regresja wydajności, system automatycznie przywraca wprowadzone zmiany. W zależności od częstotliwości wykonywania zapytania proces weryfikacji może potrwać od 30 minut do 72 godzin, co trwa dłużej w przypadku rzadziej wykonywanych zapytań. Jeśli w dowolnym momencie podczas walidacji zostanie wykryta regresja, zmiany zostaną natychmiast przywrócone.
Ważne
Jeśli stosujesz zalecenia dotyczące dostrajania przy użyciu T-SQL, automatyczne mechanizmy weryfikacji wydajności i cofania są niedostępne. Zalecenia stosowane w taki sposób pozostaną aktywne i będą wyświetlane na liście zaleceń dotyczących dostrajania przez 24–48 godzin przed automatycznym wycofaniem ich przez system. Jeśli chcesz wcześniej usunąć zalecenie, możesz go odrzucić w witrynie Azure Portal.
Opcje automatycznego dostrajania można włączać lub wyłączać niezależnie dla każdej bazy danych lub można je skonfigurować na poziomie serwera i stosować w każdej bazie danych, która dziedziczy ustawienia z serwera. Domyślnie nowe serwery dziedziczą ustawienia domyślne platformy Azure dla ustawień automatycznego dostrajania. Wartości domyślne platformy Azure są ustawione na: FORCE_LAST_GOOD_PLAN włączony, CREATE_INDEX wyłączony, DROP_INDEX wyłączony.
Konfigurowanie opcji automatycznego dostrajania na serwerze i dziedziczenie ustawień baz danych należących do serwera nadrzędnego jest zalecaną metodą konfigurowania automatycznego dostrajania. Upraszcza zarządzanie opcjami automatycznego dostrajania dla dużej liczby baz danych.
Aby dowiedzieć się więcej o tworzeniu powiadomień e-mail dotyczących zaleceń dotyczących automatycznego dostrajania, zobacz Powiadomienia e-mail dotyczące automatycznego dostrajania.
Automatyczne dostrajanie dla usługi Azure SQL Managed Instance
Automatyczne dostrajanie usługi SQL Managed Instance obsługuje wyłącznie ustawienie FORCE LAST GOOD PLAN. Aby uzyskać więcej informacji na temat konfigurowania opcji automatycznego dostrajania za pośrednictwem funkcji T-SQL, zobacz Automatyczne dostrajanie wprowadza automatyczną korektę planu i Automatyczna korekta planu.
Automatyczne dostrajanie bazy danych SQL w usłudze Microsoft Fabric
Opcja automatycznego dostrajania polecenia CREATE INDEX jest włączana automatycznie w bazie danych SQL środowiska Microsoft Fabric.
Przykłady umożliwiające aktywację
Aby uzyskać więcej informacji, zobacz opcje ALTER DATABASE SET.
Aby dziedziczyć konfigurację domyślną z nadrzędnego serwera logicznego, użyj następującego języka T-SQL. W witrynie Azure Portal odzwierciedla to opcję "Dziedzicz z: Serwer".
ALTER DATABASE CURRENT
SET AUTOMATIC_TUNING = INHERIT;
Aby włączyć opcje automatycznego dostrajania CREATE INDEX i DROP INDEX , użyj następującego języka T-SQL.
ALTER DATABASE CURRENT
SET AUTOMATIC_TUNING
(CREATE_INDEX = ON, DROP_INDEX = ON);
Historia automatycznego dostrajania
W przypadku usługi Azure SQL Database historia zmian wprowadzonych przez automatyczne dostrajanie jest zachowywana przez 21 dni. Można go wyświetlić w portalu Azure na stronie zaleceń dotyczących wydajności dla bazy danych, lub za pomocą programu PowerShell z poleceniem cmdlet Get-AzSqlDatabaseRecommendedAction. W celu dłuższego przechowywania dane historii można również przesyłać strumieniowo do kilku typów miejsc docelowych, włączając ustawienie diagnostyczne AutomaticTuning.
Powiązana zawartość
- Dowiedz się, jak automatyczne dostrajanie może aktywnie pomóc w diagnozowaniu i rozwiązywaniu problemów z wysokim użyciem procesora w usłudze Azure SQL Database