Optimalizace prostředí SQL pomocí řešení SQL Server Health Check ve službě Azure Monitor
Řešení kontroly stavu SQL můžete použít k vyhodnocování rizika a stavu serverových prostředí v pravidelných intervalech. Tento článek vám pomůže s instalací řešení, abyste mohli provádět opravné akce v případě potenciálních problémů.
Toto řešení poskytuje seznam doporučení určených pro vaši nasazenou serverovou infrastrukturu. Doporučení jsou rozdělená do šesti oblastí zájmu, které vám pomůžou rychle porozumět riziku a provést nápravnou akci.
Uvedená doporučení vycházejí ze znalostí a zkušeností, které technici Microsoftu získali při návštěvách tisíců zákazníků. Každé doporučení obsahuje pokyny k tomu, proč by pro vás mohl být problém důležité a jak navrhované změny implementovat.
Můžete zvolit oblasti zaměření, které jsou pro vaši organizaci nejdůležitější, a sledovat pokrok směrem k provozování prostředí bez rizika a dobrého stavu.
Po přidání řešení a dokončení posouzení se souhrnné informace pro prioritní oblasti zobrazí na řídicím panelu Kontroly stavu SQL pro infrastrukturu ve vašem prostředí. Následující části popisují, jak používat informace na řídicím panelu Kontroly stavu SQL, kde můžete zobrazit a pak provést doporučené akce pro vaši infrastrukturu SQL Server.
Požadavky
Řešení kontroly stavu SQL vyžaduje, aby byla na každém počítači s nainstalovanou aplikací Microsoft Monitoring Agent (MMA) nainstalovaná podporovaná verze rozhraní .NET Framework 4.6.2. Agenta MMA používají System Center 2016 – Operations Manager, Operations Manager 2012 R2 a Azure Monitor.
Řešení podporuje SQL Server verze 2012, 2014, 2016, 2017 a 2019.
Pracovní prostor služby Log Analytics pro přidání řešení kontroly stavu SQL z Azure Marketplace do Azure Portal. Abyste mohli řešení nainstalovat, musíte být správcem nebo přispěvatelem předplatného Azure.
Poznámka
Po přidání řešení se soubor AdvisorAssessment.exe přidá na servery s agenty. Konfigurační data se načtou a pak se odešlou ke zpracování do služby Azure Monitor v cloudu. Na přijatá data se aplikuje logika a cloudová služba data zaznamená.
K provedení kontroly stavu vašich serverů SQL Server vyžadují agenta a připojení ke službě Azure Monitor pomocí jedné z následujících podporovaných metod:
- Nainstalujte agenta Microsoft Monitoring Agent (MMA), pokud server ještě není monitorovaný nástrojem System Center 2016 – Operations Manager nebo Operations Managerem 2012 R2.
- Pokud se monitoruje pomocí nástroje System Center 2016 – Operations Manager nebo Operations Manager 2012 R2 a skupina pro správu není integrovaná se službou Azure Monitor, může být server s více adresami ve službě Log Analytics, aby shromažďoval data a předával je do služby, a přesto ho monitoruje Operations Manager.
- Pokud je vaše skupina pro správu Operations Manageru integrovaná se službou, musíte po povolení řešení v pracovním prostoru přidat řadiče domény pro shromažďování dat službou podle postupu v části Přidání počítačů spravovaných agentem .
Agent ve vašem SQL Server, který hlásí skupinu pro správu Operations Manageru, shromažďuje data, předává ho na přiřazený server pro správu a pak se odesílá přímo ze serveru pro správu do služby Azure Monitor. Data se nezapisují do databází nástroje Operations Manager.
Pokud SQL Server monitoruje Operations Manager, musíte nakonfigurovat účet Spustit jako nástroje Operations Manager. Další informace najdete níže v tématu Účty Spustit jako nástroje Operations Manager pro Azure Monitor .
Podrobnosti o shromažďování dat pro kontrolu stavu SQL
Kontrola stavu SQL shromažďuje data z následujících zdrojů pomocí agenta, kterého jste povolili:
- Windows Management Instrumentation (WMI)
- Registr
- Čítače výkonu
- SQL Server výsledků zobrazení dynamické správy
Data se shromažďují na SQL Server a každých sedm dní se předávají do Log Analytics.
Účty Operations Manager Spustit jako pro Log Analytics
Log Analytics používá ke shromažďování dat a odesílání dat do služby Log Analytics agenta Operations Manageru a jeho skupinu pro správu. Log Analytics staví na sadách Management Pack pro úlohy a poskytuje tak služby s přidanou hodnotou. Každá úloha vyžaduje oprávnění specifická pro konkrétní úlohy ke spouštění sad Management Pack v jiném kontextu zabezpečení, například v uživatelském účtu domény. Informace o přihlašovacích údaji potřebujete zadat konfigurací účtu Spustit jako nástroje Operations Manager.
Pomocí následujících informací můžete nastavit účet Spustit jako nástroje Operations Manager pro kontrolu stavu SQL.
Nastavení účtu Spustit jako pro kontrolu stavu SQL
Pokud už používáte sadu Management Pack SQL Server, měli byste použít tuto konfiguraci Spustit jako.
Konfigurace účtu SQL Spustit jako v konzole Operations Console
Poznámka
Ve výchozím nastavení se pracovní postupy v sadě Management Pack spouští v kontextu zabezpečení účtu místního systému. Pokud používáte agenta Microsoft Monitoring Agent připojený přímo ke službě a nehlásíte ho přímo do skupiny pro správu Operations Manageru, přeskočte kroky 1 až 5 níže a spusťte ukázku T-SQL nebo PowerShellu a jako uživatelské jméno zadejte NT AUTHORITY\SYSTEM.
V nástroji Operations Manager otevřete konzolu Operations Console a potom klikněte na Správa.
V části Konfigurace Spustit jako klikněte na Profily a otevřete profil Spustit jako služby SQL Assessment.
Na stránce Účty Spustit jako klikněte na tlačítko Přidat.
Vyberte účet Spustit jako systému Windows, který obsahuje přihlašovací údaje potřebné pro SQL Server, nebo klikněte na Nový a vytvořte si ho.
Poznámka
Typ účtu Spustit jako musí být Windows. Účet Spustit jako musí být také součástí místní skupiny Administrators na všech Windows Serverech, které hostují instance SQL Server.
Klikněte na Uložit.
Upravte a pak na každé instanci SQL Server spusťte následující ukázku jazyka T-SQL, abyste účtu Spustit jako udělili minimální oprávnění požadovaná k provedení kontroly stavu. Nemusíte to ale dělat, pokud je účet Spustit jako již součástí role serveru sysadmin na SQL Server instancích.
---
-- 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>];'
Konfigurace účtu Sql Spustit jako pomocí Windows PowerShell
Otevřete okno PowerShellu a po aktualizaci informací spusťte následující skript:
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
Principy určování priority doporučení
Každému provedenému doporučení se přidělí vážená hodnota, která identifikuje relativní důležitost doporučení. Zobrazí se jenom deset nejdůležitějších doporučení.
Způsob počítání vah
Váhy jsou agregované hodnoty založené na třech klíčových faktorech:
- Pravděpodobnost, že zjištěný problém způsobí problémy. Vyšší pravděpodobnost odpovídá většímu celkovému skóre doporučení.
- Dopad problému na vaši organizaci, pokud způsobí problém. Vyšší dopad odpovídá vyššímu celkovému skóre doporučení.
- Úsilí potřebné k implementaci doporučení Vyšší úsilí odpovídá nižšímu celkovému skóre doporučení.
Váha každého doporučení je vyjádřena jako procento z celkového skóre dostupného pro každou oblast zaměření. Pokud má například doporučení v oblasti zabezpečení a dodržování předpisů skóre 5 %, implementace tohoto doporučení zvýší celkové skóre zabezpečení a dodržování předpisů o 5 %.
Oblasti zaměření
Zabezpečení a dodržování předpisů – tato oblast obsahuje doporučení pro potenciální bezpečnostní hrozby a porušení zabezpečení, firemní zásady a technické, právní a zákonné požadavky na dodržování předpisů.
Dostupnost a provozní kontinuita – Tato oblast zájmu zobrazuje doporučení týkající se dostupnosti služeb, odolnosti infrastruktury a ochrany podniku.
Výkon a škálovatelnost – tato oblast se zaměřuje na doporučení, která vám pomůžou růst INFRASTRUKTURY IT vaší organizace, zajistit, aby vaše IT prostředí splňovalo aktuální požadavky na výkon a dokázalo reagovat na měnící se potřeby infrastruktury.
Upgrade, migrace a nasazení – tato oblast obsahuje doporučení, která vám pomůžou s upgradem, migrací a nasazením SQL Server do stávající infrastruktury.
Provoz a monitorování – Tato oblast se zaměřuje na doporučení, která vám pomůžou zjednodušit provoz IT, implementovat preventivní údržbu a maximalizovat výkon.
Správa změn a konfigurací – tato oblast obsahuje doporučení, která pomáhají chránit každodenní operace, zajistit, aby změny negativně neovlivnily vaši infrastrukturu, stanovit postupy řízení změn a sledovat a auditovat konfigurace systému.
Měli byste v každé oblasti zaměření cílit na skóre 100 %?
Ne nutně. Doporučení vycházejí ze znalostí a zkušeností, které získali technici Microsoftu v rámci tisíců návštěv zákazníků. Žádné dvě serverové infrastruktury ale nejsou stejné a konkrétní doporučení pro vás můžou být více nebo méně relevantní. Některá doporučení týkající se zabezpečení můžou být například méně relevantní, pokud vaše virtuální počítače nejsou přístupné z internetu. Některá doporučení k dostupnosti můžou být méně relevantní pro služby, které poskytují shromažďování dat a generování sestav ad hoc s nízkou prioritou. Problémy, které jsou důležité pro vyspělou firmu, můžou být pro začínající podniky méně důležité. Možná budete chtít zjistit, které oblasti zaměření jsou vaše priority, a pak se podívat, jak se vaše skóre mění v průběhu času.
Každé doporučení obsahuje pokyny k tomu, proč je důležité. Tyto pokyny byste měli použít k vyhodnocení, jestli je implementace doporučení pro vás vhodná vzhledem k povaze vašich IT služeb a obchodním potřebám vaší organizace.
Využití doporučení k oblastem zaměření kontroly stavu
Než budete moct použít řešení posouzení ve službě Azure Monitor, musíte mít řešení nainstalované. Po instalaci můžete zobrazit souhrn doporučení pomocí dlaždice Kontrola stavu SQL na stránce Přehled služby Azure Monitor v Azure Portal.
Podívejte se na souhrnná posouzení dodržování předpisů pro vaši infrastrukturu a pak přejděte k podrobným doporučením.
Zobrazení doporučení pro oblast fokusu a provedení nápravných akcí
- Přihlaste se k webu Azure Portal na adrese https://portal.azure.com.
- Na webu Azure Portal klikněte v levém dolním rohu na Další služby. V seznamu prostředků zadejte Monitor. Seznam se průběžně filtruje podle zadávaného textu. Vyberte Monitor.
- V části Nabídky Přehledy vyberte Další.
- Na stránce Přehled klikněte na dlaždici Kontrola stavu SQL .
- Na stránce Kontrola stavu zkontrolujte souhrnné informace v jedné části oblasti fokusu a kliknutím na některou z nich zobrazte doporučení pro danou oblast.
- Na libovolné stránce oblasti fokusu můžete zobrazit doporučení určená pro vaše prostředí podle priority. Kliknutím na doporučení v části Ovlivněné objekty zobrazíte podrobnosti o tom, proč doporučení bylo provedeno.
- Můžete provést nápravné akce navržené v části Navrhované akce. Po vyřešení položky se v pozdějších hodnoceních zaznamená, že byly provedeny doporučené akce a vaše skóre dodržování předpisů se zvýší. Opravené položky se zobrazí jako Předané objekty.
Ignorování doporučení
Pokud máte doporučení, která chcete ignorovat, můžete vytvořit textový soubor, pomocí kterého Azure Monitor zabrání tomu, aby se doporučení zobrazovala ve výsledcích posouzení.
Identifikace doporučení, která budete ignorovat
V nabídce Azure Monitoru klikněte na Protokoly.
Pomocí následujícího dotazu vypište doporučení, která selhala pro počítače ve vašem prostředí.
SQLAssessmentRecommendation | where RecommendationResult == "Failed" | sort by Computer asc | project Computer, RecommendationId, Recommendation
Tady je snímek obrazovky zobrazující dotaz na protokol:
Zvolte doporučení, která chcete ignorovat. Hodnoty pro RecommendationId použijete v dalším postupu.
Vytvoření a použití textového souboru IgnoreRecommendations.txt
- Vytvořte soubor s názvem IgnoreRecommendations.txt.
- Vložte nebo zadejte každé doporučení, které má Azure Monitor ignorovat, na samostatný řádek a pak soubor uložte a zavřete.
- Umístěte soubor do následující složky na každém počítači, na který má Azure Monitor doporučení ignorovat.
- Na počítačích s agentem Microsoft Monitoring Agent (připojeným přímo nebo přes Operations Manager) – SystemDrive:\Program Files\Microsoft Monitoring Agent\Agent
- Na serveru pro správu Operations Manageru – SystemDrive:\Program Files\Microsoft System Center 2012 R2\Operations Manager\Server
- Na serveru pro správu Operations Manageru 2016 – SystemDrive:\Program Files\Microsoft System Center 2016\Operations Manager\Server
Ověření ignorování doporučení
Po dalším naplánovaném spuštění posouzení se ve výchozím nastavení každých 7 dní zadaná doporučení označí jako Ignorovaná a nezobrazí se na řídicím panelu hodnocení.
K výpisu všech ignorovaných doporučení můžete použít následující dotazy prohledávání protokolů.
SQLAssessmentRecommendation | where RecommendationResult == "Ignored" | sort by Computer asc | project Computer, RecommendationId, Recommendation
Pokud se později rozhodnete, že se chcete zobrazovat ignorovaná doporučení, odeberte všechny soubory IgnoreRecommendations.txt nebo z nich můžete odebrat ID doporučení.
Nejčastější dotazy
Jaké kontroly provádí řešení SQL Assessment?
- Následující dotaz zobrazí popis všech aktuálně provedených kontrol:
SQLAssessmentRecommendation
| distinct RecommendationId, FocusArea, ActionArea, Recommendation, Description
| sort by FocusArea,ActionArea, Recommendation
Výsledky je pak možné exportovat do Excelu k další kontrole.
Jak často se kontrola stavu spouští?
- Kontrola se spouští každých sedm dní.
Existuje způsob, jak nakonfigurovat, jak často se má kontrola spouštět?
- V tuto chvíli to není možné.
Pokud se po přidání řešení kontroly stavu SQL zjistí jiný server, zkontroluje se to?
- Ano, jakmile se zjistí, kontroluje se od té doby každých sedm dní.
Pokud se server vyřadí z provozu, kdy se odebere z kontroly stavu?
- Pokud server neodesílá data po dobu 3 týdnů, odeberou se.
Jaký je název procesu shromažďování dat?
- AdvisorAssessment.exe
Jak dlouho trvá shromáždění dat?
- Skutečné shromažďování dat na serveru trvá přibližně 1 hodinu. Na serverech, které mají velký počet instancí nebo databází SQL, to může trvat déle.
Jaký typ dat se shromažďuje?
- Shromažďují se následující typy dat:
- Rozhraní WMI
- Registr
- Čítače výkonu
- Zobrazení dynamické správy SQL
Existuje způsob, jak nakonfigurovat, kdy se data shromažďují?
- V tuto chvíli to není možné.
Proč musím nakonfigurovat účet Spustit jako?
- Pro SQL Server se spouští malý počet dotazů SQL. Aby je bylo možné spustit, musí se použít účet Spustit jako s oprávněními ZOBRAZIT STAV SERVERU k SQL. Kromě toho se k dotazování rozhraní WMI vyžadují přihlašovací údaje místního správce.
Proč zobrazovat jenom prvních 10 doporučení?
- Místo toho, abyste měli vyčerpávající seznam úkolů, doporučujeme zaměřit se nejprve na řešení doporučení s danou prioritou. Jakmile je vyřešíte, budou k dispozici další doporučení. Pokud dáváte přednost zobrazení podrobného seznamu, můžete zobrazit všechna doporučení pomocí prohledávání protokolů Log Analytics.
Existuje způsob, jak doporučení ignorovat?
- Ano, viz část Ignorování doporučení výše.
Další kroky
- Protokolujte dotazy, abyste zjistili, jak analyzovat podrobná data kontroly stavu SQL a doporučení.