Uw SQL-omgeving optimaliseren met de oplossing SQL Server Health Check in Azure Monitor

Symbool sql-statuscontrole

U kunt de oplossing SQL Health Check gebruiken om regelmatig het risico en de status van uw serveromgevingen te beoordelen. Dit artikel helpt u bij het installeren van de oplossing, zodat u corrigerende maatregelen kunt nemen voor mogelijke problemen.

Deze oplossing biedt een lijst met aanbevelingen die specifiek zijn voor uw geïmplementeerde serverinfrastructuur. De aanbevelingen zijn onderverdeeld in zes aandachtsgebieden, zodat u snel inzicht krijgt in het risico en corrigerende maatregelen kunt nemen.

De aanbevelingen zijn gebaseerd op de kennis en ervaring die microsoft-technici hebben opgedaan tijdens duizenden klantbezoeken. Elke aanbeveling bevat richtlijnen over waarom een probleem voor u van belang kan zijn en hoe u de voorgestelde wijzigingen kunt implementeren.

U kunt focusgebieden kiezen die het belangrijkst zijn voor uw organisatie en uw voortgang bijhouden bij het uitvoeren van een risicovrije en gezonde omgeving.

Nadat u de oplossing hebt toegevoegd en een evaluatie is voltooid, wordt samenvattingsinformatie voor aandachtsgebieden weergegeven op het dashboard SQL-statuscontrole voor de infrastructuur in uw omgeving. In de volgende secties wordt beschreven hoe u de informatie op het dashboard SQL-statuscontrole gebruikt, waar u de aanbevolen acties voor uw SQL Server-infrastructuur kunt bekijken en vervolgens kunt uitvoeren.

afbeelding van de tegel SQL-statuscontrole

afbeelding van het dashboard SQL Health Check

Vereisten

  • Voor de SQL Health Check-oplossing moet een ondersteunde versie van .NET Framework 4.6.2 zijn geïnstalleerd op elke computer waarop de Microsoft Monitoring Agent (MMA) is geïnstalleerd. De MMA-agent wordt gebruikt door System Center 2016 - Operations Manager en Operations Manager 2012 R2 en Azure Monitor.

  • De oplossing ondersteunt SQL Server versie 2012, 2014, 2016, 2017 en 2019.

  • Een Log Analytics-werkruimte om de SQL Health Check-oplossing toe te voegen vanuit de Azure Marketplace in de Azure Portal. Als u de oplossing wilt installeren, moet u een beheerder of bijdrager zijn in het Azure-abonnement.

    Notitie

    Nadat u de oplossing hebt toegevoegd, wordt het AdvisorAssessment.exe-bestand toegevoegd aan servers met agents. Configuratiegegevens worden gelezen en vervolgens voor verwerking naar Azure Monitor in de cloud verzonden. Logica wordt toegepast op de ontvangen gegevens en de gegevens worden vastgelegd door de cloudservice.

Als u de statuscontrole wilt uitvoeren voor uw SQL Server-servers, hebben ze een agent en connectiviteit met Azure Monitor nodig met behulp van een van de volgende ondersteunde methoden:

  1. Installeer de Microsoft Monitoring Agent (MMA) als de server nog niet wordt bewaakt door System Center 2016 - Operations Manager of Operations Manager 2012 R2.
  2. Als deze wordt bewaakt met System Center 2016 - Operations Manager of Operations Manager 2012 R2 en de beheergroep niet is geïntegreerd met Azure Monitor, kan de server multi-homed worden met Log Analytics om gegevens te verzamelen en door te sturen naar de service en nog steeds worden bewaakt door Operations Manager.
  3. Als uw Operations Manager-beheergroep anders is geïntegreerd met de service, moet u de domeincontrollers toevoegen voor gegevensverzameling door de service door de stappen onder Door agent beheerde computers toevoegen nadat u de oplossing in uw werkruimte hebt ingeschakeld.

De agent op uw SQL Server die rapporteert aan een Operations Manager-beheergroep, gegevens verzamelt, doorstuurt naar de toegewezen beheerserver en vervolgens rechtstreeks van een beheerserver naar Azure Monitor wordt verzonden. De gegevens worden niet naar de Operations Manager-databases geschreven.

Als de SQL Server wordt bewaakt door Operations Manager, moet u een Uitvoeren als-account voor Operations Manager configureren. Zie Uitvoeren als-accounts voor Operations Manager voor Azure Monitor hieronder voor meer informatie.

Details voor gegevensverzameling van SQL-statuscontrole

SQL Health Check verzamelt gegevens van de volgende bronnen met behulp van de agent die u hebt ingeschakeld:

  • Windows Management Instrumentation (WMI)
  • Register
  • Prestatiemeteritems
  • resultaten van dynamische beheerweergave SQL Server

Gegevens worden verzameld op de SQL Server en elke zeven dagen doorgestuurd naar Log Analytics.

Uitvoeren als-accounts van Operations Manager voor Log Analytics

Log Analytics gebruikt de Operations Manager-agent en -beheergroep om gegevens te verzamelen en naar de Log Analytics-service te verzenden. Log Analytics bouwt voort op management packs voor workloads om services met toegevoegde waarde te bieden. Voor elke workload zijn workloadspecifieke bevoegdheden vereist om management packs in een andere beveiligingscontext uit te voeren, zoals een domeingebruikersaccount. U moet referentiegegevens opgeven door een Uitvoeren als-account voor Operations Manager te configureren.

Gebruik de volgende informatie om het Uitvoeren als-account van Operations Manager in te stellen voor SQL-statuscontrole.

Het Uitvoeren als-account voor de SQL-statuscontrole instellen

Als u het management pack SQL Server al gebruikt, moet u die Run As-configuratie gebruiken.

Het UITVOEREN als-account van SQL configureren in de Operations-console

Notitie

Standaard worden werkstromen in het management pack uitgevoerd in de beveiligingscontext van het lokale systeemaccount. Als u de Microsoft Monitoring Agent gebruikt die rechtstreeks is verbonden met de service in plaats van rechtstreeks te rapporteren aan een Operations Manager-beheergroep, slaat u de stappen 1-5 hieronder over en voert u het T-SQL- of PowerShell-voorbeeld uit, waarbij u NT AUTHORITY\SYSTEM opgeeft als de gebruikersnaam.

  1. Open in Operations Manager de Operations-console en klik vervolgens op Beheer.

  2. Klik onder Uitvoeren als-configuratie op Profielen en open Sql-evaluatie Uitvoeren als-profiel.

  3. Klik op de pagina Run As-accounts op Toevoegen.

  4. Selecteer een Windows Uitvoeren als-account met de referenties die nodig zijn voor SQL Server of klik op Nieuw om er een te maken.

    Notitie

    Het Uitvoeren als-accounttype moet Windows zijn. Het Uitvoeren als-account moet ook deel uitmaken van de groep Lokale beheerders op alle Windows-servers die SQL Server-exemplaren hosten.

  5. Klik op Opslaan.

  6. Wijzig en voer vervolgens het volgende T-SQL-voorbeeld uit op elk SQL Server exemplaar om minimale machtigingen te verlenen die vereist zijn voor het Uitvoeren als-account om de statuscontrole uit te voeren. U hoeft dit echter niet te doen als een Uitvoeren als-account al deel uitmaakt van de serverrol sysadmin op SQL Server exemplaren.

    ---
    -- 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>];'

Het Uitvoeren als-account van SQL configureren met behulp van Windows PowerShell

Open een PowerShell-venster en voer het volgende script uit nadat u het hebt bijgewerkt met uw gegevens:

    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

Inzicht in hoe de prioriteit van aanbevelingen wordt vastgesteld

Elke aanbeveling krijgt een wegingswaarde die het relatieve belang van de aanbeveling identificeert. Alleen de tien belangrijkste aanbevelingen worden weergegeven.

Hoe gewicht wordt berekend

Wegingen zijn aggregatiewaarden op basis van drie belangrijke factoren:

  • De kans dat een geïdentificeerd probleem problemen veroorzaakt. Een hogere waarschijnlijkheid is gelijk aan een hogere algehele score voor de aanbeveling.
  • De impact van het probleem op uw organisatie als dit een probleem veroorzaakt. Een hogere impact is gelijk aan een hogere algehele score voor de aanbeveling.
  • De inspanning die nodig is om de aanbeveling te implementeren. Een hogere inspanning is gelijk aan een lagere algehele score voor de aanbeveling.

De weging voor elke aanbeveling wordt uitgedrukt als een percentage van de totale score die beschikbaar is voor elk aandachtsgebied. Als een aanbeveling in het focusgebied Beveiliging en naleving bijvoorbeeld een score van 5% heeft, verhoogt het implementeren van die aanbeveling uw algehele beveiligings- en nalevingsscore met 5%.

Aandachtsgebieden

Beveiliging en naleving : dit aandachtsgebied bevat aanbevelingen voor mogelijke beveiligingsrisico's en schendingen, bedrijfsbeleid en technische, juridische en wettelijke nalevingsvereisten.

Beschikbaarheid en bedrijfscontinuïteit : in dit aandachtsgebied worden aanbevelingen weergegeven voor de beschikbaarheid van de service, tolerantie van uw infrastructuur en bedrijfsbeveiliging.

Prestaties en schaalbaarheid : in dit aandachtsgebied worden aanbevelingen weergegeven om de IT-infrastructuur van uw organisatie te laten groeien, ervoor te zorgen dat uw IT-omgeving voldoet aan de huidige prestatievereisten en kan reageren op veranderende infrastructuurbehoeften.

Upgrade, migratie en implementatie: in dit focusgebied worden aanbevelingen weergegeven om u te helpen bij het upgraden, migreren en implementeren van SQL Server naar uw bestaande infrastructuur.

Bewerkingen en bewaking : dit aandachtsgebied bevat aanbevelingen voor het stroomlijnen van uw IT-activiteiten, het implementeren van preventief onderhoud en het maximaliseren van de prestaties.

Wijzigings- en configuratiebeheer : in dit aandachtsgebied worden aanbevelingen weergegeven om dagelijkse bewerkingen te beveiligen, ervoor te zorgen dat wijzigingen geen negatieve invloed hebben op uw infrastructuur, procedures voor wijzigingsbeheer in te stellen en systeemconfiguraties bij te houden en te controleren.

Moet u proberen een score van 100% te halen voor elk focusgebied?

Niet noodzakelijkerwijs. De aanbevelingen zijn gebaseerd op de kennis en ervaringen die microsoft-technici hebben opgedaan tijdens duizenden klantbezoeken. Er zijn echter geen twee serverinfrastructuren hetzelfde en specifieke aanbevelingen zijn mogelijk min of meer relevant voor u. Sommige beveiligingsaanbeveling kan bijvoorbeeld minder relevant zijn als uw virtuele machines niet worden blootgesteld aan internet. Sommige aanbevelingen voor beschikbaarheid zijn mogelijk minder relevant voor services die ad-hocgegevensverzameling en -rapportage met lage prioriteit bieden. Problemen die belangrijk zijn voor een volwassen bedrijf, zijn mogelijk minder belangrijk voor een start-up. U kunt bepalen welke aandachtsgebieden uw prioriteiten zijn en vervolgens kijken hoe uw scores in de loop van de tijd veranderen.

Elke aanbeveling bevat richtlijnen over waarom dit belangrijk is. U moet deze richtlijnen gebruiken om te evalueren of de implementatie van de aanbeveling geschikt is voor u, gezien de aard van uw IT-services en de zakelijke behoeften van uw organisatie.

Aanbevelingen voor focusgebieden van statuscontrole gebruiken

Voordat u een evaluatieoplossing in Azure Monitor kunt gebruiken, moet de oplossing zijn geïnstalleerd. Nadat deze is geïnstalleerd, kunt u het overzicht van aanbevelingen bekijken met behulp van de tegel SQL-statuscontrole op de pagina Overzicht voor Azure Monitor in de Azure Portal.

Bekijk de samengevatte nalevingsevaluaties voor uw infrastructuur en zoom vervolgens in op aanbevelingen.

Aanbevelingen voor een focusgebied weergeven en corrigerende actie ondernemen

  1. Meld u aan bij Azure Portal op https://portal.azure.com.
  2. Klik in Azure Portal op Meer services in de linkerbenedenhoek. Typ Monitor in de lijst met resources. Als u begint te typen, wordt de lijst gefilterd op basis van uw invoer. Selecteer Monitor.
  3. Selecteer Meer in de sectie Inzichten van het menu.
  4. Klik op de pagina Overzicht op de tegel SQL-statuscontrole .
  5. Bekijk op de pagina Statuscontrole de overzichtsinformatie in een van de secties in het focusgebied en klik vervolgens op een van de secties om aanbevelingen voor dat focusgebied weer te geven.
  6. Op elk van de focusgebiedpagina's kunt u de aanbevelingen met prioriteit voor uw omgeving bekijken. Klik op een aanbeveling onder Betrokken objecten om details weer te geven over de reden waarom de aanbeveling wordt gedaan.

    afbeelding van aanbevelingen voor SQL Health Check
  7. U kunt corrigerende acties uitvoeren die worden voorgesteld in Voorgestelde acties. Wanneer het item is opgelost, wordt in latere evaluaties vastgelegd dat er aanbevolen acties zijn uitgevoerd en wordt uw nalevingsscore verhoogd. Gecorrigeerde items worden weergegeven als Doorgegeven objecten.

Aanbevelingen negeren

Als u aanbevelingen hebt die u wilt negeren, kunt u een tekstbestand maken dat Azure Monitor gebruikt om te voorkomen dat aanbevelingen worden weergegeven in uw evaluatieresultaten.

Aanbevelingen identificeren die u negeert

  1. Klik in het menu Azure Monitor op Logboeken.

  2. Gebruik de volgende query om aanbevelingen weer te geven die zijn mislukt voor computers in uw omgeving.

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

    Hier volgt een schermopname van de logboekquery:

    mislukte aanbevelingen

  3. Kies aanbevelingen die u wilt negeren. In de volgende procedure gebruikt u de waarden voor RecommendationId.

Een IgnoreRecommendations.txt tekstbestand maken en gebruiken

  1. Maak een bestand met de naam IgnoreRecommendations.txt.
  2. Plak of typ elke RecommendationId voor elke aanbeveling die u wilt negeren in Azure Monitor op een afzonderlijke regel en sla het bestand op en sluit het.
  3. Plaats het bestand in de volgende map op elke computer waarop u wilt dat Azure Monitor aanbevelingen negeert.
    • Op computers met de Microsoft Monitoring Agent (rechtstreeks verbonden of via Operations Manager) - SystemDrive:\Program Files\Microsoft Monitoring Agent\Agent
    • Op de Operations Manager-beheerserver - SystemDrive:\Program Files\Microsoft System Center 2012 R2\Operations Manager\Server
    • Op de Operations Manager 2016-beheerserver - SystemDrive:\Program Files\Microsoft System Center 2016\Operations Manager\Server

Controleren of aanbevelingen worden genegeerd

  1. Nadat de volgende geplande evaluatie is uitgevoerd, worden de opgegeven aanbevelingen standaard elke 7 dagen gemarkeerd als Genegeerd en worden ze niet weergegeven op het evaluatiedashboard.

  2. U kunt de volgende query's voor zoeken in logboeken gebruiken om alle genegeerde aanbevelingen weer te geven.

    SQLAssessmentRecommendation | where RecommendationResult == "Ignored" | sort by Computer asc | project Computer, RecommendationId, Recommendation
    
  3. Als u later besluit dat u genegeerde aanbevelingen wilt zien, verwijdert u alle IgnoreRecommendations.txt bestanden of kunt u AanbevelingS-ID's verwijderen.

Veelgestelde vragen

Welke controles worden uitgevoerd door de sql-evaluatieoplossing?

  • De volgende query toont een beschrijving van alle controles die momenteel worden uitgevoerd:
SQLAssessmentRecommendation
| distinct RecommendationId, FocusArea, ActionArea, Recommendation, Description
| sort by FocusArea,ActionArea, Recommendation

De resultaten kunnen vervolgens worden geëxporteerd naar Excel voor verdere controle.

Hoe vaak wordt een statuscontrole uitgevoerd?

  • De controle wordt elke zeven dagen uitgevoerd.

Is er een manier om te configureren hoe vaak de controle wordt uitgevoerd?

  • Momenteel niet.

Als er een andere server wordt gedetecteerd nadat ik de oplossing SQL Health Check heb toegevoegd, wordt deze dan gecontroleerd?

  • Ja, zodra het wordt ontdekt, wordt het vanaf dat moment elke zeven dagen gecontroleerd.

Als een server buiten gebruik wordt gesteld, wanneer wordt deze dan verwijderd uit de statuscontrole?

  • Als een server gedurende 3 weken geen gegevens verzendt, wordt deze verwijderd.

Wat is de naam van het proces waarmee gegevens worden verzameld?

  • AdvisorAssessment.exe

Hoe lang duurt het voordat gegevens worden verzameld?

  • De werkelijke gegevensverzameling op de server duurt ongeveer 1 uur. Dit kan langer duren op servers met een groot aantal SQL-exemplaren of -databases.

Welk type gegevens wordt verzameld?

  • De volgende typen gegevens worden verzameld:
    • WMI
    • Register
    • Prestatiemeteritems
    • DYNAMISCHE SQL-beheerweergaven (DMV).

Is er een manier om te configureren wanneer gegevens worden verzameld?

  • Momenteel niet.

Waarom moet ik een Uitvoeren als-account configureren?

  • Voor SQL Server wordt een klein aantal SQL-query's uitgevoerd. Als u deze wilt uitvoeren, moet een Uitvoeren als-account worden gebruikt met de machtigingen STATUS VAN DE WEERGAVESERVER voor SQL. Bovendien zijn lokale beheerdersreferenties vereist om een query uit te voeren op WMI.

Waarom alleen de top 10 aanbevelingen weergeven?

  • In plaats van u een uitgebreide, overweldigende lijst met taken te geven, raden we u aan om u eerst te richten op de aanbevelingen met prioriteit. Nadat u deze hebt opgelost, worden er aanvullende aanbevelingen beschikbaar. Als u liever de gedetailleerde lijst wilt zien, kunt u alle aanbevelingen bekijken met behulp van de Log Analytics-logboekzoekopdracht.

Is er een manier om een aanbeveling te negeren?

Volgende stappen

  • Logboekquery's voor meer informatie over het analyseren van gedetailleerde sql-statuscontrolegegevens en aanbevelingen.