Invoke-SqlAssessment

Exécute les meilleures pratiques d’évaluation SQL vérifie un objet SQL Server choisi et retourne ses résultats.

Syntax

Invoke-SqlAssessment
      [-Check <Object[]>]
      [[-InputObject] <PSObject>]
      [-Configuration <PSObject>]
      [-MinSeverity <SeverityLevel>]
      [-FlattenOutput]
      [<CommonParameters>]

Description

L’applet de commande Invoke-SqlAssessment exécute une évaluation pour chaque objet d’entrée et retourne une liste de recommandations de bonnes pratiques qui doivent être appliquées aux objets spécifiés. C’est à vous de suivre les recommandations données ou non. Pour plus d’informations, consultez Vue d’ensemble de l’API d’évaluation SQL.

Cette applet de commande accepte les types d’entrée suivants :

  • Microsoft.SqlServer.Management.Smo.Server
  • Microsoft.SqlServer.Management.Smo.Database
  • Microsoft.SqlServer.Management.Smo.AvailabilityGroup
  • Microsoft.SqlServer.Management.Smo.FileGroup
  • Microsoft.SqlServer.Management.Smo.RegisteredServers.RegisteredServer
  • Chaîne contenant le chemin d’accès à n’importe quel objet des types ci-dessus
  • Collection d’objets

Vous pouvez obtenir des objets d’entrée avec des applets de commande SqlServer telles que Get-SqlInstance et Get-SqlDatabase ou des applets de commande PowerShell de base comme Get-Item et Get-ChildItem. En outre, l’applet de commande prend en charge le fournisseur PowerShell SQL Server, ce qui lui permet d’obtenir un objet à partir de son chemin d’accès. Le chemin d’accès peut être transmis explicitement, sinon le chemin d’accès actuel sera utilisé.

La disponibilité d’un case activée pour un objet choisi varie selon la version, la plateforme et le type d’objet SQL Server. En outre, il existe des vérifications qui ciblent des bases de données spécifiques telles tempdb que ou master. Vous pouvez également filtrer les vérifications par balises, noms et gravité avec les paramètres -MinSeverity et -Check.

Vous pouvez obtenir la liste des vérifications applicables à l’objet SQL Server donné avec l’applet de commande Get-SqlAssessmentItem.

L’applet de commande exécute uniquement les vérifications applicables à un objet d’entrée. Par exemple, les vérifications de base de données ne sont pas exécutées pour un SQL Server instance ou un groupe de disponibilité, même si elles sont spécifiées dans -Check list.

Les configurations personnalisées peuvent être appliquées avec le paramètre -Configuration. Des exemples de personnalisation sont disponibles sur Github.

REMARQUE. Dans la première préversion publique , Invoke-SqlAssessment a renvoyé des objets AssessmentNote avec les propriétés CheckId et CheckName contenant respectivement l’ID et le DisplayName de Check. Dans la deuxième préversion publique, les deux propriétés ont été remplacées par une seule propriété Check fournissant beaucoup plus de données. En supposant que $note était un objet retourné par Invoke-SqlAssessment, vous pouvez accéder à l’ID de case activée en tant que $note.Check.Id au lieu de $note. CheckId ou description de case activée en tant que $note. Check.Description. Vous pouvez utiliser le paramètre -FlattenOutput pour obtenir des résultats au format précédent avec CheckId et CheckName. Ce paramètre permet également de conserver la compatibilité avec certaines applets de commande telles que Write-SqlTableData. Pour plus d’informations, consultez les exemples 12 à 14.

La sortie de l’applet de commande Invoke-SqlAssessment est une liste des meilleures pratiques pour chaque objet SQL Server donné. Utilisez la propriété Description pour en savoir plus sur la meilleure pratique et la propriété Message pour savoir comment les résoudre. En outre, chaque résultat case activée contient un lien vers la documentation en ligne, ce qui vous aidera à mieux comprendre le problème.

SQL Server sur la prise en charge des machines virtuelles Azure

Avec les applets de commande SQL Assessment, vous pouvez évaluer un instance de SQL Server sur une machine virtuelle Azure non seulement en tant que SQL Server locale, mais également avec des règles spécifiques à SQL Server sur une machine virtuelle Azure (celles qui utilisent des informations sur la configuration de la machine virtuelle). Par exemple, la règle AzSqlVmSize vérifie que la machine virtuelle qui héberge une instance de SQL Server sur une machine virtuelle Azure est de taille recommandée.

Pour utiliser ces règles, connectez-vous à Azure avec Azure PowerShell Module et vérifiez que le module Az.ResourceGraph est installé.

Connectez-vous avec Azure PowerShell avant d’appeler l’évaluation SQL auprès d’un SQL Server sur un instance de machine virtuelle Azure. L’exemple 16 montre le processus de connexion interactif et la sélection de l’abonnement.

REMARQUE. Il est possible d’utiliser la connexion de compte Azure persistante entre les sessions PowerShell, c’est-à-dire appeler Connect-AzAccount dans une session et omettre cette commande ultérieurement. Toutefois, la version actuelle des applets de commande SQL Assessment nécessite l’importation explicite du module Az.ResourceGraph dans ce cas : Import-Module Az.ResourceGraph

Exemples

Exemple 1 : Appeler l’évaluation pour les instance par défaut locales

PS:> Get-SqlInstance -ServerInstance localhost | Invoke-SqlAssessment

   TargetPath : Server[@Name='LOCAL']

Sev. Message                                                            Check ID              Origin               
---- -------                                                            --------              ------               
Info Enable trace flag 834 to use large-page allocations to improve     TF834                 Microsoft Ruleset 0.1.202
     analytical and data warehousing workloads.                                                                         
Low  Detected deprecated or discontinued feature uses: String literals  DeprecatedFeatures    Microsoft Ruleset 0.1.202
     as column aliases, syscolumns, sysusers, SET FMTONLY ON, XP_API,                                                   
     Table hint without WITH, More than two-part column name. We                                                        
     recommend to replace them with features actual for SQL Server                                                      
     version 14.0.1000.                                                                                      
Medi Amount of single use plans in cache is high (100%). Consider       PlansUseRatio         Microsoft Ruleset 0.1.202
     enabling the Optimize for ad hoc workloads setting on heavy OLTP                                                   
     ad-hoc workloads to conserve resources.
...

Cet exemple montre comment obtenir toutes les recommandations relatives aux bonnes pratiques pour le instance par défaut de SQL Server s’exécutant sur l’ordinateur actuel.

Exemple 2 : Appeler l’évaluation avec l’applet de commande PSProvider

PS:> Get-Item SQLSERVER:\SQL\localhost\default | Invoke-SqlAssessment

   TargetPath : Server[@Name='LOCAL']

Sev. Message                                                            Check ID              Origin               
---- -------                                                            --------              ------               
Info Enable trace flag 834 to use large-page allocations to improve     TF834                 Microsoft Ruleset 0.1.202
     analytical and data warehousing workloads.                                                                         
Low  Detected deprecated or discontinued feature uses: String literals  DeprecatedFeatures    Microsoft Ruleset 0.1.202
     as column aliases, syscolumns, sysusers, SET FMTONLY ON, XP_API,                                                   
     Table hint without WITH, More than two-part column name. We                                                        
     recommend to replace them with features actual for SQL Server                                                      
     version 14.0.1000.                                                                                      
Medi Amount of single use plans in cache is high (100%). Consider       PlansUseRatio         Microsoft Ruleset 0.1.202
     enabling the Optimize for ad hoc workloads setting on heavy OLTP                                                   
     ad-hoc workloads to conserve resources.
...

Cet exemple montre comment obtenir toutes les recommandations relatives aux bonnes pratiques pour le instance par défaut de SQL Server.

Exemple 3 : Appeler l’évaluation avec le chemin du fournisseur PS

PS:> Invoke-SqlAssessment SQLSERVER:\SQL\localhost\default

TargetPath : Server[@Name='LOCAL']

Sev. Message                                                            Check ID              Origin               
---- -------                                                            --------              ------               
Info Enable trace flag 834 to use large-page allocations to improve     TF834                 Microsoft Ruleset 0.1.202
     analytical and data warehousing workloads.                                                                         
Low  Detected deprecated or discontinued feature uses: String literals  DeprecatedFeatures    Microsoft Ruleset 0.1.202
     as column aliases, syscolumns, sysusers, SET FMTONLY ON, XP_API,                                                   
     Table hint without WITH, More than two-part column name. We                                                        
     recommend to replace them with features actual for SQL Server                                                      
     version 14.0.1000.                                                                                      
Medi Amount of single use plans in cache is high (100%). Consider       PlansUseRatio         Microsoft Ruleset 0.1.202
     enabling the Optimize for ad hoc workloads setting on heavy OLTP                                                   
     ad-hoc workloads to conserve resources.
...

Cet exemple montre comment obtenir toutes les recommandations relatives aux bonnes pratiques pour le instance par défaut de SQL Server.

Exemple 4 : Appeler l’évaluation avec une configuration personnalisée

PS:> Get-SqlInstance -ServerInstance '(local)' | Invoke-SqlAssessment -Configuration C:\profileA.json, C:\profileB.json

TargetPath : Server[@Name='LOCAL']

Sev. Message                                                            Check ID              Origin               
---- -------                                                            --------              ------               
Low  Detected deprecated or discontinued feature uses: String literals  DeprecatedFeatures    Microsoft Ruleset 0.1.202
     as column aliases, syscolumns, sysusers, SET FMTONLY ON, XP_API,                                                   
     Table hint without WITH, More than two-part column name. We                                                        
     recommend to replace them with features actual for SQL Server                                                      
     version 14.0.1000.
Medi A custom rule violation detected.                                  CustomRuleA           Profile A 1.0
...

Cet exemple montre comment appliquer une configuration personnalisée pour obtenir un ensemble modifié de recommandations relatives aux meilleures pratiques. Les configurations personnalisées sont décrites dans les fichiers JSON. Les ensembles de règles personnalisés profileA.json et profileB.json ont désactivé certaines vérifications et en ont introduit de nouvelles. L’une des nouvelles vérifications de profileA.json a détecté un problème avec la configuration actuelle du SQL Server instance. Visitez le dossier d’exemples d’évaluation SQL sur Github pour savoir comment effectuer la personnalisation.

Exemple 5 : Appeler l’évaluation pour toutes les instances

PS:> dir SQLSERVER:\SQL\localhost | Invoke-SqlAssessment

    TargetPath : Server[@Name='LOCAL']

Sev. Message                                                            Check ID              Origin               
---- -------                                                            --------              ------               
Info Enable trace flag 834 to use large-page allocations to improve     TF834                 Microsoft Ruleset 0.1.202
     analytical and data warehousing workloads.                                                                         
Low  Detected deprecated or discontinued feature uses: String literals  DeprecatedFeatures    Microsoft Ruleset 0.1.202
     as column aliases, syscolumns, sysusers, SET FMTONLY ON, XP_API,                                                   
     Table hint without WITH, More than two-part column name. We                                                        
     recommend to replace them with features actual for SQL Server                                                      
     version 14.0.1000.                                                                                      
Medi Amount of single use plans in cache is high (100%). Consider       PlansUseRatio         Microsoft Ruleset 0.1.202
     enabling the Optimize for ad hoc workloads setting on heavy OLTP                                                   
     ad-hoc workloads to conserve resources.

    TargetPath : Server[@Name='LOCAL\INSTANCE1']

Sev. Message                                                            Check ID              Origin               
---- -------                                                            --------              ------               
Medi Product version 14.0.1000 is not the latest available. Keep your   LatestCU              Microsoft Ruleset 0.1.202
     your SQL Server up to date and install Service Packs and
     Cumulative Updates as they are released.
...

Cet exemple montre que l’applet de commande Invoke-SqlAssessment accepte un ensemble d’instances SQL Server via le pipeline.

Exemple 6 : Exécuter une évaluation pour un ensemble filtré ot tragets

PS:> Get-SqlInstance -ServerInstance . | Where { $_.Name -Match '.*\d+' } | Invoke-SqlAssessment

    TargetPath : Server[@Name='LOCAL\INSTANCE1']

Sev. Message                                                            Check ID              Origin               
---- -------                                                            --------              ------               
Medi Product version 14.0.1000 is not the latest available. Keep your   LatestCU              Microsoft Ruleset 0.1.202
     your SQL Server up to date and install Service Packs and
     Cumulative Updates as they are released.
...

Cet exemple montre que l’applet de commande Invoke-SqlAssessment accepte un ensemble d’instances SQL Server via le pipeline. L’ensemble est filtré avec l’applet de commande PowerShell Where-Object standard.

Exemple 7 : Appeler l’évaluation pour une base de données par nom

PS:> Get-SqlDatabase master -ServerInstance localhost | Invoke-SqlAssessment -Verbose
VERBOSE: Base ruleset version: 0.2.
VERBOSE: No recommendations for [master].

Cet exemple montre que l’applet de commande Invoke-SqlAssessment accepte le nom d’une base de données. Dans ce cas, aucun problème n’a été trouvé.

Exemple 8 : Appeler l’évaluation pour une base de données par chemin

PS:> Invoke-SqlAssessment SQLSERVER:\SQL\localhost\default\Databases\master -Verbose
VERBOSE: Base ruleset version: 0.2.
VERBOSE: No recommendations for [master].

Cet exemple montre que l’applet de commande Invoke-SqlAssessment accepte le chemin d’accès à une base de données SQL Server.

Exemple 9 : Détecter les problèmes élevés pour une base de données

PS:> cd SQLSERVER:\SQL\localhost\default\Databases\master
PS:> Invoke-SqlAssessment -MinSeverity High
VERBOSE: Base ruleset version: 0.2.
VERBOSE: No recommendations for [master].

Cet exemple montre que l’applet de commande Invoke-SqlAssessment évalue l’emplacement actuel. Seuls les problèmes élevés sont signalés.

Exemple 10 : Exécuter des vérifications sélectionnées par balise

PS:> Get-SqlInstance -ServerInstance . | Invoke-SqlAssessment -Check Backup -Verbose
VERBOSE: Base ruleset version: 0.2.
VERBOSE: No recommendations for [LOCAL].

Cet exemple montre l’applet de commande Invoke-SqlAssessment exécutant toutes les vérifications liées à la sauvegarde pour chaque SQL Server instance sur le serveur local.

Exemple 11 : Exécuter des vérifications sélectionnées de manière interactive

PS:> $serverInstance = Get-SqlInstance -ServerInstance '(local)'
PS:> $checks = Get-SqlAssessmentItem $serverInstance | Select Name, Description | Out-GridView -PassThru
PS:> Invoke-SqlAssessment $serverInstance -Check $checks

    TargetPath : Server[@Name='LOCAL']

Sev. Message                                                            Check ID               Origin               
---- -------                                                            --------               ------               
Info Enable trace flag 834 to use large-page allocations to improve     TF834                  Microsoft Ruleset 0.1.202
     analytical and data warehousing workloads.                                                                     
Low  Detected deprecated or discontinued feature uses: String literals  DeprecatedFeatures     Microsoft Ruleset 0.1.202
     as column aliases, syscolumns, sysusers, SET FMTONLY ON, XP_API,                                                   
     Table hint without WITH, More than two-part column name. We                                                        
     recommend to replace them with features actual for SQL Server                                                      
     version 14.0.1000.

La deuxième ligne de cet exemple montre comment obtenir des vérifications pour un $serverInstance et sélectionner certaines d’entre elles de manière interactive. Les éléments sélectionnés sont stockés dans une variable de tableau, qui est ensuite utilisée comme entrée pour l’applet de commande Invoke-SqlAssessment . Seules les vérifications sélectionnées s’exécutent pendant le processus d’évaluation.

Exemple 12 : Effet du paramètre -FlattenOutput

PS> $inst = Get-SqlInstance -ServerInstance . 
PS> Invoke-SqlAssessment $inst -FlattenOutput | Select -First 1 | Get-Member


   TypeName: Microsoft.SqlServer.Management.Assessment.Cmdlets.AssessmentNoteFlat

Name           MemberType Definition                    
----           ---------- ----------                    
Equals         Method     bool Equals(System.Object obj)
GetHashCode    Method     int GetHashCode()             
GetType        Method     type GetType()                
ToString       Method     string ToString()             
CheckId        Property   string CheckId {get;}         
CheckName      Property   string CheckName {get;}       
HelpLink       Property   string HelpLink {get;}        
Message        Property   string Message {get;}         
RulesetName    Property   string RulesetName {get;}     
RulesetVersion Property   string RulesetVersion {get;}  
Severity       Property   string Severity {get;}        
TargetPath     Property   string TargetPath {get;}      
TargetType     Property   string TargetType {get;}      


PS> Invoke-SqlAssessment $inst | Select -First 1 | Get-Member


   TypeName: Microsoft.SqlServer.Management.Assessment.Cmdlets.AssessmentNote

Name        MemberType Definition                                                             
----        ---------- ----------                                                             
Equals      Method     bool Equals(System.Object obj)                                         
GetHashCode Method     int GetHashCode()                                                      
GetType     Method     type GetType()                                                         
ToString    Method     string ToString()                                                      
Check       Property   Microsoft.SqlServer.Management.Assessment.Checks.ICheck Check {get;}   
HelpLink    Property   string HelpLink {get;}                                                 
Message     Property   string Message {get;}                                                  
Severity    Property   Microsoft.SqlServer.Management.Assessment.SeverityLevel Severity {get;}
TargetPath  Property   string TargetPath {get;}                                               
TargetType  Property   string TargetType {get;}

PS> (Invoke-SqlAssessment $inst | Select -First 1).Check | Get-Member


   TypeName: Microsoft.SqlServer.Management.Assessment.Checks.Check

Name          MemberType Definition                                                                                                                                     
----          ---------- ----------                                                                                                                                     
Equals        Method     bool Equals(System.Object obj)                                                                                                                 
GetHashCode   Method     int GetHashCode()                                                                                                                              
GetType       Method     type GetType()                                                                                                                                 
ToString      Method     string ToString()                                                                                                                              
Condition     Property   Microsoft.SqlServer.Management.Assessment....
Description   Property   string Description {get;set;}                                                                                                                  
DisplayName   Property   string DisplayName {get;set;}                                                                                                                  
Enabled       Property   bool Enabled {get;set;}                                                                                                                        
HelpLink      Property   string HelpLink {get;set;}                                                                                                                     
Id            Property   string Id {get;set;}                                                                                                                           
Level         Property   Microsoft.SqlServer.Management.Assessment....
Message       Property   string Message {get;set;}                                                                                                                      
OriginName    Property   string OriginName {get;set;}                                                                                                                   
OriginVersion Property   version OriginVersion {get;set;}                                                                                                               
Parameters    Property   System.Collections.Generic.IDictionary[str...
Probes        Property   System.Collections.Generic.List[Microsoft....
Tags          Property   System.Collections.Generic.HashSet[string]...
Target        Property   Microsoft.SqlServer.Management.Assessment....

Cet exemple montre la différence entre les objets retournés avec ou sans le paramètre -FlattenOutput. Le paramètre remplace l’objet Check complexe par deux propriétés de chaîne CheckId et CheckName. Cela est utile à des fins de sérialisation (voir l’exemple suivant).

La première commande affiche un objet simple avec toutes les propriétés de type string.

La deuxième commande affiche un autre objet avec deux propriétés autres que des chaînes : Check et Severity.

La troisième commande affiche l’ensemble enrichi de données accessibles avec la propriété Check.

Exemple 13 : Réexécuter les vérifications ayant échoué

PS> $inst = Get-SqlInstance -ServerInstance .
PS> $results = Invoke-SqlAssessment $inst
PS> $results

   TargetPath : Server[@Name='LOCAL']

Sev. Message                                                            Check ID              Origin               
---- -------                                                            --------              ------               
Info Enable trace flag 834 to use large-page allocations to improve     TF834                 Microsoft Ruleset 0.1.202
     analytical and data warehousing workloads.                                                                         
Low  Detected deprecated or discontinued feature uses: String literals  DeprecatedFeatures    Microsoft Ruleset 0.1.202
     as column aliases, syscolumns, sysusers, SET FMTONLY ON, XP_API,                                                   
     Table hint without WITH, More than two-part column name. We                                                        
     recommend to replace them with features actual for SQL Server                                                      
     version 14.0.1000.                                                                                      
Medi Amount of single use plans in cache is high (100%). Consider       PlansUseRatio         Microsoft Ruleset 0.1.202
     enabling the Optimize for ad hoc workloads setting on heavy OLTP                                                   
     ad-hoc workloads to conserve resources. 

PS> $results[1].Check.Description
This check detects deprecated or discontinued features used on target SQL Server instance. Deprecated features may be 
removed in a future release of SQL Server. Discontinued features have been removed from specific versions of SQL Server.

PS> Invoke-SqlAssessment $inst -Check $results[1].Check
   
   TargetPath : Server[@Name='LOCAL']

Sev. Message                                                            Check ID              Origin               
---- -------                                                            --------              ------                                                                                      
Low  Detected deprecated or discontinued feature uses: String literals  DeprecatedFeatures    Microsoft Ruleset 0.1.202
     as column aliases, syscolumns, sysusers, SET FMTONLY ON, XP_API,                                                   
     Table hint without WITH, More than two-part column name. We                                                        
     recommend to replace them with features actual for SQL Server                                                      
     version 14.0.1000. 

PS> Invoke-SqlAssessment $inst -Check ($results).Check

   TargetPath : Server[@Name='LOCAL']

Sev. Message                                                            Check ID              Origin               
---- -------                                                            --------              ------               
Info Enable trace flag 834 to use large-page allocations to improve     TF834                 Microsoft Ruleset 0.1.202
     analytical and data warehousing workloads.                                                                         
Low  Detected deprecated or discontinued feature uses: String literals  DeprecatedFeatures    Microsoft Ruleset 0.1.202
     as column aliases, syscolumns, sysusers, SET FMTONLY ON, XP_API,                                                   
     Table hint without WITH, More than two-part column name. We                                                        
     recommend to replace them with features actual for SQL Server                                                      
     version 14.0.1000.                                                                                      
Medi Amount of single use plans in cache is high (100%). Consider       PlansUseRatio         Microsoft Ruleset 0.1.202
     enabling the Optimize for ad hoc workloads setting on heavy OLTP                                                   
     ad-hoc workloads to conserve resources.

Cet exemple montre comment une vérification retournée avec les résultats de l’évaluation peut être réutilisée. Vous pouvez réexécuter les vérifications qui ont produit assessmentNotes auparavant.

Exemple 14 : Stocker les résultats de l’évaluation dans une table

PS:> $serverInstance = Get-SqlInstance -ServerInstance '(local)'
PS:> Invoke-SqlAssessment $serverInstance -FlattenOutput | 
     Write-SqlTableData -ServerInstance localhost -DatabaseName SqlAssessment -SchemaName Assessment -TableName Results -Force

La deuxième ligne de cet exemple montre l’utilisation du paramètre -FlattenOutput avec Write-SqlTableData applet de commande pour stocker les résultats d’évaluation dans une base de données SQL.

Exemple 15 : Spécifier explicitement les informations d’identification

PS> $cred = Get-Credential

PowerShell credential request
Enter your credentials.
User: Administrator
Password for user Administrator: ********

PS> $inst = Get-SqlInstance -ServerInstance 10.0.3.118 -Credential $cred
PS> Invoke-SqlAssessment $inst

   TargetPath : Server[@Name='ContosSQL']

Sev. Message                                                            Check ID              Origin               
---- -------                                                            --------              ------               
Medi Amount of single use plans in cache is high (100%). Consider       PlansUseRatio         Microsoft Ruleset 0.1.202
     enabling the Optimize for ad hoc workloads setting on heavy OLTP                                                   
     ad-hoc workloads to conserve resources

Cet exemple montre comment appeler l’évaluation SQL avec des informations d’identification spécifiées explicitement.

Exemple 16 : Appeler une évaluation pour une SQL Server sur une machine virtuelle Azure instance

PS> Connect-AzAccount
PS> Set-Subscription My-Pay-As-You-Go
PS> $cred = Get-Credential

PowerShell credential request
Enter your credentials.
User: Administrator
Password for user Administrator: ********

PS> $inst = Get-SqlInstance -ServerInstance 10.0.3.118 -Credential $cred
PS> Invoke-SqlAssessment $inst

   TargetPath : Server[@Name='ContosoAzureSQL']

Sev. Message                                                            Check ID              Origin               
---- -------                                                            --------              ------               
Medi Amount of single use plans in cache is high (100%). Consider       PlansUseRatio         Microsoft Ruleset 0.1.202
     enabling the Optimize for ad hoc workloads setting on heavy OLTP                                                   
     ad-hoc workloads to conserve resources 
Info Use memory optimized virtual machine sizes for the best            AzSqlVmSize           Microsoft Ruleset 0.1.202 
     performance of SQL Server workloads

Cet exemple montre comment appeler l’évaluation pour un SQL Server sur les instance de machines virtuelles Azure.

Une connexion d’abonnement Azure active SQL Server sur les vérifications liées aux machines virtuelles Azure (AzSqlVmSize dans cet exemple). La première ligne se connecte à un compte Azure pour obtenir des données à partir d’Azure Resource Graph. La deuxième ligne est facultative.

Pour exécuter ces vérifications, l’évaluation SQL nécessite le module Az.ResourceGraph.

Paramètres

-Check

Une ou plusieurs vérifications, case activée ID ou étiquettes.

Pour chaque objet case activée, Invoke-SqlAssessment s’exécute qui case activée s’il prend en charge l’objet d’entrée.

Pour chaque ID de case activée, Invoke-SqlAssessment exécute le case activée correspondant s’il prend en charge l’objet d’entrée.

Pour les balises, Invoke-SqlAssessment exécute des vérifications avec l’une de ces balises.

Type:Object[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Configuration

Spécifie les chemins d’accès aux fichiers contenant une configuration personnalisée. Les fichiers de personnalisation seront appliqués à la configuration par défaut dans l’ordre spécifié. L’étendue est limitée à cet appel d’applet de commande uniquement.

Type:PSObject
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FlattenOutput

Indique que cette applet de commande produit des objets simples de type Microsoft.SqlServer.Management.Assessment.Cmdlets.AssessmentNoteFlat au lieu de Microsoft.SqlServer.Management.Assessment.Cmdlets.AssessmentNote.

AssessmentNote régulière retournée par Invoke-SqlAssessment contient des références à d’autres objets complexes utiles comme Check (voir l’exemple 12). Avec la propriété Check, vous pouvez obtenir la description du case activée ou réutiliser le case activée (voir l’exemple 13). Toutefois, certaines applets de commande ne prennent pas en charge les propriétés complexes. Par exemple, Write-SqlTableData génère une erreur lors de la tentative d’écriture d’AssessmentNote dans une base de données. Pour éviter cela, vous pouvez utiliser le paramètre -FlattenOutput pour remplacer la propriété Check par deux chaînes simples : CheckId et CheckName (voir l’exemple 14).

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Spécifie un objet SQL Server ou le chemin d’accès à un tel objet. L’applet de commande exécute l’évaluation pour cet objet. Lorsque ce paramètre est omis, l’emplacement actuel est utilisé comme objet d’entrée. Si l’emplacement actuel n’est pas un objet SQL Server pris en charge, l’applet de commande signale une erreur.

Type:PSObject
Aliases:Target
Position:10
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-MinSeverity

Spécifie le niveau de gravité minimal pour les vérifications à rechercher. Par exemple, les vérifications des niveaux Faible, Moyen ou Information ne sont pas retournées lorsque -MinSeverity High.

Type:SeverityLevel
Aliases:Severity
Accepted values:Information, Low, Medium, High
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Entrées

System.String[]

Microsoft.SqlServer.Management.Smo.SqlSmoObject[]

Sorties

Microsoft.SqlServer.Assessment.Cmdlets.AssessmentNote