Test-SqlSmartAdmin

Tests the health of Smart Admin by evaluating SQL Server policy based management (PBM) policies.

Syntax

Test-SqlSmartAdmin [[-Path] <String[]>] [-ShowPolicyDetails] [-AllowUserPolicies] [-NoRefresh]
 [-InformationAction <ActionPreference>] [-InformationVariable <String>] [-WhatIf] [-Confirm]
 [<CommonParameters>]
Test-SqlSmartAdmin [-InputObject] <SmartAdmin[]> [-ShowPolicyDetails] [-AllowUserPolicies] [-NoRefresh]
 [-InformationAction <ActionPreference>] [-InformationVariable <String>] [-WhatIf] [-Confirm]
 [<CommonParameters>]

Description

The Test-SqlSmartAdmin cmdlet tests the health of Smart Admin for the SQL Server instance by evaluating SQL Server policy based management (PBM) policies.

This cmdlet supports the following modes of operation to return the object:

- Pass the path of the instance of SQL Server to the Path parameter.

  • Pass a Smo.Server object to the InputObject parameter, either directly or through the pipeline.

Examples

Example 1: Test the status of the SQL Server Smart Admin

PS C:\> cd SQLSERVER:\SQL\Computer\MyInstance 
PS SQLSERVER:\SQL\Computer\MyInstance> Get-SqlSmartAdmin | Test-SqlSmartAdmin

The first command changes directory to the SQL instance Computer\MyInstance.

The second command tests the the health of Smart Admin by evaluating SQL Server PBM policies.

Example 2: Evaluate the test results of the SQL Server Smart Admin

PS C:\> cd SQLSERVER:\SQL\Computer\MyInstance
PS SQLSERVER:\SQL\Computer\MyInstance> $PolicyResults = Get-SqlSmartAdmin | Test-SqlSmartAdmin 
PS SQLSERVER:\SQL\Computer\MyInstance> $PolicyResults.PolicyEvaluationDetails | select Name, Category, Result, Expression|f1

The first command changes directory to the SQL instance Computer\MyInstance.

The second command tests the status of the SQL Server Smart Admin and stores the results in the variable named $PolicyResults.

The third command evaluates the results of the SQL Server Smart Admin stored in the variable named $PolicyResults.

Example 3: Output the status of the SQL Server Smart Admin

PS C:\> PS SQLSERVER:\SQL\COMPUTER\DEFAULT> (Get-SqlSmartAdmin ).EnumHealthStatus()
number_of_storage_connectivity_errors: 0 
number_of_sql_errors: 2 
number_of_invalid_credential_errors: 0 
number_of_other_errors : 0 
number_of_corrupted_or_deleted_backups: 0 
number_of_backup_loops: 2 
number_of_retention_loops: 2

This command outputs the status of the local SQL Server Smart Admin.

Parameters

-ShowPolicyDetails

Indicates that this cmdlet shows the result of the policy. The cmdlet outputs one object per policy assessment. The output includes the results of the assessment: such as, the name of the policy, category, and health.

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

Indicates that this cmdlet runs user policies found in the Smart Admin warning and error policy categories.

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

Indicates that this cmdlet will not manually refresh the object specified by the Path or InputObject parameters.

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

Specifies the path of the SQL Server instance, as a string array. If you do not specify a value for this parameter, the cmdlet uses the current working location.

Type:String[]
Required:False
Position:1
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-InformationAction

Specifies how this cmdlet responds to an information event.

The acceptable values for this parameter are:

- Continue

  • Ignore
  • Inquire
  • SilentlyContinue
  • Stop
  • Suspend

Type:ActionPreference
Aliases:infa
Required:False
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-InformationVariable

Specifies an information variable.

Type:String
Aliases:iv
Required:False
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Type:SwitchParameter
Aliases:wi
Required:False
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False
-Confirm

Prompts you for confirmation before running the cmdlet.

Type:SwitchParameter
Aliases:cf
Required:False
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False
-InputObject

Specifies an array of SmartAdmin objects. To get this object, use the Get-SqlSmartAdmin cmdlet.

Type:SmartAdmin[]
Required:True
Position:1
Default value:None
Accept pipeline input:True (ByValue)
Accept wildcard characters:False

Inputs

Microsoft.SqlServer.Management.Smo.SmartAdmin

Outputs

This cmdlet outputs the results from the evaluation of the policies.