Udostępnij za pośrednictwem


Optymalizowanie środowiska SQL przy użyciu rozwiązania SQL Server Health Check w usłudze Azure Monitor

Symbol sprawdzania kondycji SQL

Rozwiązanie SQL Health Check umożliwia ocenę ryzyka i kondycji środowisk serwera w regularnych odstępach czasu. Ten artykuł pomoże Ci zainstalować rozwiązanie, aby można było wykonać działania naprawcze pod kątem potencjalnych problemów.

To rozwiązanie udostępnia priorytetową listę zaleceń specyficznych dla wdrożonej infrastruktury serwera. Zalecenia są podzielone na sześć obszarów fokusu, które pomagają szybko zrozumieć ryzyko i podjąć działania naprawcze.

Zalecenia są oparte na wiedzy i doświadczeniu uzyskanym przez inżynierów firmy Microsoft z tysięcy wizyt klientów. Każde zalecenie zawiera wskazówki dotyczące tego, dlaczego problem może mieć znaczenie dla Ciebie i jak zaimplementować sugerowane zmiany.

Możesz wybrać obszary fokusu, które są najważniejsze dla organizacji i śledzić postęp w kierunku swobodnego i zdrowego środowiska o podwyższonym ryzyku.

Po dodaniu rozwiązania i zakończeniu oceny zostaną wyświetlone podsumowanie informacji dotyczących obszarów fokusu na pulpicie nawigacyjnym kontroli kondycji SQL dla infrastruktury w środowisku. W poniższych sekcjach opisano, jak korzystać z informacji na pulpicie nawigacyjnym kontroli kondycji SQL, gdzie można wyświetlić, a następnie wykonać zalecane akcje dla infrastruktury SQL Server.

obraz kafelka SQL Health Check

obraz przedstawiający pulpit nawigacyjny sprawdzania kondycji SQL

Wymagania wstępne

  • Rozwiązanie SQL Health Check wymaga obsługiwanej wersji .NET Framework 4.6.2 zainstalowanej na każdym komputerze z zainstalowanym programem Microsoft Monitoring Agent (MMA). Agent MMA jest używany przez program System Center 2016 — Operations Manager i Operations Manager 2012 R2 oraz usługę Azure Monitor.

  • Rozwiązanie obsługuje SQL Server w wersji 2012, 2014, 2016, 2017 i 2019.

  • Obszar roboczy usługi Log Analytics umożliwiający dodanie rozwiązania SQL Health Check z witryny Azure Marketplace w Azure Portal. Aby zainstalować rozwiązanie, musisz być administratorem lub współautorem w subskrypcji platformy Azure.

    Uwaga

    Po dodaniu rozwiązania plik AdvisorAssessment.exe zostanie dodany do serwerów z agentami. Dane konfiguracji są odczytywane, a następnie wysyłane do usługi Azure Monitor w chmurze na potrzeby przetwarzania. Logika jest stosowana do odebranych danych, a usługa w chmurze rejestruje dane.

Aby przeprowadzić kontrolę kondycji na serwerach SQL Server, wymagają agenta i łączności z usługą Azure Monitor przy użyciu jednej z następujących obsługiwanych metod:

  1. Zainstaluj program Microsoft Monitoring Agent (MMA), jeśli serwer nie jest jeszcze monitorowany przez program System Center 2016 — Operations Manager lub Operations Manager 2012 R2.
  2. Jeśli jest on monitorowany za pomocą programu System Center 2016 — Operations Manager lub Operations Manager 2012 R2, a grupa zarządzania nie jest zintegrowana z usługą Azure Monitor, serwer może być wieloas homed z usługą Log Analytics w celu zbierania danych i przekazywania do usługi i nadal monitorowanych przez program Operations Manager.
  3. W przeciwnym razie, jeśli grupa zarządzania programu Operations Manager jest zintegrowana z usługą, należy dodać kontrolery domeny do zbierania danych przez usługę, wykonując kroki opisane w sekcji Dodawanie komputerów zarządzanych przez agentów po włączeniu rozwiązania w obszarze roboczym.

Agent na SQL Server, który raportuje do grupy zarządzania programu Operations Manager, zbiera dane, przekazuje je do przypisanego serwera zarządzania, a następnie jest wysyłany bezpośrednio z serwera zarządzania do usługi Azure Monitor. Dane nie są zapisywane w bazach danych programu Operations Manager.

Jeśli SQL Server jest monitorowana przez program Operations Manager, musisz skonfigurować konto Uruchom jako programu Operations Manager. Aby uzyskać więcej informacji, zobacz Konta uruchom jako programu Operations Manager dla usługi Azure Monitor poniżej.

Szczegóły zbierania danych w rozwiązaniu SQL Health Check

Funkcja SQL Health Check zbiera dane z następujących źródeł przy użyciu włączonego agenta:

  • Instrumentacja zarządzania Windows (WMI)
  • Rejestr
  • Liczniki wydajności
  • SQL Server dynamiczne wyniki widoku zarządzania

Dane są zbierane na SQL Server i przekazywane do usługi Log Analytics co siedem dni.

Konta Uruchom jako programu Operations Manager dla usługi Log Analytics

Usługa Log Analytics używa agenta programu Operations Manager i grupy zarządzania do zbierania i wysyłania danych do usługi Log Analytics. Usługa Log Analytics opiera się na pakietach administracyjnych dla obciążeń w celu zapewnienia usług dodawania wartości. Każde obciążenie wymaga uprawnień specyficznych dla obciążenia do uruchamiania pakietów administracyjnych w innym kontekście zabezpieczeń, takich jak konto użytkownika domeny. Musisz podać informacje o poświadczeniach, konfigurując konto Uruchom jako programu Operations Manager.

Użyj poniższych informacji, aby ustawić konto Uruchom jako programu Operations Manager na potrzeby sprawdzania kondycji SQL.

Ustawianie konta Uruchom jako dla rozwiązania SQL Health Check

Jeśli używasz już SQL Server pakietu administracyjnego, należy użyć tej konfiguracji Uruchom jako.

Aby skonfigurować konto Uruchom jako SQL w konsoli Operacje

Uwaga

Domyślnie przepływy pracy w pakiecie administracyjnym są uruchamiane w kontekście zabezpieczeń konta systemowego lokalnego. Jeśli używasz programu Microsoft Monitoring Agent połączonego bezpośrednio z usługą, a nie raportowania bezpośrednio do grupy zarządzania programu Operations Manager, pomiń kroki 1–5 poniżej i uruchom przykład T-SQL lub PowerShell, określając NT AUTHORITY\SYSTEM jako nazwę użytkownika.

  1. W programie Operations Manager otwórz konsolę Operacje, a następnie kliknij pozycję Administracja.

  2. W obszarze Konfiguracja Uruchom jako kliknij pozycję Profile i otwórz profil Uruchom jako oceny SQL.

  3. Na stronie Konta Uruchom jako kliknij pozycję Dodaj.

  4. Wybierz konto Uruchom jako systemu Windows zawierające poświadczenia wymagane do SQL Server lub kliknij pozycję Nowy, aby je utworzyć.

    Uwaga

    Typ konta Uruchom jako musi mieć wartość Windows. Konto Uruchom jako musi być również częścią grupy Administratorzy lokalni na wszystkich serwerach z systemem Windows hostowania wystąpień SQL Server.

  5. Kliknij pozycję Zapisz.

  6. Zmodyfikuj, a następnie wykonaj następujący przykład języka T-SQL w każdym wystąpieniu SQL Server, aby udzielić minimalnych uprawnień wymaganych dla konta Uruchom jako w celu przeprowadzenia kontroli kondycji. Nie musisz jednak tego robić, jeśli konto Uruchom jako jest już częścią roli serwera sysadmin w wystąpieniach SQL Server.

    ---
    -- Replace <UserName> with the actual user name being used as Run As Account.
    USE master

    -- Create login for the user, comment this line if login is already created.
    CREATE LOGIN [<UserName>] FROM WINDOWS

    -- Grant permissions to user.
    GRANT VIEW SERVER STATE TO [<UserName>]
    GRANT VIEW ANY DEFINITION TO [<UserName>]
    GRANT VIEW ANY DATABASE TO [<UserName>]

    -- Add database user for all the databases on SQL Server Instance, this is required for connecting to individual databases.
    -- NOTE: This command must be run anytime new databases are added to SQL Server instances.
    EXEC sp_msforeachdb N'USE [?]; CREATE USER [<UserName>] FOR LOGIN [<UserName>];'

Aby skonfigurować konto Uruchom jako SQL przy użyciu Windows PowerShell

Otwórz okno programu PowerShell i uruchom następujący skrypt po zaktualizowaniu go przy użyciu informacji:

    import-module OperationsManager
    New-SCOMManagementGroupConnection "<your management group name>"

    $profile = Get-SCOMRunAsProfile -DisplayName "SQL Assessment Run As Profile"
    $account = Get-SCOMrunAsAccount | Where-Object {$_.Name -eq "<your run as account name>"}
    Set-SCOMRunAsProfile -Action "Add" -Profile $Profile -Account $Account

Opis priorytetyzacji zaleceń

Każda rekomendacja ma wartość ważoną, która identyfikuje względne znaczenie zalecenia. Pokazano tylko dziesięć najważniejszych zaleceń.

Sposób obliczania wag

Wagi są wartościami agregowanymi na podstawie trzech kluczowych czynników:

  • Prawdopodobieństwo, że zidentyfikowany problem spowoduje problemy. Wyższe prawdopodobieństwo jest równoznaczne z większym ogólnym wynikiem zalecenia.
  • Wpływ problemu na organizację, jeśli spowoduje to problem. Wyższy wpływ jest równa większej ogólnej oceny dla zalecenia.
  • Nakład pracy wymagany do zaimplementowania zalecenia. Wyższy nakład pracy oznacza mniejszy ogólny wynik zalecenia.

Waga dla każdego zalecenia jest wyrażona jako procent całkowitej oceny dostępnej dla każdego obszaru koncentracji uwagi. Jeśli na przykład zalecenie w obszarze fokusu Zabezpieczenia i zgodność ma wynik 5%, wdrożenie tego zalecenia zwiększy ogólną ocenę zabezpieczeń i zgodności o 5%.

Obszary fokusu

Zabezpieczenia i zgodność — w tym obszarze fokusu przedstawiono zalecenia dotyczące potencjalnych zagrożeń bezpieczeństwa i naruszeń, zasad firmy oraz wymagań technicznych, prawnych i prawnych dotyczących zgodności.

Dostępność i ciągłość działania — w tym obszarze koncentracji uwagi przedstawiono zalecenia dotyczące dostępności usług, odporności infrastruktury i ochrony biznesowej.

Wydajność i skalowalność — w tym obszarze fokusu przedstawiono zalecenia ułatwiające rozwój infrastruktury IT w organizacji, zapewnienie, że środowisko IT spełnia bieżące wymagania dotyczące wydajności i jest w stanie reagować na zmieniające się potrzeby infrastruktury.

Uaktualnianie, migracja i wdrażanie — w tym obszarze fokusu przedstawiono zalecenia ułatwiające uaktualnianie, migrowanie i wdrażanie SQL Server w istniejącej infrastrukturze.

Operacje i monitorowanie — w tym obszarze fokusu przedstawiono zalecenia ułatwiające usprawnianie operacji IT, wdrażanie konserwacji zapobiegawczej i maksymalizowanie wydajności.

Zarządzanie zmianami i konfiguracją — w tym obszarze fokusu przedstawiono zalecenia ułatwiające ochronę codziennych operacji, zapewnienie, że zmiany nie wpływają negatywnie na infrastrukturę, ustanawianie procedur kontroli zmian oraz śledzenie i inspekcja konfiguracji systemu.

Czy należy dążyć do osiągnięcia wyniku 100% w każdym obszarze fokusu?

Niekoniecznie. Zalecenia są oparte na wiedzy i doświadczeniach uzyskanych przez inżynierów firmy Microsoft w tysiącach wizyt klientów. Jednak żadne dwie infrastruktury serwera nie są takie same, a konkretne zalecenia mogą być mniej lub bardziej istotne dla Ciebie. Na przykład niektóre zalecenia dotyczące zabezpieczeń mogą być mniej istotne, jeśli maszyny wirtualne nie są uwidocznione w Internecie. Niektóre zalecenia dotyczące dostępności mogą być mniej istotne dla usług, które zapewniają zbieranie i raportowanie danych ad hoc o niskim priorytcie. Problemy, które są ważne dla dojrzałego biznesu, mogą być mniej ważne dla start-upu. Możesz określić, które obszary fokusu są twoimi priorytetami, a następnie sprawdzić, jak zmieniają się wyniki w czasie.

Każde zalecenie zawiera wskazówki dotyczące tego, dlaczego jest to ważne. Skorzystaj z tych wskazówek, aby ocenić, czy wdrożenie zalecenia jest odpowiednie dla Ciebie, biorąc pod uwagę charakter usług IT i potrzeby biznesowe organizacji.

Korzystanie z zaleceń dotyczących obszaru fokusu kontroli kondycji

Aby można było użyć rozwiązania do oceny w usłudze Azure Monitor, musisz mieć zainstalowane rozwiązanie. Po zainstalowaniu można wyświetlić podsumowanie zaleceń przy użyciu kafelka Kontrola kondycji SQL na stronie Przegląd usługi Azure Monitor w Azure Portal.

Wyświetl podsumowane oceny zgodności dla infrastruktury, a następnie przejrzyj zalecenia szczegółowe.

Aby wyświetlić zalecenia dotyczące obszaru fokusu i podjąć działania naprawcze

  1. Zaloguj się do witryny Azure Portal pod adresem https://portal.azure.com.
  2. W witrynie Azure Portal kliknij pozycję Więcej usług w lewym dolnym rogu. Na liście zasobów wpisz Monitor. Po rozpoczęciu pisania zawartość listy jest filtrowana w oparciu o wpisywane dane. Wybierz pozycję Monitor.
  3. W sekcji Szczegółowe informacje w menu wybierz pozycję Więcej.
  4. Na stronie Przegląd kliknij kafelek Kontrola kondycji SQL .
  5. Na stronie Kontrola kondycji przejrzyj podsumowanie informacji w jednej z sekcji obszaru fokusu, a następnie kliknij jeden, aby wyświetlić zalecenia dotyczące tego obszaru fokusu.
  6. Na dowolnej ze stron obszaru koncentracji uwagi można wyświetlić zalecenia dotyczące priorytetów dla środowiska. Kliknij zalecenie w obszarze Obiekty, których dotyczy problem, aby wyświetlić szczegółowe informacje o przyczynie dokonana rekomendacji.

    obraz zaleceń dotyczących kontroli kondycji SQL
  7. Akcje naprawcze sugerowane można wykonać w obszarze Sugerowane akcje. Po usunięciu elementu późniejsze oceny będą rejestrować, że podjęte zostały zalecane działania, a współczynnik zgodności zostanie zwiększony. Poprawione elementy są wyświetlane jako przekazane obiekty.

Ignorowanie zaleceń

Jeśli masz zalecenia, które chcesz zignorować, możesz utworzyć plik tekstowy, który będzie używany przez usługę Azure Monitor, aby zapobiec wyświetlaniu zaleceń w wynikach oceny.

Aby zidentyfikować zalecenia, które będą ignorowane

  1. W menu usługi Azure Monitor kliknij pozycję Dzienniki.

  2. Użyj następującego zapytania, aby wyświetlić listę zaleceń, które nie powiodły się dla komputerów w danym środowisku.

    SQLAssessmentRecommendation | where RecommendationResult == "Failed" | sort by Computer asc | project Computer, RecommendationId, Recommendation
    

    Oto zrzut ekranu przedstawiający zapytanie dziennika:

    zalecenia dotyczące niepowodzenia

  3. Wybierz zalecenia, które chcesz zignorować. Użyjesz wartości parametru RecommendationId w następnej procedurze.

Aby utworzyć i użyć pliku tekstowego IgnoreRecommendations.txt

  1. Utwórz plik o nazwie IgnoreRecommendations.txt.
  2. Wklej lub wpisz każdy identyfikator RecommendationId dla każdego zalecenia, które ma być ignorowane przez usługę Azure Monitor w osobnym wierszu, a następnie zapisz i zamknij plik.
  3. Umieść plik w następującym folderze na każdym komputerze, na którym usługa Azure Monitor ma ignorować zalecenia.
    • Na komputerach z programem Microsoft Monitoring Agent (połączonym bezpośrednio lub za pośrednictwem programu Operations Manager) — SystemDrive:\Program Files\Microsoft Monitoring Agent\Agent
    • Na serwerze zarządzania programu Operations Manager — SystemDrive:\Program Files\Microsoft System Center 2012 R2\Operations Manager\Server
    • Na serwerze zarządzania programu Operations Manager 2016 — SystemDrive:\Program Files\Microsoft System Center 2016\Operations Manager\Server

Aby sprawdzić, czy zalecenia są ignorowane

  1. Po następnym zaplanowanym uruchomieniu oceny domyślnie co 7 dni określone zalecenia są oznaczone jako Ignorowane i nie będą wyświetlane na pulpicie nawigacyjnym oceny.

  2. Aby wyświetlić listę wszystkich ignorowanych zaleceń, możesz użyć następujących zapytań przeszukiwania dzienników.

    SQLAssessmentRecommendation | where RecommendationResult == "Ignored" | sort by Computer asc | project Computer, RecommendationId, Recommendation
    
  3. Jeśli zdecydujesz się później, że chcesz zobaczyć ignorowane zalecenia, usuń wszystkie pliki IgnoreRecommendations.txt lub możesz usunąć z nich identyfikatory rekomendacji.

Często zadawane pytania

Jakie testy są wykonywane przez rozwiązanie SQL Assessment?

  • Następujące zapytanie zawiera opis wszystkich aktualnie wykonanych testów:
SQLAssessmentRecommendation
| distinct RecommendationId, FocusArea, ActionArea, Recommendation, Description
| sort by FocusArea,ActionArea, Recommendation

Wyniki można następnie wyeksportować do programu Excel w celu dalszej weryfikacji.

Jak często jest uruchamiana kontrola kondycji?

  • Sprawdzanie jest uruchamiane co siedem dni.

Czy istnieje sposób konfigurowania częstotliwości uruchamiania sprawdzania?

  • Nie w tej chwili.

Czy jeśli zostanie odnaleziony inny serwer po dodaniu rozwiązania SQL Health Check, zostanie on sprawdzony?

  • Tak, po odnalezieniu jest sprawdzana od tego momentu co siedem dni.

Jeśli serwer zostanie zlikwidowany, kiedy zostanie usunięty z kontroli kondycji?

  • Jeśli serwer nie przesyła danych przez 3 tygodnie, zostanie usunięty.

Jaka jest nazwa procesu, który zbiera dane?

  • AdvisorAssessment.exe

Jak długo trwa zbieranie danych?

  • Rzeczywiste zbieranie danych na serwerze trwa około 1 godziny. Może to trwać dłużej na serwerach z dużą liczbą wystąpień LUB baz danych SQL.

Jakiego typu dane są zbierane?

  • Zbierane są następujące typy danych:
    • WMI
    • Rejestr
    • Liczniki wydajności
    • Dynamiczne widoki zarządzania SQL (DMV).

Czy istnieje sposób konfigurowania zbierania danych?

  • Nie w tej chwili.

Dlaczego muszę skonfigurować konto Uruchom jako?

  • W przypadku SQL Server jest uruchamiana niewielka liczba zapytań SQL. Aby można było je uruchomić, należy użyć konta Uruchom jako z uprawnieniami VIEW SERVER STATE do programu SQL. Ponadto do wykonywania zapytań w usłudze WMI wymagane są poświadczenia administratora lokalnego.

Dlaczego warto wyświetlić tylko 10 najważniejszych zaleceń?

  • Zamiast dać wyczerpującą przytłaczającą listę zadań, zalecamy, aby najpierw skoncentrować się na rozwiązywaniu priorytetów zaleceń. Po ich rozwiązaniu zostaną udostępnione dodatkowe zalecenia. Jeśli wolisz wyświetlić szczegółową listę, możesz wyświetlić wszystkie zalecenia przy użyciu funkcji przeszukiwania dzienników usługi Log Analytics.

Czy istnieje sposób ignorowania rekomendacji?

Następne kroki

  • Zapytania dzienników , aby dowiedzieć się, jak analizować szczegółowe dane i zalecenia dotyczące sprawdzania kondycji SQL.