Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Managed Instance
Az SQL Assessment API egy olyan mechanizmust biztosít, amely kiértékeli az SQL Server konfigurációját az ajánlott eljárásokhoz. Az API egy olyan szabálykészlettel érkezik, amely a SQL Server csapata által javasolt legjobb gyakorlati szabályokat tartalmazza. Ezt a szabálykészletet az új verziók megjelenésével fejlesztik, de ugyanakkor az API úgy van kialakítva, hogy rendkívül testreszabható és bővíthető megoldást biztosítson. A felhasználók finomhangolhatják az alapértelmezett szabályokat, és létrehozhatják sajátjukat.
Az SQL Assessment API akkor hasznos, ha meg szeretné győződni arról, hogy az SQL Server konfigurációja összhangban van az ajánlott ajánlott eljárásokkal. A kezdeti értékelés után a konfiguráció stabilitása rendszeresen ütemezett értékelésekkel nyomon követhető.
Az API a következők kiértékelésére használható:
- SQL Server az Azure Virtual Machines szolgáltatásban
- Azure SQL Managed Instance
- SQL Server 2012 és újabb
- SQL Server Linux-alapú rendszereken és tárolókon
Megjegyzés:
Az SQL Assessment API számos területen nyújt értékelést, de nem foglalkozik mélyen a biztonsággal. Az SQL Server sebezhetőségi felmérésével proaktívan javíthatja az adatbázis biztonságát.
Szabályok
A szabályok (más néven ellenőrzések) JSON formátumú fájlokban vannak definiálva. A szabálykészlet formátumához szabálykészlet nevét és verzióját kell megadni. Ha egyedi szabálykészleteket használsz, könnyen tudhatod, melyik szabálykészletből mely ajánlások érkeznek.
A Microsoft kiszállított szabálykészlete elérhető a GitHubon. A teljes szabálykészletet megtekintheti a mintaadattárban.
SQL Assessment-parancsmagok és társított bővítmények
Az API közvetlen használata
Az SQL Assessment API elérhető, és felügyelt kódon keresztül használható az alábbi összetevők bármelyikének részeként:
- SQL Server Management Objects (SMO) ( 2019. júliusi és újabb kiadási verzió)
- SQL Server PowerShell-modul (2019. júliusi és újabb verzió)
Mielőtt elkezdené használni magát az SQL Assessment API-t, telepítse a következők valamelyikét:
Az SMO-keretrendszert az SQL Assessment API-bővítmény egészíti ki, amely a következő módszereket biztosítja:
-
GetAssessmentItems: Egy adott SQL-objektum elérhető ellenőrzését adja vissza (IEnumerable<...>) -
GetAssessmentResults: Szinkron módon értékeli ki az értékelést, és az eredményeket és a hibákat adja vissza, ha vannak (IEnumerable<...>) -
GetAssessmentResultsList: Aszinkron módon kiértékeli az értékelést, és eredményeket és hibákat ad vissza, ha vannak (Task<...>)
Az API használata a PowerShell-lel
Ha meg szeretné hívni az SQL Assessment API-t a PowerShell-lel, telepítenie kell az SQL Server PowerShell-modult. A SqlServer modul két parancsmagot biztosít, amelyek az SQL Assessment API-val működnek:
-
Get-SqlAssessmentItem: Egy SQL Server-objektum elérhető értékelési ellenőrzéseinek listáját tartalmazza -
Invoke-SqlAssessment: Értékelés eredményeit adja meg
Az SQL Assessment-parancsmagok használatának első lépései
A rendszer kiértékelést végez egy kiválasztott SQL Server-objektumon. Az alapértelmezett szabályhalmazban csak kétféle objektumra van ellenőrzés: Server és Database (ezen kívül az API két további típust is támogat: Filegroup és AvailabilityGroup). Ha egy SQL Server-példányt és annak összes adatbázisát szeretné felmérni, minden objektumhoz külön kell futtatnia az SQL Assessment-parancsmagokat. Vagy átadhatja az értékeléshez szükséges objektumokat egy változó vagy folyamat SQL Assessment-parancsmagjainak.
SqlServer és RegisteredServer az objektumok felcserélhetők, így bármelyiket átadhatja az SQL Assessment-parancsmagoknak.
Első lépésként tekintse át az alábbi példákat.
Lekérheti az elérhető ellenőrzések listáját egy helyi alapértelmezett példányhoz, hogy megismerkedjen az ellenőrzésekkel. Ebben a példában a
Get-SqlInstanceparancsmag kimenetét aGet-SqlAssessmentItemparancsmagnak továbbítjuk, hogy átadjuk neki a példányobjektumot.Get-SqlInstance -ServerInstance 'localhost' | Get-SqlAssessmentItemLekérheti a példány összes adatbázisához elérhető ellenőrzések listáját. Itt a parancsmagot és a
Get-ItemWindows PowerShell SQL Server szolgáltatóval implementált elérési utat használjuk az adatbázisok listájának lekéréséhez, majd aGet-SqlDatabaseparancsmaghoz való pipáláshoz.Get-Item SQLSERVER:\SQL\localhost\default | Get-SqlAssessmentItemA parancsmaggal
Get-SqlDatabaseis ugyanezt teheti.Get-SqlDatabase -ServerInstance 'localhost' | Get-SqlAssessmentItemHívja meg a példány értékelését, és mentse az eredményeket egy SQL Server-táblába. Ebben a példában a
Get-SqlInstanceparancsmag kimenetét aInvoke-SqlAssessmentparancsmag felé továbbítjuk, az így kapott eredményeket pedig aWrite-SqlTableDataparancsmag felé. AInvoke-Assessmentparancsmag a példában szereplő-FlattenOutputparaméterrel fut. Ez a paraméter alkalmassá teszi a kimenetet aWrite-SqlTableDataparancsmag számára. Az utóbbi hibát jelez, ha kihagyja a paramétert.Get-SqlInstance -ServerInstance 'localhost' | Invoke-SqlAssessment -FlattenOutput | Write-SqlTableData -ServerInstance 'localhost' -DatabaseName SQLAssessmentDemo -SchemaName Assessment -TableName Results -ForceMost hívjuk meg a példány összes adatbázisának értékelését, és adjunk hozzá az eredményeket ugyanahhoz a táblához.
Get-SqlDatabase -ServerInstance 'localhost' | Invoke-SqlAssessment -FlattenOutput | Write-SqlTableData -ServerInstance 'localhost' -DatabaseName SQLAssessmentDemo -SchemaName Assessment -TableName Results -ForceA javaslatok további megértéséhez kövesse a táblázatban szereplő leírásokat és hivatkozásokat.
Szabja testre a szabályokat a környezet és a szervezeti követelmények alapján (lásd alább).
Ütemezzen egy feladatot vagy munkát az értékelés rendszeres vagy igény szerinti futtatásához a haladás nyomon követéséhez.
Szabályok testreszabása
A szabályok testreszabhatók és bővíthetőek. A Microsoft szabálykészlete a legtöbb környezethez úgy van tervezve. Azonban lehetetlen, hogy minden egyes környezethez egyetlen szabálykészlet működjön. A felhasználók saját JSON-fájlokat írhatnak, és testre szabhatják a meglévő szabályokat, vagy újakat adhatnak hozzá. A testreszabás és a teljes Microsoft által kiadott szabálykészlet példái elérhetők a mintatárban. Az SQL Assessment-parancsmagok egyéni JSON-fájlokkal való futtatásával kapcsolatos további részletekért használja a Get-Help parancsmagot.
A szabály testreszabási funkciójával elérhető beállítások
Bizonyos szabályok vagy szabálycsoportok engedélyezése/letiltása (címkék használatával)
Elnémíthat bizonyos szabályokat, ha azok nem vonatkoznak a környezetére, vagy amíg az ütemezett munkát el nem végzik a probléma elhárítására.
Küszöbérték paramétereinek módosítása
Az egyes szabályok küszöbértékei egy metrika aktuális értékével összehasonlítva derítik ki a problémát. Ha az alapértelmezett küszöbértékek nem férnek el, módosíthatja őket.
További, Ön vagy harmadik felek által írt szabályok hozzáadása
A szabálykészletek kombinálásához adjon hozzá egy vagy több JSON-fájlt paraméterként az SQL Assessment API-híváshoz. Előfordulhat, hogy a szervezet megírja ezeket a fájlokat, vagy harmadik féltől szerzi be őket. Például lehet egy JSON fájlod, amely letiltja a Microsoft szabálykészletéből származó bizonyos szabályokat, és egy másik iparági szakértő által készített JSON fájlt, amely olyan szabályokat tartalmaz, amelyeket hasznosnak találsz a környezetedben, majd egy másik JSON fájl, amely megváltoztatja a JSON fájl küszöbértékeit abban a JSON fájlban.
Fontos
Javasoljuk, hogy ne használjon nem megbízható forrásokból származó szabálykészleteket, amíg alaposan át nem vizsgálja őket, hogy biztosan biztonságban legyenek.