Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:Azure SQL Database
Usługa Azure SQL Database uczy się i dostosowuje się do aplikacji. Usługa Azure SQL Database oferuje szereg doradców baz danych, które udostępniają dostosowane zalecenia, które umożliwiają maksymalizację wydajności. Ci doradcy bazy danych stale oceniają i analizują historię użycia oraz udostępniają rekomendacje na podstawie wzorców obciążeń, które pomagają poprawić wydajność.
Wskazówka
Wypróbuj Database Hub w Microsoft Fabric! Centrum baz danych:
- automatycznie wykrywa Twoje bazy danych w Azure, Microsoft Fabric, lokalnie oraz obsługiwanych środowiskach multicloud.
- Automatycznie zapewnia gotowe, konfigurowalne pulpity nawigacyjne, które można udostępniać.
- Automatycznie identyfikuje najważniejsze priorytety i rekomendacje w Twoich bazach danych, które powinieneś zbadać lub poprawić.
- jest całkowicie darmowa.
Więcej informacji można znaleźć w Database Hub w Microsoft Fabric.
Omówienie wydajności
Omówienie wydajności w witrynie Azure Portal zawiera podsumowanie wydajności bazy danych i ułatwia dostrajanie wydajności i rozwiązywanie problemów.
- Jeśli jest obecny, kafelek Zalecenia zawiera podział zaleceń dotyczących dostrajania dla bazy danych. Wybranie tego kafelka przeniesie Cię do Opcji rekomendacji dotyczących wydajności.
- Kafelek Aktywność dostrajania zawiera podsumowanie bieżących i ukończonych działań dostrajania dla Twojej bazy danych, umożliwiając szybki wgląd w historię działań dostrajania. Wybranie tego kafelka spowoduje przejście do zaleceń i historii dostrajania bazy danych. Aby uzyskać więcej informacji, zobacz automatyczne dostrajanie.
- Kafelek Automatyczne dostrajanie pokazuje konfigurację automatycznego dostrajania dla bazy danych (opcje dostrajania, które są automatycznie stosowane do bazy danych). Wybranie tego kafelka spowoduje otwarcie okna dialogowego konfiguracji automatyzacji. Aby uzyskać więcej informacji na temat automatycznego dostrajania indeksów bazy danych i planów wykonywania zapytań, zobacz automatyczne dostrajanie.
- Kafelek Zapytania bazy danych zawiera podsumowanie wydajności zapytań dla bazy danych (ogólne użycie jednostek DTU i zapytania zużywające najwięcej zasobów). Wybranie tego kafelka przeniesie Cię do szczegółowych informacji o wydajności zapytań.
- Wykres domyślny zawiera podsumowanie ostatnich 24 godzin aktywności bazy danych z opcjami powiększania najnowszych działań. Skumulowane wykresy słupkowe pokazują najważniejsze zapytania według użycia CPU, a wykres wieloliniowy pokazuje obciążenie pod względem CPU, operacji we/wy danych i operacji we/wy dziennika. Wybierz poszczególne skumulowane słupki na wykresie, z których każdy reprezentuje buforowany plan zapytania. Przejdź do strony Szczegółowe informacje o wydajności zapytań i zidentyfikuj najdroższe zapytania w ramach swojego obciążenia. Aby uzyskać więcej informacji, zobacz Szczegółowe informacje o wydajności zapytań.
Przejdź do strony Przegląd wydajności w obszarze Inteligentna wydajność w menu nawigacji portalu Azure dla bazy danych Azure SQL.
Opcje rekomendacji dotyczących wydajności
Opcje zaleceń dotyczących wydajności dostępne w usłudze Azure SQL Database to:
| Zalecenie dotyczące wydajności | Obsługa pojedynczej bazy danych i bazy danych w puli | Obsługa bazy danych wystąpień |
|---|---|---|
| Tworzenie rekomendacji dotyczących tworzenia indeksów — zaleca tworzenie indeksów, których utworzenie może poprawić wydajność obciążenia roboczego. | Tak | Nie. |
| Rekomendacje dotyczące usuwania indeksów — zaleca codzienne usuwanie nadmiarowych i zduplikowanych indeksów, z wyjątkiem unikatowych indeksów i indeksów, które nie były używane przez długi czas (>90 dni). Należy pamiętać, że ta opcja nie jest zgodna z aplikacjami przy użyciu przełączania partycji i wskazówek dotyczących indeksu. Usuwanie nieużywanych indeksów nie jest obsługiwane w warstwach usługi Premium i Business Critical. | Tak | Nie. |
| Zalecenia dotyczące parametryzacji zapytań (wersja zapoznawcza) — zaleca wymuszoną parametryzację w przypadkach, gdy masz co najmniej jedno zapytanie, które jest stale ponownie kompilowane, ale ostatecznie używa tego samego planu wykonania zapytania. | Tak | Nie. |
| Rozwiązywanie zaleceń dotyczących problemów ze schematem (wersja zapoznawcza) — zalecenia dotyczące poprawiania schematu są wyświetlane, gdy usługa Azure SQL Database zauważy anomalię w liczbie błędów SQL związanych ze schematem występujących w bazie danych. Microsoft obecnie wycofuje zalecenia „Fix schema issue”. | Tak | Nie. |
Aby zastosować zalecenia dotyczące wydajności, zobacz stosowanie zaleceń. Aby wyświetlić stan zaleceń, zobacz Monitorowanie operacji.
Możesz również znaleźć pełną historię akcji dostrajania, które zostały zastosowane w przeszłości.
Tworzenie zaleceń dotyczących indeksu
Usługa Azure SQL Database stale monitoruje uruchamiane zapytania i identyfikuje indeksy, które mogą zwiększyć wydajność. Gdy istnieje wystarczająca pewność, że brakuje określonego indeksu, tworzone jest nowe zalecenie Utwórz indeks.
Usługa Azure SQL Database zwiększa pewność, szacując wzrost wydajności, jaki może przynieść indeks. W zależności od szacowanego zwiększenia wydajności poziom zaleceń jest klasyfikowany jako wysoki, średni lub niski.
Indeksy tworzone przy użyciu rekomendacji są zawsze oflagowane jako indeksy utworzone automatycznie. Aby sprawdzić, które indeksy zostały automatycznie utworzone, zobacz widok sys.indexes. Automatycznie utworzone indeksy nie blokują poleceń ALTER/RENAME.
Jeśli spróbujesz usunąć kolumnę, dla której automatycznie utworzono indeks, polecenie zakończy się powodzeniem. Automatycznie utworzony indeks również zostanie porzucony za pomocą polecenia . Regularne indeksy blokują polecenie ALTER/RENAME w kolumnach, które są indeksowane.
Po zastosowaniu zalecenia dotyczącego tworzenia indeksu usługa Azure SQL Database porównuje wydajność zapytań z wydajnością punktu odniesienia. Jeśli nowy indeks poprawi wydajność, zalecenie zostanie oznaczone jako pomyślne, a raport wpływu będzie dostępny. Jeśli indeks nie poprawi wydajności, zostanie on automatycznie przywrócony. Usługa Azure SQL Database używa tego procesu w celu zapewnienia, że rekomendacje zwiększają wydajność bazy danych.
Każde zalecenie dotyczące tworzenia indeksu ma zasady wycofywania, które nie zezwalają na stosowanie rekomendacji, jeśli użycie zasobów bazy danych lub puli jest wysokie. Zasady ograniczania uwzględniają procesor, operacje wejścia/wyjścia danych, operacje wejścia/wyjścia dziennika i dostępną przestrzeń dyskową.
Jeśli użycie CPU, operacje wejścia/wyjścia danych lub operacje wejścia/wyjścia dziennika przekraczają 80% w ciągu ostatnich 30 minut, zalecenie utworzenia indeksu zostanie odłożone. Jeśli dostępna przestrzeń dyskowa spadnie poniżej 10% po utworzeniu indeksu, zalecenie przejdzie w stan błędu. Jeśli po kilku dniach automatyczne dostrajanie nadal uważa, że indeks byłby korzystny, proces rozpoczyna się ponownie.
Ten proces powtarza się, dopóki nie będzie wystarczającej ilości dostępnego magazynu do utworzenia indeksu lub dopóki indeks nie będzie już postrzegany jako korzystny.
Usuwanie zaleceń dotyczących indeksu
Oprócz wykrywania brakujących indeksów usługa Azure SQL Database stale analizuje wydajność istniejących indeksów. Jeśli indeks nie jest używany, usługa Azure SQL Database rekomenduje usunięcie go. Usunięcie indeksu jest rekomendowane w dwóch przypadkach:
- Indeks jest duplikatem innego indeksu (ta sama indeksowana i uwzględniona kolumna, schemat partycji i filtry).
- Indeks nie był używany przez dłuższy czas (>90 dni).
Rekomendacje dotyczące usunięcia indeksu również przechodzą weryfikację po wdrożeniu. Jeśli wydajność wzrośnie, zostanie udostępniony raport wpływu. Jeśli wydajność spadnie, rekomendacja zostanie wycofana.
Parametryzowanie zaleceń dotyczących zapytań (wersja zapoznawcza)
Rekomendacje dotyczące parametryzacji zapytań są wyświetlane, gdy masz co najmniej jedno zapytanie, które stale jest ponownie komilowane, ale kończy się tym samym planem wykonywania zapytania. Ten warunek tworzy możliwość zastosowania wymuszonej parametryzacji. Z kolei wymuszona parametryzacja umożliwia buforowanie i ponowne używanie planów zapytań w przyszłości, co zwiększa wydajność i zmniejsza użycie zasobów.
Każde zapytanie należy początkowo skompilować, aby wygenerować plan wykonania. Każdy wygenerowany plan jest dodawany do pamięci podręcznej planu. Kolejne wykonania tego samego zapytania mogą ponownie używać tego planu z pamięci podręcznej, co eliminuje konieczność dodatkowej kompilacji.
Zapytania z wartościami niesparametryzowanymi mogą zmniejszać wydajność, ponieważ plan wykonania jest ponownie kompilowany przy każdej zmianie wartości niesparametryzowanych. Te same zapytania z różnymi wartościami parametrów w wielu przypadkach generują te same plany wykonania. Jednak plany te i tak są dodawane oddzielnie do pamięci podręcznej planów.
Proces ponownego kompilowania planów wykonania powoduje zużycie zasobów bazy danych, wydłużenie czasu wykonywania zapytań i przepełnienie pamięci podręcznej planów. Te zdarzenia z kolei powodują usunięcie planów z pamięci podręcznej. To zachowanie można zmienić, ustawiając opcję wymuszonej parametryzacji w bazie danych.
Aby ułatwić oszacowanie wpływu tego zalecenia, podano porównanie rzeczywistego użycia procesora CPU i przewidywanego użycia procesora CPU (tak jak w przypadku zastosowania zalecenia). To zalecenie może pomóc zmniejszyć użycie procesora. Może to również pomóc skrócić czas wykonywania zapytań i zmniejszyć obciążenie związane z pamięcią podręczną planów, co oznacza, że w pamięci podręcznej może pozostać więcej planów i mogą one być ponownie wykorzystywane. To zalecenie można zastosować szybko, wybierając polecenie Zastosuj .
Po zastosowaniu tego zalecenia włączy wymuszoną parametryzację w ciągu kilku minut w bazie danych. Rozpoczyna proces monitorowania, który trwa około 24 godzin. Po upływie tego okresu można zobaczyć raport weryfikacji. Ten raport przedstawia użycie procesora CPU bazy danych przez 24 godziny przed i po zastosowaniu zalecenia. Usługa Azure SQL Database Advisor ma mechanizm bezpieczeństwa, który automatycznie przywraca zastosowane zalecenie w przypadku wykrycia regresji wydajności.
Zalecenia dotyczące rozwiązywania problemów ze schematem (wersja zapoznawcza)
Ważne
Microsoft obecnie wycofuje zalecenia „Fix schema issue”.
Rekomendacje Napraw problemy ze schematem pojawiają się, gdy usługa Azure SQL Database wykryje anomalię w liczbie błędów SQL związanych ze schematem występujących w Twojej bazie danych. To zalecenie zwykle pojawia się, gdy baza danych napotka wiele błędów związanych ze schematem (nieprawidłowa nazwa kolumny, nieprawidłowa nazwa obiektu itd.) w ciągu godziny.
"Problemy ze schematem" to klasa błędów składniowych. Występują, gdy definicja zapytania SQL i definicja schematu bazy danych nie są ze sobą zgodne. Na przykład jedna z kolumn oczekiwanych przez zapytanie może brakować w tabeli docelowej lub na odwrót.
Zalecenie "Rozwiąż problem ze schematem" jest wyświetlane, gdy usługa Azure SQL Database zauważy anomalię w liczbie błędów SQL związanych ze schematem występujących w bazie danych. W poniższej tabeli przedstawiono błędy związane z problemami ze schematem:
| Kod błędu SQL | Komunikat |
|---|---|
| 201 | Procedura lub funkcja "" oczekuje parametru "", który nie został podany. |
| 207 | Nieprawidłowa nazwa kolumny '*'. |
| 208 | Nieprawidłowa nazwa obiektu '*'. |
| 213 | Nazwa kolumny lub liczba podanych wartości nie jest zgodna z definicją tabeli. |
| 2812 | Nie można odnaleźć procedury składowanej "*". |
| 8144 | Procedura lub funkcja * ma zbyt wiele określonych argumentów. |
Aplikacje niestandardowe
Deweloperzy mogą rozważyć tworzenie niestandardowych aplikacji przy użyciu zaleceń dotyczących wydajności usługi Azure SQL Database. Wszystkie zalecenia wymienione w portalu dla bazy danych są dostępne za pośrednictwem interfejsu API Get-AzSqlDatabaseRecommendedAction.
Następne kroki
- Aby uzyskać więcej informacji na temat automatycznego dostrajania indeksów bazy danych i planów wykonywania zapytań, zobacz Automatyczne dostrajanie usługi Azure SQL Database.
- Aby uzyskać więcej informacji na temat monitorowania wydajności bazy danych, zobacz obserwator bazy danych.
- Zobacz Szczegółowe informacje o wydajności zapytań, aby dowiedzieć się więcej o wpływie na wydajność najważniejszych zapytań i wyświetlić ich wpływ.