Az SQL-környezet optimalizálása az Azure Monitor SQL Server Állapot-ellenőrzési megoldásával

SQL Állapot-ellenőrzés szimbólum

Az SQL Health Check megoldással rendszeres időközönként felmérheti a kiszolgálói környezetek kockázatát és állapotát. Ez a cikk segítséget nyújt a megoldás telepítéséhez, hogy korrekciós műveleteket hajthat végre a lehetséges problémák esetén.

Ez a megoldás az üzembe helyezett kiszolgálói infrastruktúrára vonatkozó javaslatok rangsorolását tartalmazza. A javaslatok hat fókuszterületre vannak kategorizálva, amelyek segítenek a kockázat gyors megértésében és a korrekciós intézkedések végrehajtásában.

A javaslatok a Microsoft mérnökei által több ezer ügyféllátogatás során szerzett tudáson és tapasztalaton alapulnak. Minden javaslat útmutatást nyújt arról, hogy miért fontos önnek egy probléma, és hogyan valósíthatja meg a javasolt módosításokat.

Kiválaszthatja a szervezet számára legfontosabb fókuszterületeket, és nyomon követheti a kockázatmentes és egészséges környezetek futtatása felé tett előrehaladását.

A megoldás hozzáadása és az értékelés befejezése után a fókuszterületek összefoglaló információi megjelennek a környezet infrastruktúrájának SQL Health Check irányítópultján. Az alábbi szakaszok bemutatják, hogyan használhatja az SQL Health Check irányítópulton található információkat, ahol megtekintheti és végrehajthatja a SQL Server infrastruktúrához ajánlott műveleteket.

az SQL Health Check csempe képe

AZ SQL Health Check irányítópultjának képe

Előfeltételek

  • Az SQL Health Check megoldáshoz telepítve kell lennie a .NET-keretrendszer 4.6.2 támogatott verziójának minden olyan számítógépen, amelyen telepítve van a Microsoft Monitoring Agent (MMA). Az MMA-ügynököt a System Center 2016 – Operations Manager és az Operations Manager 2012 R2 és az Azure Monitor használja.

  • A megoldás SQL Server 2012-es, 2014-es, 2016-os, 2017-es és 2019-es verziót támogatja.

  • Log Analytics-munkaterület az SQL Health Check megoldás hozzáadásához az Azure Marketplace-ről a Azure Portal. A megoldás telepítéséhez rendszergazdának vagy közreműködőnek kell lennie az Azure-előfizetésben.

    Megjegyzés

    A megoldás hozzáadása után a AdvisorAssessment.exe fájl ügynökökkel rendelkező kiszolgálókhoz lesz hozzáadva. A rendszer beolvassa a konfigurációs adatokat, majd elküldi az Azure Monitornak a felhőben feldolgozás céljából. A felhőszolgáltatás egy logikát alkalmaz a kapott adatokon, és rögzíti azokat.

A SQL Server kiszolgálók állapotának ellenőrzéséhez ügynökre és az Azure Monitorhoz való csatlakozásra van szükség az alábbi támogatott módszerek egyikével:

  1. Telepítse a Microsoft Monitoring Agentet (MMA), ha a kiszolgálót még nem figyeli a System Center 2016 – Operations Manager vagy az Operations Manager 2012 R2.
  2. Ha a rendszer a System Center 2016 – Operations Manager vagy az Operations Manager 2012 R2 szolgáltatással figyeli, és a felügyeleti csoport nincs integrálva az Azure Monitorral, a kiszolgáló a Log Analytics szolgáltatással több központú is lehet, hogy adatokat gyűjtsön és továbbítsa a szolgáltatásnak, és továbbra is monitorozza az Operations Manager.
  3. Ellenkező esetben, ha az Operations Manager felügyeleti csoportja integrálva van a szolgáltatással, hozzá kell adnia a tartományvezérlőket a szolgáltatás adatgyűjtéséhez az ügynök által felügyelt számítógépek hozzáadása után, miután engedélyezte a megoldást a munkaterületen.

A SQL Server ügynöke, amely egy Operations Manager felügyeleti csoportnak jelent, adatokat gyűjt, továbbítja a hozzárendelt felügyeleti kiszolgálónak, majd közvetlenül egy felügyeleti kiszolgálóról továbbítja az Azure Monitornak. Az adatok nincsenek megírva az Operations Manager-adatbázisokba.

Ha a SQL Server az Operations Manager figyeli, konfigurálnia kell egy Operations Manager futtató fiókot. További információkért lásd alább az Operations Manager futtató fiókokat az Azure Monitorhoz .

Az SQL Health Check által végzett adatgyűjtés részletei

Az SQL Health Check az ön által engedélyezett ügynök használatával gyűjt adatokat a következő forrásokból:

  • Windows Management Instrumentation (WMI)
  • Regisztrációs adatbázis
  • Teljesítményszámlálók
  • dinamikus felügyeleti nézet eredményeinek SQL Server

Az adatokat a rendszer a SQL Server gyűjti, és hét naponta továbbítja a Log Analyticsnek.

Futtató Operations Manager-fiókok a Log Analyticshez

A Log Analytics az Operations Manager-ügynök és a felügyeleti csoport használatával gyűjti és küldi el az adatokat a Log Analytics szolgáltatásnak. A Log Analytics a számítási feladatok felügyeleti csomagjaira épül, hogy értékalapú szolgáltatásokat nyújtson. Minden számítási feladathoz számítási feladatspecifikus jogosultság szükséges a felügyeleti csomagok más biztonsági környezetben, például tartományi felhasználói fiókban való futtatásához. Egy Operations Manager futtató fiók konfigurálásával meg kell adnia a hitelesítő adatokat.

Az alábbi információk alapján állítsa be az Operations Manager futtató fiókját az SQL Health Checkhez.

Az SQL Health Check futtató fiókjának beállítása

Ha már használja a SQL Server felügyeleti csomagot, akkor ezt a futtató konfigurációt kell használnia.

Az SQL Futtató fiók konfigurálása az operatív konzolon

Megjegyzés

Alapértelmezés szerint a felügyeleti csomag munkafolyamatai a helyi rendszerfiók biztonsági környezetében futnak. Ha közvetlenül a szolgáltatáshoz csatlakoztatott Microsoft Monitoring Agentet használja, és nem közvetlenül egy Operations Manager felügyeleti csoportnak küld jelentést, hagyja ki az alábbi 1–5. lépést, és futtassa a T-SQL- vagy PowerShell-mintát, és adja meg az NT AUTHORITY\SYSTEM nevet felhasználónévként.

  1. Az Operations Managerben nyissa meg az Operatív konzolt, majd kattintson a Felügyelet elemre.

  2. A Futtatás konfigurációja területen kattintson a Profilok elemre, és nyissa meg az SQL Assessment futtató profilt.

  3. A Futtató fiókok lapon kattintson Hozzáadás lehetőségre.

  4. Válasszon ki egy windowsos futtató fiókot, amely tartalmazza a SQL Server szükséges hitelesítő adatokat, vagy kattintson az Új gombra a létrehozáshoz.

    Megjegyzés

    A futtató fiók típusának Windowsnak kell lennie. A futtató fióknak a Helyi rendszergazdák csoportnak is része kell lennie az SQL Server példányokat üzemeltető windowsos kiszolgálókon.

  5. Kattintson a Mentés gombra.

  6. Módosítsa, majd hajtsa végre az alábbi T-SQL-mintát az egyes SQL Server példányokon, hogy a futtató fiókhoz szükséges minimális engedélyeket adja meg az állapot-ellenőrzés végrehajtásához. Ezt azonban nem kell megtennie, ha egy futtató fiók már része a sysadmin kiszolgálói szerepkörnek SQL Server példányokon.

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

Az SQL Futtató fiók konfigurálása a Windows PowerShell használatával

Nyisson meg egy PowerShell-ablakot, és futtassa a következő szkriptet, miután frissítette az adataival:

    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

A javaslatok rangsorolásának ismertetése

Minden javaslat egy súlyozási értéket kap, amely azonosítja a javaslat relatív fontosságát. Csak a tíz legfontosabb javaslat jelenik meg.

A súlyozás kiszámítása

A súlyozások három fő tényező alapján összesített értékek:

  • Annak a valószínűsége , hogy egy azonosított probléma problémákat okoz. A nagyobb valószínűség a javaslat nagyobb összesített pontszámával egyenlő.
  • A probléma hatása a szervezetre, ha ez problémát okoz. A nagyobb hatás a javaslat nagyobb összesített pontszámával egyenlő.
  • A javaslat végrehajtásához szükséges erőfeszítés . A nagyobb erőfeszítés a javaslat kisebb összesített pontszámát jelenti.

Az egyes javaslatok súlyozása az egyes fókuszterületekhez elérhető összpontszám százalékos arányában van kifejezve. Ha például egy javaslat a Biztonság és megfelelőség fókuszterületen 5%-os pontszámmal rendelkezik, a javaslat megvalósítása 5%-kal növeli az általános biztonsági és megfelelőségi pontszámot.

Fókuszterületek

Biztonság és megfelelőség – Ez a fókuszterület a potenciális biztonsági fenyegetésekre és jogsértésekre, a vállalati szabályzatokra, valamint a műszaki, jogi és jogszabályi megfelelőségi követelményekre vonatkozó javaslatokat mutat be.

Rendelkezésre állás és üzletmenet-folytonosság – Ez a fókuszterület a szolgáltatás rendelkezésre állására, az infrastruktúra rugalmasságára és az üzletmenet védelmére vonatkozó javaslatokat mutatja be.

Teljesítmény és méretezhetőség – Ez a fókuszterület olyan javaslatokat mutat be, amelyek segítenek a szervezet informatikai infrastruktúrájának növekedésében, biztosítják, hogy az informatikai környezet megfeleljen a jelenlegi teljesítménykövetelményeknek, és képes legyen reagálni a változó infrastruktúra-igényekre.

Frissítés, migrálás és üzembe helyezés – Ez a fókuszterület olyan javaslatokat mutat be, amelyekkel frissítheti, migrálhatja és üzembe helyezheti SQL Server a meglévő infrastruktúrában.

Műveletek és figyelés – Ez a fókuszterület javaslatokat mutat be az informatikai műveletek egyszerűsítéséhez, a megelőző karbantartás implementálásához és a teljesítmény maximalizálásához.

Változás- és konfigurációkezelés – Ez a fókuszterület olyan javaslatokat mutat be, amelyek segítenek a mindennapi műveletek védelmében, biztosítják, hogy a módosítások ne legyenek negatív hatással az infrastruktúrára, változáskezelési eljárásokat hozzanak létre, valamint nyomon követjék és naplózzák a rendszerkonfigurációkat.

Érdemes 100%-ra törekedni minden fókuszterületen?

Nem feltétlenül. A javaslatok a Microsoft mérnökei által több ezer ügyféllátogatás során szerzett tudáson és tapasztalatokon alapulnak. Azonban nincs két kiszolgálóinfrastruktúra, és a konkrét javaslatok többé-kevésbé relevánsak lehetnek Az Ön számára. Előfordulhat például, hogy egyes biztonsági javaslatok kevésbé relevánsak, ha a virtuális gépek nincsenek kitéve az internetnek. Egyes rendelkezésre állási javaslatok kevésbé relevánsak az alacsony prioritású alkalmi adatgyűjtést és -jelentést nyújtó szolgáltatások esetében. Az érett vállalkozás számára fontos problémák kevésbé fontosak lehetnek az induló vállalkozások számára. Érdemes lehet meghatározni, hogy mely fókuszterületek a prioritások, majd tekintse meg, hogyan változnak a pontszámok az idő múlásával.

Minden javaslat tartalmaz útmutatást arról, hogy miért fontos. Ezzel az útmutatóval kiértékelheti, hogy a javaslat megvalósítása megfelelő-e az Ön számára, tekintettel az informatikai szolgáltatások jellegére és a szervezet üzleti igényeire.

Az állapot-ellenőrzés fókuszterület-javaslatainak használata

Ahhoz, hogy értékelési megoldást használjon az Azure Monitorban, telepítenie kell a megoldást. A telepítést követően a javaslatok összegzését az Azure Monitor Áttekintés lapján található SQL Health Check csempével tekintheti meg a Azure Portal.

Tekintse meg az infrastruktúrához tartozó összesített megfelelőségi értékeléseket, majd részletezi a javaslatokat.

Fókuszterületre vonatkozó javaslatok megtekintése és korrekciós művelet végrehajtása

  1. Jelentkezzen be az Azure Portalra a https://portal.azure.com webhelyen.
  2. Az Azure Portalon kattintson a bal alsó sarokban található További szolgáltatások elemre. Az erőforrások listájába írja be a Monitorozás kifejezést. Ahogy elkezd gépelni, a lista a beírtak alapján szűri a lehetőségeket. Válassza a Monitorozás lehetőséget.
  3. A menü Elemzések szakaszában válassza az Egyebek lehetőséget.
  4. Az Áttekintés lapon kattintson az SQL Állapot-ellenőrzés csempére.
  5. Az Állapot-ellenőrzés lapon tekintse át az összefoglaló információkat a fókuszterület egyik szakaszában, majd kattintson az egyikre az adott fókuszterületre vonatkozó javaslatok megtekintéséhez.
  6. A fókuszterület bármely lapján megtekintheti a környezetére vonatkozó rangsorban szereplő javaslatokat. Kattintson egy javaslatra az Érintett objektumok területen a javaslat miértjének részleteinek megtekintéséhez.

    SQL Health Check-javaslatok képe
  7. A Javasolt műveletek területen javasolt korrekciós műveleteket hajthat végre. Az elem kezelése után a későbbi értékelések rögzítik a javasolt műveletek elvégzését, és a megfelelőségi pontszám nőni fog. A javított elemek átadott objektumokként jelennek meg.

Javaslatok figyelmen kívül hagyása

Ha vannak olyan javaslatai, amelyeket figyelmen kívül szeretne hagyni, létrehozhat egy szövegfájlt, amelyet az Azure Monitor használni fog annak megakadályozására, hogy a javaslatok megjelenjenek az értékelési eredményekben.

A figyelmen kívül hagyott javaslatok azonosítása

  1. Az Azure Monitor menüben kattintson a Naplók elemre.

  2. Az alábbi lekérdezés használatával listázhatja a környezetében lévő számítógépeken sikertelen javaslatokat.

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

    Íme egy képernyőkép a napló lekérdezéséről:

    sikertelen javaslatok

  3. Válassza ki a figyelmen kívül hagyni kívánt javaslatokat. A következő eljárásban a RecommendationId értékeit fogja használni.

IgnoreRecommendations.txt szövegfájl létrehozása és használata

  1. Hozzon létre egy IgnoreRecommendations.txt nevű fájlt.
  2. Illessze be vagy írja be az egyes javaslatok recommendationId azonosítóját, amelyeket az Azure Monitor figyelmen kívül hagy egy külön sorban, majd mentse és zárja be a fájlt.
  3. Helyezze a fájlt a következő mappába minden olyan számítógépen, ahol az Azure Monitor figyelmen kívül szeretné hagyni a javaslatokat.
    • A Microsoft Monitoring Agenttel rendelkező számítógépeken (közvetlenül vagy az Operations Manageren keresztül) – SystemDrive:\Program Files\Microsoft Monitoring Agent\Agent
    • Az Operations Manager felügyeleti kiszolgálón – SystemDrive:\Program Files\Microsoft System Center 2012 R2\Operations Manager\Server
    • Az Operations Manager 2016 felügyeleti kiszolgálón – SystemDrive:\Program Files\Microsoft System Center 2016\Operations Manager\Server

Annak ellenőrzése, hogy a javaslatok figyelmen kívül vannak-e hagyva

  1. A következő ütemezett értékelés futtatása után alapértelmezés szerint 7 naponta a megadott javaslatok Figyelmen kívül hagyva jelölést kapnak, és nem jelennek meg az értékelési irányítópulton.

  2. Az alábbi naplókeresési lekérdezésekkel listázhatja az összes figyelmen kívül hagyott javaslatot.

    SQLAssessmentRecommendation | where RecommendationResult == "Ignored" | sort by Computer asc | project Computer, RecommendationId, Recommendation
    
  3. Ha később úgy dönt, hogy meg szeretné tekinteni a figyelmen kívül hagyott javaslatokat, távolítsa el a IgnoreRecommendations.txt fájlokat, vagy eltávolíthatja belőlük a javaslatazonosítókat.

Gyakori kérdések

Milyen ellenőrzéseket végez az SQL Assessment-megoldás?

  • A következő lekérdezés a jelenleg végrehajtott ellenőrzések leírását jeleníti meg:
SQLAssessmentRecommendation
| distinct RecommendationId, FocusArea, ActionArea, Recommendation, Description
| sort by FocusArea,ActionArea, Recommendation

Az eredményeket ezután exportálhatja az Excelbe további áttekintés céljából.

Milyen gyakran fut egy állapot-ellenőrzés?

  • Az ellenőrzés hét naponta lefut.

Van mód annak konfigurálására, hogy az ellenőrzés milyen gyakran fusson?

  • Jelenleg nem.

Ha az SQL Health Check megoldás hozzáadása után egy másik kiszolgálót fedeznek fel, a rendszer ellenőrzi?

  • Igen, miután felfedezték, ettől kezdve hét naponta ellenőrzik.

Ha egy kiszolgáló leszerelt, mikor távolítja el a rendszer az állapot-ellenőrzésből?

  • Ha egy kiszolgáló 3 hétig nem küld adatokat, az törlődik.

Mi az adatgyűjtési folyamat neve?

  • AdvisorAssessment.exe

Mennyi ideig tart az adatok gyűjtése?

  • A kiszolgálón történő tényleges adatgyűjtés körülbelül 1 órát vesz igénybe. Hosszabb időt vehet igénybe a nagy számú SQL-példányt vagy adatbázist tartalmazó kiszolgálókon.

Milyen típusú adatokat gyűjtünk?

  • A rendszer a következő típusú adatokat gyűjti:
    • WMI
    • Regisztrációs adatbázis
    • Teljesítményszámlálók
    • SQL dinamikus felügyeleti nézetek (DMV).

Van mód az adatok gyűjtésének konfigurálására?

  • Jelenleg nem.

Miért kell konfigurálnom egy futtató fiókot?

  • A SQL Server esetében kevés SQL-lekérdezés fut. A futtatásukhoz az SQL-hez VIEW SERVER STATE engedélyekkel rendelkező futtató fiókot kell használni. Emellett a WMI lekérdezéséhez helyi rendszergazdai hitelesítő adatokra van szükség.

Miért csak az első 10 javaslat megjelenítése?

  • Ahelyett, hogy kimerítő listát adnánk a feladatokról, azt javasoljuk, hogy először a rangsorban szereplő javaslatokra összpontosítson. A címek kezelése után további javaslatok válnak elérhetővé. Ha inkább a részletes listát szeretné megtekinteni, a Log Analytics naplókeresésével megtekintheti az összes javaslatot.

Lehet figyelmen kívül hagyni egy javaslatot?

Következő lépések