Invoke-SqlAssessment

Ejecuta las comprobaciones de procedimientos recomendados de SQL Assessment para un objeto SQL Server elegido y devuelve sus resultados.

Syntax

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

Description

El cmdlet Invoke-SqlAssessment ejecuta una evaluación para cada objeto de entrada y devuelve una lista de recomendaciones de procedimientos recomendados que se deben aplicar a los objetos especificados. Debe seguir las recomendaciones dadas o no. Para obtener más información, consulte la información general de sql Assessment API.

Este cmdlet acepta los siguientes tipos de entrada:

  • 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
  • Cadena que contiene la ruta de acceso a cualquier objeto de los tipos anteriores
  • Colección de objetos

Puede obtener objetos de entrada con cmdlets sqlServer, como Get-SqlInstance y Get-SqlDatabase o cmdlets básicos de PowerShell, como Get-Item y Get-ChildItem. Además, el cmdlet admite el proveedor de PowerShell SQL Server, por lo que puede obtener un objeto de su ruta de acceso. La ruta de acceso se puede pasar explícitamente; de lo contrario, se usará la ruta de acceso actual.

La disponibilidad de una comprobación de un objeto elegido varía según la versión, la plataforma y el tipo de objeto de SQL Server. Además, hay comprobaciones que tienen como destino bases de datos específicas como tempdb o master. Además, puede filtrar las comprobaciones por etiquetas, nombres y gravedad con los parámetros -MinSeverity y -Check.

Puede obtener una lista de comprobaciones aplicables al objeto SQL Server especificado con el cmdlet Get-SqlAssessmentItem.

El cmdlet solo ejecuta comprobaciones aplicables a un objeto de entrada. Por ejemplo, las comprobaciones de base de datos no se ejecutarán para una instancia de SQL Server o un grupo de disponibilidad, incluso cuando se especifica en -Check list.

Las configuraciones personalizadas se pueden aplicar con el parámetro -Configuration. Los ejemplos de personalización están disponibles en Github.

NOTA. En la primera versión preliminar pública Invoke-SqlAssessment devolvió objetos AssessmentNote con propiedades CheckId y CheckName que contienen el identificador de Check y DisplayName respectivamente. En la segunda versión preliminar pública, las dos propiedades se reemplazaron por una sola propiedad Check que proporciona mucho más datos. Suponiendo que $note era un objeto devuelto por Invoke-SqlAssessment, puede acceder al identificador de la comprobación como $note.Check.Id en lugar de $note. CheckId o la descripción de la comprobación como $note. Check.Description. Puede usar el parámetro -FlattenOutput para obtener los resultados en el formato anterior con CheckId y CheckName. Este parámetro también ayudará a conservar la compatibilidad con algunos cmdlets, como Write-SqlTableData. Consulte los ejemplos 12-14 para obtener más información.

La salida del cmdlet Invoke-SqlAssessment es una lista de procedimientos recomendados infringidas para cada objeto SQL Server determinado. Use la propiedad Description para obtener información sobre el procedimiento recomendado y la propiedad Message para averiguar cómo se puede resolver. Además, cada resultado de la comprobación contiene un vínculo a la documentación en línea, lo que le ayudará a averiguar mejor el problema.

compatibilidad con SQL Server en máquinas virtuales de Azure

Con los cmdlets de SQL Assessment, puede evaluar una instancia de SQL Server en una máquina virtual de Azure no solo como SQL Server local, sino también con reglas específicas de SQL Server en la máquina virtual de Azure (las que usan información sobre la configuración de la máquina virtual). Por ejemplo, la regla AzSqlVmSize comprueba que la máquina virtual que hospeda una instancia de SQL Server en la máquina virtual de Azure tiene un tamaño recomendado.

Para usar estas reglas, conéctese a Azure con Azure PowerShell Module y asegúrese de que el módulo Az.ResourceGraph está instalado.

Inicie sesión con Azure PowerShell antes de invocar SQL Assessment en una instancia de máquina virtual de Azure SQL Server. En el ejemplo 16 se muestra el proceso de inicio de sesión interactivo y la selección de la suscripción.

NOTA. Es posible usar la conexión de cuenta de Azure persistente entre sesiones de PowerShell, es decir, invocar Connect-AzAccount en una sesión y omitir este comando más adelante. Sin embargo, la versión actual de los cmdlets de SQL Assessment necesita que el módulo Az.ResourceGraph se importe explícitamente en este caso: Import-Module Az.ResourceGraph

Ejemplos

Ejemplo 1: Invocar la evaluación de la instancia predeterminada local

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.
...

En este ejemplo se muestra cómo obtener todas las recomendaciones de procedimientos recomendados para la instancia predeterminada de SQL Server que se ejecuta en el equipo actual.

Ejemplo 2: Invocar la evaluación con el cmdlet 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.
...

En este ejemplo se muestra cómo obtener todas las recomendaciones de procedimientos recomendados para la instancia predeterminada de SQL Server.

Ejemplo 3: Invocar evaluación con la ruta de acceso del proveedor de 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.
...

En este ejemplo se muestra cómo obtener todas las recomendaciones de procedimientos recomendados para la instancia predeterminada de SQL Server.

Ejemplo 4: Invocar la evaluación con la configuración personalizada

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
...

En este ejemplo se muestra cómo aplicar la configuración personalizada para obtener un conjunto modificado de recomendaciones de procedimientos recomendados. Las configuraciones personalizadas se describen en archivos JSON. Los conjuntos de reglas personalizados profileA.json y profileB.json deshabilitan algunas comprobaciones e introdujeron algunas nuevas. Una de las nuevas comprobaciones de profileA.json detectó un problema con la configuración actual de la instancia de SQL Server. Visite la carpeta ejemplos de SQL Assessment en Github para averiguar cómo realizar la personalización.

Ejemplo 5: Invocar evaluación para todas las instancias

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.
...

En este ejemplo se muestra el cmdlet Invoke-SqlAssessment que acepta un conjunto de instancias de SQL Server a través de la canalización.

Ejemplo 6: Ejecución de la evaluación de un conjunto filtrado 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.
...

En este ejemplo se muestra el cmdlet Invoke-SqlAssessment que acepta un conjunto de instancias de SQL Server a través de la canalización. El conjunto se filtra con el cmdlet estándar de PowerShell Where-Object.

Ejemplo 7: Invocar la evaluación de una base de datos por nombre

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

En este ejemplo se muestra el cmdlet Invoke-SqlAssessment que acepta el nombre de una base de datos. En este caso no se encontró ningún problema.

Ejemplo 8: Invocar la evaluación de una base de datos por ruta de acceso

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

En este ejemplo se muestra el cmdlet Invoke-SqlAssessment que acepta la ruta de acceso a una base de datos de SQL Server.

Ejemplo 9: Detección de problemas elevados para una base de datos

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

En este ejemplo se muestra el cmdlet Invoke-SqlAssessment que evalúa la ubicación actual. Solo se notifican problemas elevados.

Ejemplo 10: Ejecutar comprobaciones seleccionadas por etiqueta

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

En este ejemplo se muestra el cmdlet Invoke-SqlAssessment que ejecuta todas las comprobaciones relacionadas con la copia de seguridad para cada instancia de SQL Server en el servidor local.

Ejemplo 11: Ejecutar comprobaciones seleccionadas interactivamente

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 segunda línea de este ejemplo muestra la obtención de comprobaciones de un $serverInstance y la selección de algunas de ellas de forma interactiva. Los elementos seleccionados se almacenan en una variable de matriz, que luego se usa como entrada para el cmdlet Invoke-SqlAssessment . Solo se ejecutan comprobaciones seleccionada durante el proceso de evaluación.

Ejemplo 12: Efecto del parámetro -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....

En este ejemplo se muestra la diferencia entre los objetos devueltos con o sin el parámetro -FlattenOutput. El parámetro reemplaza el objeto Check complejo enorme por dos propiedades de cadena CheckId y CheckName. Esto es útil para fines de serialización (vea el ejemplo siguiente).

El primer comando muestra un objeto simple con todas las propiedades de la cadena de tipo.

El segundo comando muestra otro objeto con dos propiedades que no son de cadena: Check y Severity.

El tercer comando muestra el amplio conjunto de datos accesible con la propiedad Check.

Ejemplo 13: Volver a ejecutar comprobaciones con errores

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.

En este ejemplo se muestra cómo se puede reutilizar una comprobación devuelta con los resultados de la evaluación. Puede volver a ejecutar las comprobaciones que generaron AssessmentNotes antes.

Ejemplo 14: Almacenar los resultados de la evaluación en una tabla

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

La segunda línea de este ejemplo muestra el uso del parámetro -FlattenOutput con Write-SqlTableData cmdlet para almacenar los resultados de la evaluación en una base de datos SQL.

Ejemplo 15: Especificar credenciales explícitamente

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

En este ejemplo se muestra cómo invocar SQL Assessment con credenciales especificadas explícitamente.

Ejemplo 16: Invocación de la evaluación de una SQL Server en una instancia de máquina virtual de 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

En este ejemplo se muestra cómo invocar la evaluación de una SQL Server en una instancia de máquina virtual de Azure.

Una conexión de suscripción de Azure activa habilita SQL Server en comprobaciones relacionadas con máquinas virtuales de Azure (AzSqlVmSize en este ejemplo). La primera línea se conecta a una cuenta de Azure para obtener datos de Azure Resource Graph. La segunda línea es opcional.

Para ejecutar estas comprobaciones, SQL Assessment requiere el módulo Az.ResourceGraph.

Parámetros

-Check

Una o varias comprobaciones, compruebe los identificadores o las etiquetas.

Para cada objeto check, Invoke-SqlAssessment se ejecuta que comprueba si admite el objeto de entrada.

Para cada identificador de comprobación, Invoke-SqlAssessment ejecuta la comprobación correspondiente si admite el objeto de entrada.

En el caso de las etiquetas, Invoke-SqlAssessment ejecuta comprobaciones con cualquiera de esas etiquetas.

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

-Configuration

Especifica rutas de acceso a los archivos que contienen la configuración personalizada. Los archivos de personalización se aplicarán a la configuración predeterminada en el orden especificado. El ámbito solo se limita a esta invocación de cmdlet.

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

-FlattenOutput

Indica que este cmdlet genera objetos simples de tipo Microsoft.SqlServer.Management.Assessment.Cmdlets.AssessmentNoteFlat en lugar de Microsoft.SqlServer.Management.Assessment.Cmdlets.AssessmentNote.

AssessmentNote regular devuelto de Invoke-SqlAssessment contiene referencias a otros objetos complejos útiles como Check (vea el ejemplo 12). Con la propiedad Check, puede obtener la descripción de la comprobación o reutilizarla (vea el ejemplo 13). Pero algunos cmdlets no admiten propiedades complejas. Por ejemplo, Write-SqlTableData producirá un error al intentar escribir AssessmentNote en una base de datos. Para evitar esto, puede usar el parámetro -FlattenOutput para reemplazar la propiedad Check por dos cadenas simples: CheckId y CheckName (vea el ejemplo 14).

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

-InputObject

Especifica un objeto SQL Server o la ruta de acceso a dicho objeto. El cmdlet ejecuta la evaluación de este objeto. Cuando se omite este parámetro, la ubicación actual se usa como objeto de entrada. Si la ubicación actual no es un objeto de SQL Server compatible, el cmdlet indica un error.

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

-MinSeverity

Especifica el nivel de gravedad mínimo para las comprobaciones que se van a encontrar. Por ejemplo, las comprobaciones de niveles bajo, medio o de información no se devolverán cuando -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

Entradas

System.String[]

Microsoft.SqlServer.Management.Smo.SqlSmoObject[]

Salidas

Microsoft.SqlServer.Assessment.Cmdlets.AssessmentNote