Partager via


Invoke-SqlAssessment

Exécute les meilleures pratiques SQL Assessment pour rechercher un objet SQL Server choisi et retourne leurs résultats.

Syntaxe

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

Description

La cmdlet 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 la vue d’ensemble de l’API SQL Assessment.

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 telles que Get-Item et Get-ChildItem. En outre, l’applet de commande prend en charge le fournisseur SQL Server PowerShell, afin qu’elle puisse obtenir un objet à partir de son chemin d’accès. Le chemin d’accès peut être transmis explicitement, sinon le chemin actuel sera utilisé.

La disponibilité d’une vérification d’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 que tempdb 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 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 une instance SQL Server ou un groupe de disponibilité, même lorsqu’elles sont spécifiées dans -Check liste.

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

NOTE. Dans la première préversion publique Invoke-SqlAssessment les objets AssessmentNote retournés avec les propriétés CheckId et CheckName contenant respectivement l’ID de Check et DisplayName. Dans la deuxième préversion publique, les deux propriétés ont été remplacées par une propriété Check unique fournissant beaucoup plus de données. En supposant que $note était un objet retourné par Invoke-SqlAssessment, vous pouvez accéder à l’ID de la vérification en tant que $note.Check.Id au lieu de $note. CheckId ou la description de la vérification en tant que $note. Check.Description. Vous pouvez utiliser -FlattenOutput paramètre pour obtenir les 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.

Invoke-SqlAssessment sortie de l’applet de commande est une liste de bonnes pratiques enfreintes pour chaque objet SQL Server donné. Utilisez propriété Description pour en savoir plus sur la meilleure pratique et propriété Message pour savoir comment il peut être résolu. En outre, chaque résultat de vérification contient un lien vers la documentation en ligne, ce qui vous aidera à déterminer le problème mieux.

Prise en charge de SQL Server sur une machine virtuelle Azure

Avec les applets de commande SQL Assessment, vous pouvez évaluer une instance de SQL Server sur une machine virtuelle Azure non seulement comme SQL Server local, 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 module Azure PowerShell et assurez-vous que le module Az.ResourceGraph est installé.

se connecter avec Azure PowerShell avant d’appeler SQL Assessment sur une instance de machine virtuelle SQL Server sur Azure. L’exemple 16 montre la sélection interactive du processus de connexion et de l’abonnement.

NOTE. 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 que le module Az.ResourceGraph soit importé explicitement dans ce cas : Import-Module Az.ResourceGraph

Exemples

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

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 de bonnes pratiques pour l’instance par défaut de SQL Server exécutée 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 de bonnes pratiques pour l’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 de bonnes pratiques pour l’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 de bonnes pratiques. Les configurations personnalisées sont décrites dans les fichiers JSON. Les ensembles de règles personnalisés profileA.json et profileB.json désactivé certains contrôles et introduit de nouveaux contrôles. Une des nouvelles vérifications de profileA.json a détecté un problème avec la configuration actuelle de l’instance SQL Server. Visitez dossier d’exemples SQL Assessment 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 'applet de commande Invoke-SqlAssessment acceptant un ensemble d’instances SQL Server via le pipeline.

Exemple 6 : Exécuter l’évaluation d’un jeu 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 'applet de commande Invoke-SqlAssessment acceptant un ensemble d’instances SQL Server via le pipeline. L’ensemble est filtré avec l’applet de commande PowerShell standard Where-Object.

Exemple 7 : Appeler l’évaluation d’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 Invoke-SqlAssessment applet de commande acceptant le nom d’une base de données. Dans ce cas, aucun problème n’a été trouvé.

Exemple 8 : Appeler l’évaluation d’une base de données par chemin d’accès

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

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

Exemple 9 : Détecter des 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 'applet de commande Invoke-SqlAssessment évaluer l’emplacement actuel. Seuls les problèmes élevés sont signalés.

Exemple 10 : Exécuter les 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 'applet de commande Invoke-SqlAssessment exécutant toutes les vérifications liées à la sauvegarde pour chaque instance SQL Server 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 l’obtention de vérifications d’un $serverInstance et la sélection de 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 Invoke-SqlAssessment cmdlet. Seules les vérifications sélectionnées s’exécutent pendant le processus d’évaluation.

Exemple 12 : Effet de -FlattenOutput paramètre

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 paramètre -FlattenOutput. Le paramètre remplace un objet Check complexe énorme 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 la chaîne de type.

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

La troisième commande affiche le jeu complet de données accessible 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 avant.

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 de -FlattenOutput paramètre avec Write-SqlTableData cmdlet 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 SQL Assessment avec des informations d’identification spécifiées explicitement.

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

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 une instance de machine virtuelle SQL Server sur Azure.

Une connexion d’abonnement Azure active active SQL Server sur les vérifications liées à la machine virtuelle 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, SQL Assessment nécessite le module Az.ResourceGraph.

Paramètres

-Check

Une ou plusieurs vérifications, ID de vérification ou balises.

Pour chaque objet de vérification, Invoke-SqlAssessment exécute cette vérification si elle prend en charge l’objet d’entrée.

Pour chaque ID de vérification, Invoke-SqlAssessment exécute la vérification correspondante si elle 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
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Configuration

Spécifie les chemins d’accès aux fichiers contenant une configuration personnalisée. Les fichiers de personnalisation sont 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
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques: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.

Regular AssessmentNote retourné par Invoke-SqlAssessment contient des références à d’autres objets complexes utiles tels que Check (voir l’exemple 12). Avec la propriété Check, vous pouvez obtenir la description de la vérification ou réutiliser la vérification (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 -FlattenOutput paramètre pour remplacer la propriété Check par deux chaînes simples : CheckId et CheckName (voir l’exemple 14).

Type:SwitchParameter
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques: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
Alias:Target
Position:10
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-MinSeverity

Spécifie le niveau de gravité minimal pour que les vérifications soient trouvées. Par exemple, les vérifications des niveaux Faible, Moyen ou Information ne sont pas retournées lorsque -MinSeverity Élevé.

Type:SeverityLevel
Alias:Severity
Valeurs acceptées:Information, Low, Medium, High
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ProgressAction

Détermine comment PowerShell répond aux mises à jour de progression générées par un script, une applet de commande ou un fournisseur, telles que les barres de progression générées par l’applet de commande Write-Progress. L’applet de commande Write-Progress crée des barres de progression qui affichent l’état d’une commande.

Type:ActionPreference
Alias:proga
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

Entrées

System.String[]

Microsoft.SqlServer.Management.Smo.SqlSmoObject[]

Sorties

Microsoft.SqlServer.Assessment.Cmdlets.AssessmentNote