Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
azure SQL Managed Instance
Rozhraní SQL Assessment API poskytuje mechanismus pro vyhodnocení konfigurace SQL Serveru pro osvědčené postupy. Rozhraní API se dodává se sadou pravidel obsahující pravidla osvědčených postupů navržená týmem SQL Serveru. Tato sada pravidel je rozšířená o vydání nových verzí, ale současně je rozhraní API sestavené tak, aby poskytovalo vysoce přizpůsobitelné a rozšiřitelné řešení. Uživatelé můžou vyladit výchozí pravidla a vytvořit si vlastní pravidla.
Rozhraní SQL Assessment API je užitečné, když chcete zajistit, aby konfigurace SQL Serveru byla v souladu s doporučenými osvědčenými postupy. Po počátečním posouzení je možné stabilitu konfigurace sledovat pravidelně naplánovanými posouzeními.
Rozhraní API se dá použít k vyhodnocení:
- SQL Server na Azure Virtual Machines
- Azure SQL Managed Instance
- SQL Server 2012 a novější
- SQL Server v linuxových systémech a kontejnerech
Poznámka:
Rozhraní SQL Assessment API poskytuje posouzení v různých oblastech, ale nezabíjeje se hlouběji do zabezpečení. Pomocí posouzení ohrožení zabezpečení pro SQL Server můžete proaktivně zlepšit zabezpečení databáze.
Pravidla
Pravidla (někdy označovaná jako kontroly) se definují ve formátovaných souborech JSON. Formát sady pravidel vyžaduje zadání názvu sady pravidel a verze. Když používáte vlastní sady pravidel, můžete snadno zjistit, která doporučení z jaké sady pravidel pocházejí.
Sada pravidel odeslaných společností Microsoft je k dispozici na GitHubu. Můžete zobrazit celou sadu pravidel v úložišti ukázek .
Rutiny SQL Assessment a přidružená rozšíření
Přímé použití rozhraní API
Rozhraní SQL Assessment API je k dispozici a dá se použít prostřednictvím spravovaného kódu jako součást některé z těchto komponent:
- Objekty SMO (SQL Server Management Objects) ( verze vydaná od července 2019 a novější)
- Modul SQL Server PowerShell (verze vydaná od července 2019 a novější)
Než začnete používat samotné rozhraní SQL Assessment API, nezapomeňte nainstalovat některou z těchto možností:
SMO Framework je doplněn rozšířením rozhraní SQL Assessment API, které poskytuje následující metody:
-
GetAssessmentItems: Vrátí dostupné kontroly pro konkrétní objekt SQL (IEnumerable<...>) -
GetAssessmentResults: Synchronně vyhodnocuje hodnocení a vrací výsledky a chyby, pokud nějaké (IEnumerable<...>) -
GetAssessmentResultsList: Asynchronně vyhodnocuje hodnocení a vrací výsledky a chyby, pokud existuje (Task<...>)
Použití rozhraní API přes PowerShell
Pokud chcete vyvolat rozhraní SQL Assessment API prostřednictvím PowerShellu, musíte nainstalovat modul SQL Server PowerShell. Modul SqlServer poskytuje dvě rutiny, které pracují s rozhraním SQL Assessment API:
-
Get-SqlAssessmentItem: Poskytuje seznam dostupných kontrol posouzení pro objekt SQL Serveru. -
Invoke-SqlAssessment: Poskytuje výsledky posouzení.
Začínáme používat rutiny SQL Assessment
Posouzení se provádí u vybraného objektu SQL Serveru. Ve výchozí sadě pravidel existují pouze kontroly dvou typů objektů: Server a Database (kromě nich rozhraní API podporuje dva další druhy: Filegroup a AvailabilityGroup). Pokud chcete posoudit instanci SQL Serveru a všechny její databáze, měli byste pro každý objekt spustit cmdlety SQL Assessment zvlášť. Nebo můžete předat objekty pro posouzení rutinám SQL Assessment v proměnné nebo potrubí.
SqlServer a RegisteredServer objekty jsou zaměnitelné, takže můžete předat jakýkoli z nich příkazu cmdlets SQL Assessment.
Začněte tím, že si projdete následující příklady.
Získejte seznam dostupných kontrol pro místní výchozí instanci, abyste se seznámili s kontrolami. V tomto příkladu předáváme výstup rutiny
Get-SqlInstancedo rutinyGet-SqlAssessmentItem, abychom jí předali objekt instance.Get-SqlInstance -ServerInstance 'localhost' | Get-SqlAssessmentItemZískejte seznam dostupných kontrol pro všechny databáze instance. Tady používáme rutinu
Get-Itema cestu implementovanou pomocí zprostředkovatele Windows PowerShellu pro SQL Server, abychom získali seznam databází, a potom ho přenášíme do rutinyGet-SqlDatabase.Get-Item SQLSERVER:\SQL\localhost\default | Get-SqlAssessmentItemStejnou akci můžete také provést pomocí rutiny
Get-SqlDatabase.Get-SqlDatabase -ServerInstance 'localhost' | Get-SqlAssessmentItemVyvolání posouzení instance a uložení výsledků do tabulky SQL Serveru. V tomto příkladu směrujeme výstup rutiny
Get-SqlInstancedo rutinyInvoke-SqlAssessment, jejichž výsledky jsou předány rutiněWrite-SqlTableData. CmdletInvoke-Assessmentje v tomto příkladu spuštěn s parametrem-FlattenOutput. Tento parametr způsobí, že výstup bude vhodný pro cmdletWrite-SqlTableData. Druhá vyvolá chybu, pokud parametr vynecháte.Get-SqlInstance -ServerInstance 'localhost' | Invoke-SqlAssessment -FlattenOutput | Write-SqlTableData -ServerInstance 'localhost' -DatabaseName SQLAssessmentDemo -SchemaName Assessment -TableName Results -ForceTeď vyvoláme posouzení pro všechny databáze instance a přidáme výsledky do stejné tabulky.
Get-SqlDatabase -ServerInstance 'localhost' | Invoke-SqlAssessment -FlattenOutput | Write-SqlTableData -ServerInstance 'localhost' -DatabaseName SQLAssessmentDemo -SchemaName Assessment -TableName Results -ForcePostupujte podle popisů a odkazů v tabulce a seznamte se s doporučeními.
Upravte pravidla na základě vašich požadavků na prostředí a organizaci (viz níže).
Naplánujte úkol nebo práci, která bude spouštět hodnocení pravidelně nebo na vyžádání, aby se změřil pokrok.
Přizpůsobení pravidel
Pravidla jsou navržená tak, aby byla přizpůsobitelná a rozšiřitelná. Sada pravidel Microsoftu je navržená tak, aby fungovala pro většinu prostředí. Není však možné mít jednu sadu pravidel, která funguje pro každé jedno prostředí. Uživatelé můžou psát vlastní soubory JSON a přizpůsobovat stávající pravidla nebo přidávat nové. Příklady přizpůsobení a kompletní sady pravidel vydaných Microsoftem jsou k dispozici v úložišti ukázek. Další podrobnosti o tom, jak spouštět rutiny SQL Assessment s vlastními soubory JSON, najdete v této cmdletu Get-Help.
Možnosti dostupné s funkcí přizpůsobení pravidla
Povolení nebo zakázání určitých pravidel nebo skupin pravidel (pomocí značek)
Konkrétní pravidla můžete umlčet, když se pro vaše prostředí nepoužijí, nebo dokud se nedokončí naplánovaná práce, která problém opraví.
Změna parametrů prahové hodnoty
Konkrétní pravidla mají prahové hodnoty, které se porovnávají s aktuální hodnotou metriky, aby bylo možné zjistit problém. Pokud se výchozí prahové hodnoty nevejdou, můžete je změnit.
Přidání dalších pravidel psaných vámi nebo třetími stranami
Sady pravidel můžete kombinovat přidáním jednoho nebo více souborů JSON jako parametrů do volání rozhraní SQL Assessment API. Vaše organizace může tyto soubory napsat nebo je získat od třetí strany. Můžete mít například soubor JSON, který zakáže konkrétní pravidla ze sady pravidel Microsoftu, a další soubor JSON odborníkem v oboru, který obsahuje pravidla, která jsou užitečná pro vaše prostředí, následovaný jiným souborem JSON, který změní určité prahové hodnoty v daném souboru JSON.
Důležité
Žádáme vás, abyste nepoužívali sady pravidel, které pocházejí z nedůvěryhodných zdrojů, dokud je důkladně nekontrolujete, abyste se ujistili, že jsou bezpečné.