Invoke-SqlAssessment

Запускает рекомендации по оценке SQL, проверяет выбранный объект SQL Server и возвращает их результаты.

Синтаксис

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

Описание

Командлет Invoke-SqlAssessment выполняет оценку для каждого входного объекта и возвращает список рекомендаций, которые следует применять к указанным объектам. Это до вас, чтобы следовать заданным рекомендациям или нет. Дополнительные сведения см. в обзоре API оценки SQL.

Этот командлет принимает следующие типы входных данных:

  • 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
  • Строка, содержащая путь к любому объекту указанных выше типов
  • Коллекция объектов

Входные объекты можно получить с помощью командлетов SqlServer, таких как Get-SqlInstance и Get-SqlDatabase или базовых командлетов PowerShell, таких как Get-Item и Get-ChildItem. Кроме того, командлет поддерживает поставщик PowerShell SQL Server, чтобы он смог получить объект по пути. Путь можно передать явным образом, в противном случае будет использоваться текущий путь.

Доступность проверка для выбранного объекта зависит от версии SQL Server, платформы и типа объекта. Кроме того, существуют проверки, предназначенные для конкретных баз данных, таких как tempdb или master. Кроме того, можно фильтровать проверки по тегам, именам и серьезности с помощью параметров -MinSeverity и -Check.

Список проверок, применимых к данному объекту SQL Server, можно получить с помощью командлета Get-SqlAssessmentItem.

Командлет выполняет только проверки, применимые к входным объектам. Например, проверки базы данных не будут выполняться для экземпляра SQL Server или группы доступности, даже если они указаны в параметре -Check list.

Пользовательские конфигурации можно применять с помощью параметра -Configuration. Примеры настройки доступны на сайте GitHub.

ПРИМЕЧАНИЕ. В первой общедоступной предварительной версии Invoke-SqlAssessment вернул объекты AssessmentNote со свойствами CheckId и CheckName, содержащими идентификатор Проверки и DisplayName соответственно. Во второй общедоступной предварительной версии два свойства были заменены одним свойством Check, предоставляющим гораздо больше данных. Если $note является объектом, возвращенным Invoke-SqlAssessment, вы можете получить доступ к идентификатору проверка как $note.Check.Id вместо $note. CheckId или описание проверка как $note. Check.Description. Параметр -FlattenOutput можно использовать для получения результатов в предыдущем формате с помощью CheckId и CheckName. Этот параметр также поможет сохранить совместимость с некоторыми командлетами, такими как Write-SqlTableData. Дополнительные сведения см. в примерах 12–14.

Выходные данные командлета Invoke-SqlAssessment — это список нарушенных рекомендаций для каждого объекта SQL Server. Используйте свойство Description , чтобы узнать о рекомендациях, и свойство Message , чтобы узнать, как его можно решить. Кроме того, каждый результат проверка содержит ссылку на онлайн-документацию, которая поможет вам лучше выяснить проблему.

поддержка SQL Server на виртуальных машинах Azure

С помощью командлетов оценки SQL можно оценить экземпляр SQL Server на виртуальной машине Azure не только как локальный SQL Server, но и как правила, относящиеся к SQL Server на виртуальной машине Azure (которые используют сведения о конфигурации виртуальной машины). Например, правило AzSqlVmSize проверяет, что виртуальная машина, на которую размещен экземпляр SQL Server на виртуальной машине Azure, имеет рекомендуемый размер.

Чтобы использовать такие правила, подключитесь к Azure с помощью модуля Azure PowerShell и убедитесь, что установлен модуль Az.ResourceGraph.

Выполните вход с помощью Azure PowerShell, прежде чем вызывать оценку SQL для SQL Server на экземпляре виртуальной машины Azure. В примере 16 показан интерактивный процесс входа и выбор подписки.

ПРИМЕЧАНИЕ. Можно использовать подключение к учетной записи Azure, сохраняемое между сеансами PowerShell, т. е. вызвать Connect-AzAccount в одном сеансе и опустить эту команду позже. Однако для текущей версии командлетов оценки SQL требуется, чтобы модуль Az.ResourceGraph был импортирован явным образом в этом случае: Import-Module Az.ResourceGraph

Примеры

Пример 1. Вызов оценки для локального экземпляра по умолчанию

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

В этом примере показано, как получить все рекомендации по использованию экземпляра SQL Server по умолчанию, работающего на текущем компьютере.

Пример 2. Вызов оценки с помощью командлета 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.
...

В этом примере показано, как получить все рекомендации по использованию экземпляра SQL Server по умолчанию.

Пример 3. Вызов оценки с помощью пути поставщика 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.
...

В этом примере показано, как получить все рекомендации по использованию экземпляра SQL Server по умолчанию.

Пример 4. Вызов оценки с пользовательской конфигурацией

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

В этом примере показано, как применить пользовательскую конфигурацию для получения измененного набора рекомендаций. Пользовательские конфигурации описаны в json-файлах. Пользовательские наборы правил profileA.json и profileB.json отключили некоторые проверки и ввели новые. Одна из новых проверок из файла profileA.json обнаружила проблему с текущей конфигурацией экземпляра SQL Server. Сведения о настройке см. в папке примеров оценки SQL на сайте GitHub.

Пример 5. Вызов оценки для всех экземпляров

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

В этом примере показано, как командлет Invoke-SqlAssessment принимает набор экземпляров SQL Server через конвейер.

Пример 6. Выполнение оценки для отфильтрованного набора 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.
...

В этом примере показано, как командлет Invoke-SqlAssessment принимает набор экземпляров SQL Server через конвейер. Набор фильтруется с помощью стандартного командлета PowerShell Where-Object.

Пример 7. Вызов оценки для базы данных по имени

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

В этом примере показано, как командлет Invoke-SqlAssessment принимает имя базы данных. В этом случае проблема не обнаружена.

Пример 8. Вызов оценки для базы данных по пути

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

В этом примере показано, как командлет Invoke-SqlAssessment принимает путь к базе данных SQL Server.

Пример 9. Обнаружение больших проблем для базы данных

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

В этом примере показан командлет Invoke-SqlAssessment , оценивающий текущее расположение. Сообщается только о проблемах с высоким уровнем.

Пример 10. Выполнение проверок, выбранных по тегу

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

В этом примере показан командлет Invoke-SqlAssessment, выполняющий все проверки, связанные с резервным копированием, для каждого экземпляра SQL Server на локальном сервере.

Пример 11. Запуск интерактивных проверок

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.

Во второй строке этого примера показано, как получить проверки для $serverInstance и выбрать некоторые из них в интерактивном режиме. Выбранные элементы хранятся в переменной массива, которая затем используется в качестве входных данных для командлета Invoke-SqlAssessment . В процессе оценки выполняются только выбранные проверки.

Пример 12. Эффект параметра -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....

В этом примере показана разница между объектами, возвращаемыми с параметром -FlattenOutput или без нее. Параметр заменяет огромный сложный объект Check двумя строковыми свойствами CheckId и CheckName. Это полезно для сериализации (см. следующий пример).

Первая команда показывает простой объект со всеми свойствами типа string.

Вторая команда показывает другой объект с двумя нестроковыми свойствами: Check и Severity.

Третья команда показывает широкий набор данных, доступных с помощью свойства Check.

Пример 13. Повторный запуск неудачных проверок

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.

В этом примере показано, как можно повторно использовать проверку, возвращенную с результатами оценки. Вы можете повторно выполнить проверки, которые ранее создавали AssessmentNotes.

Пример 14. Сохранение результатов оценки в таблице

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

Во второй строке этого примера показано использование параметра -FlattenOutput с командлетом Write-SqlTableData для хранения результатов оценки в базе данных SQL.

Пример 15. Явное указание учетных данных

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

В этом примере показано, как вызвать оценку SQL с явно указанными учетными данными.

Пример 16. Вызов оценки для SQL Server на экземпляре виртуальной машины 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

В этом примере показано, как вызвать оценку для SQL Server на экземпляре виртуальной машины Azure.

Активное подключение к подписке Azure позволяет SQL Server проверки, связанные с виртуальной машиной Azure (в этом примере — AzSqlVmSize). Первая строка подключается к учетной записи Azure для получения данных из azure Resource Graph. Вторая строка является необязательной.

Для выполнения этих проверок для оценки SQL требуется модуль Az.ResourceGraph.

Параметры

-Check

Одна или несколько проверок, идентификаторов проверка или тегов.

Для каждого объекта проверка выполняется invoke-SqlAssessment, который проверка, поддерживает ли он входной объект.

Для каждого идентификатора проверка Invoke-SqlAssessment запускает соответствующий проверка, если он поддерживает входной объект.

Для тегов Invoke-SqlAssessment выполняет проверки с любым из этих тегов.

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

-Configuration

Указывает пути к файлам, содержащим настраиваемую конфигурацию. Файлы настройки будут применяться к конфигурации по умолчанию в указанном порядке. Область ограничен только вызовом этого командлета.

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

-FlattenOutput

Указывает, что этот командлет создает простые объекты типа Microsoft.SqlServer.Management.Assessment.Cmdlets.AssessmentNoteFlat вместо Microsoft.SqlServer.Management.Assessment.Cmdlets.AssessmentNote.

Regular AssessmentNote, возвращаемый из Invoke-SqlAssessment содержит ссылки на другие полезные сложные объекты, такие как Check (см. пример 12). С помощью свойства Check можно получить описание проверка или повторно использовать проверка (см. пример 13). Но некоторые командлеты не поддерживают сложные свойства. Например, Write-SqlTableData вызовет ошибку при попытке записать AssessmentNote в базу данных. Чтобы избежать этого, используйте параметр -FlattenOutput для замены свойства Check двумя простыми строками: CheckId и CheckName (см. пример 14).

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

-InputObject

Указывает объект SQL Server или путь к такому объекту. Командлет выполняет оценку для этого объекта. Если этот параметр опущен, в качестве входного объекта используется текущее расположение. Если текущее расположение не является поддерживаемым объектом SQL Server, командлет сообщает об ошибке.

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

-MinSeverity

Задает минимальный уровень серьезности для найденных проверок. Например, проверки низких, средних и информационных уровней не будут возвращены при значении -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

Входные данные

System.String[]

Microsoft.SqlServer.Management.Smo.SqlSmoObject[]

Выходные данные

Microsoft.SqlServer.Assessment.Cmdlets.AssessmentNote