Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
              Gäller för: SQL Server 2012 (11.x) och senare 
Azure SQL Managed Instance
 SQL Server på Azure Virtual Machines 
 SQL Server i Linux
SQL Assessment-API:et tillhandahåller en mekanism för att utvärdera konfigurationen av DIN SQL Server för bästa praxis. API:et levereras med en regeluppsättning som innehåller regelverk som föreslås av SQL Server-teamet. Den här regeluppsättningen har förbättrats med lanseringen av nya versioner, men samtidigt är API:et skapat för att ge en mycket anpassningsbar och utökningsbar lösning. Användare kan justera standardreglerna och skapa sina egna.
SQL Assessment API är användbart när du vill se till att SQL Server-konfigurationen är i linje med rekommenderade metodtips. Efter en första utvärdering kan konfigurationsstabilitet spåras av regelbundet schemalagda utvärderingar.
API:et kan användas för att utvärdera:
- SQL Server på Azure Virtual Machines
 - Hanterad instans i Azure SQL
 - SQL Server 2012 och senare
 - SQL Server på Linux-baserade system och containrar
 
Anmärkning
SQL-utvärderings-API:et tillhandahåller utvärdering på en mängd olika områden, men det går inte så långt in i säkerheten. Vi rekommenderar att du använder sårbarhetsbedömningen för SQL Server för att proaktivt förbättra databassäkerheten.
Reglemente
Regler (kallas ibland kontroller) definieras i JSON-formaterade filer. Regeluppsättningsformatet kräver att ett regeluppsättningsnamn och en version anges. När du använder anpassade regeluppsättningar kan du enkelt veta vilka rekommendationer från vilken regeluppsättning som kommer.
Microsofts levererade regeluppsättning är tillgänglig på GitHub. Du kan visa hela regeluppsättningen på lagringsplatsen exempel.
SQL Assessment-cmdletar och associerade tillägg
Använda API:et direkt
SQL Assessment API är tillgängligt och kan användas via hanterad kod som en del av någon av dessa komponenter:
- SQL Server Management Objects (SMO) ( versionsversion från juli 2019 och senare)
 - SQL Server PowerShell-modul ( versionsversion från juli 2019 och senare)
 
Innan du börjar använda själva SQL Assessment-API:et måste du installera något av följande:
SMO Framework kompletteras med SQL Assessment API-tillägget som tillhandahåller följande metoder:
- 
              
GetAssessmentItems: Returnerar tillgängliga kontroller för ett visst SQL-objekt (IEnumerable<...>) - 
              
GetAssessmentResults: Utvärderar synkront utvärdering och returnerar resultat och eventuella fel (IEnumerable<...>) - 
              
GetAssessmentResultsList: Utvärderar asynkront utvärdering och returnerar eventuella resultat och fel (Task<...>) 
Använda API:et via PowerShell
Om du vill anropa SQL Assessment API via PowerShell måste du installera SQL Server PowerShell-modulen. Modulen SqlServer innehåller två cmdletar som fungerar med SQL Assessment API:
- 
              
Get-SqlAssessmentItem: Innehåller en lista över tillgängliga utvärderingskontroller för ett SQL Server-objekt - 
              
Invoke-SqlAssessment: Ger resultat av en utvärdering 
Kom igång med SQL Assessment-cmdlets
En utvärdering utförs mot ett valt SQL Server-objekt. I standardregeluppsättningen finns det endast kontroller för två typer av objekt: Server och Database (förutom dem stöder API:et ytterligare två typer: Filegroup och AvailabilityGroup). Om du vill utvärdera en SQL Server-instans och alla dess databaser bör du köra SQL Assessment-cmdletarna för varje objekt separat. Eller så kan du skicka objekt för utvärdering till SQL Assessment-cmdletar i en variabel eller pipeline.
              SqlServer och RegisteredServer objekt är utbytbara, så du kan skicka alla till SQL Assessment-cmdletarna.
Gå igenom följande exempel för att komma igång.
Hämta en lista över tillgängliga kontroller för en lokal standardinstans för att bekanta dig med kontrollerna. I det här exemplet skickar vi utdata från cmdleten
Get-SqlInstancetill cmdletenGet-SqlAssessmentItemför att skicka instansobjektet till det.Get-SqlInstance -ServerInstance 'localhost' | Get-SqlAssessmentItemHämta en lista över tillgängliga kontroller för alla databaser i instansen. Här använder vi cmdleten
Get-Itemoch en sökväg som implementerats med Windows PowerShell SQL Server-providern för att hämta en lista över databaserna och sedan skicka den till cmdletenGet-SqlDatabase.Get-Item SQLSERVER:\SQL\localhost\default | Get-SqlAssessmentItemDu kan också använda cmdleten
Get-SqlDatabaseför att göra samma sak.Get-SqlDatabase -ServerInstance 'localhost' | Get-SqlAssessmentItemAnropa utvärderingen för instansen och spara resultatet i en SQL Server-tabell. I det här exemplet dirigerar vi utdata från cmdleten
Get-SqlInstancetill cmdletenInvoke-SqlAssessment, som resultaten skickas till cmdletenWrite-SqlTableData. CmdletenInvoke-Assessmentkörs med parametern-FlattenOutputi det här exemplet. Den här parametern gör utdata lämpliga för cmdletenWrite-SqlTableData. Det senare genererar ett fel om du utelämnar parametern.Get-SqlInstance -ServerInstance 'localhost' | Invoke-SqlAssessment -FlattenOutput | Write-SqlTableData -ServerInstance 'localhost' -DatabaseName SQLAssessmentDemo -SchemaName Assessment -TableName Results -ForceNu ska vi anropa en utvärdering för alla databaser i instansen och lägga till resultaten i samma tabell.
Get-SqlDatabase -ServerInstance 'localhost' | Invoke-SqlAssessment -FlattenOutput | Write-SqlTableData -ServerInstance 'localhost' -DatabaseName SQLAssessmentDemo -SchemaName Assessment -TableName Results -ForceFölj beskrivningar och länkar i tabellen för att ytterligare förstå rekommendationerna.
Anpassa reglerna baserat på din miljö och organisationens krav (se nedan).
Schemalägg en uppgift eller ett jobb för att köra utvärderingen regelbundet eller på begäran för att mäta förloppet.
Anpassa regler
Reglerna är utformade för att vara anpassningsbara och utökningsbara. Microsofts regeluppsättning är utformad för att fungera för de flesta miljöer. Det är dock omöjligt att ha en regeluppsättning som fungerar för varje enskild miljö. Användare kan skriva egna JSON-filer och anpassa befintliga regler eller lägga till nya. Exempel på anpassning och fullständig Microsoft-utgiven regeluppsättning finns på exempellagringsplatsen. Mer information om hur du kör SQL Assessment-cmdletar med anpassade JSON-filer finns i cmdleten Get-Help .
Tillgängliga alternativ med funktionen för regelanpassning
Aktivera/inaktivera vissa regler eller grupper av regler (med taggar)
Du kan tysta specifika regler när de inte tillämpas på din miljö eller tills schemalagt arbete har utförts för att åtgärda problemet.
Ändra tröskelvärdesparametrar
Specifika regler har tröskelvärden som jämförs med det aktuella värdet för ett mått för att ta reda på ett problem. Om standardtrösklarna inte passar kan du ändra dem.
Lägg till fler regler skrivna av dig eller tredje part
Du kan kombinera regeluppsättningar genom att lägga till en eller flera JSON-filer som parametrar i DITT SQL Assessment API-anrop. Din organisation kan skriva dessa filer eller hämta dem från en tredje part. Du kan till exempel ha din JSON-fil som inaktiverar specifika regler från Microsoft-regeluppsättningen och en annan JSON-fil av en branschexpert som innehåller regler som du tycker är användbara för din miljö, följt av en annan JSON-fil som ändrar vissa tröskelvärden i JSON-filen.
Viktigt!
Vi uppmanar dig att inte använda regeluppsättningar som kommer från ej betrodda källor förrän du granskar dem noggrant för att se till att de är säkra.