Partager via


Test-SqlDatabaseReplicaState

Évalue l’intégrité d’une base de données de disponibilité.

Syntaxe

ByPath (Par défaut)

Test-SqlDatabaseReplicaState
    [[-Path] <String[]>]
    [-ShowPolicyDetails]
    [-AllowUserPolicies]
    [-NoRefresh]
    [-AccessToken <PSObject>]
    [-TrustServerCertificate]
    [-HostNameInCertificate <String>]
    [-Encrypt <String>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ByObject

Test-SqlDatabaseReplicaState
    [-InputObject] <DatabaseReplicaState[]>
    [-ShowPolicyDetails]
    [-AllowUserPolicies]
    [-NoRefresh]
    [-AccessToken <PSObject>]
    [-TrustServerCertificate]
    [-HostNameInCertificate <String>]
    [-Encrypt <String>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

L’applet de commande Test-SqlDatabaseReplicaState évalue l’intégrité d’une base de données de disponibilité sur tous les réplicas de disponibilité joints en évaluant les stratégies PBM (Policy Based Management) SQL Server. Vous devez disposer CONNECTdes VIEW SERVER STATEautorisations nécessaires VIEW ANY DEFINITION pour exécuter cette applet de commande.

Module requirements: version 21+ on PowerShell 5.1; version 22+ on PowerShell 7.x.

Exemples

Exemple 1 : Évaluer l’intégrité d’une base de données de disponibilité

PS C:\> $Path = "SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MainAg\DatabaseReplicaStates\MainReplica.MainDatabase"
PS C:\> Test-SqlDatabaseReplicaState -Path $Path

Cette commande évalue l’intégrité de la base de données de disponibilité nommée MainDatabase sur le réplica MainReplica de disponibilité dans le groupe MainAg de disponibilité et génère un bref résumé.

Exemple 2 : Évaluer l’intégrité de toutes les bases de données de disponibilité dans un groupe de disponibilité

PS C:\> Get-ChildItem "SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MainAg\DatabaseReplicaStates" | Test-SqlDatabaseReplicaState

Cette commande évalue l’intégrité de toutes les bases de données de disponibilité dans le MainAg groupe de disponibilité et génère un bref résumé pour chaque base de données.

Exemple 3 : Évaluer l’intégrité de toutes les bases de données de disponibilité dans un groupe de disponibilité montrant les résultats de l’évaluation PBM

PS C:\> Get-ChildItem "SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MainAg\DatabaseReplicaStates" | Test-SqlDatabaseReplicaState -ShowPolicyDetails

Cette commande évalue l’intégrité de toutes les bases de données de disponibilité dans le MainAg groupe de disponibilité et génère les résultats de l’évaluation pour chaque stratégie PBM exécutée.

Exemple 4 : Évaluer l’intégrité de toutes les bases de données de disponibilité dans un groupe de disponibilité et inclure des stratégies définies par l’utilisateur

PS C:\> Get-ChildItem "SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MainAg\DatabaseReplicaStates" | Test-SqlDatabaseReplicaState -AllowUserPolicies

Cette commande évalue l’intégrité de toutes les bases de données de disponibilité dans le MainAg groupe de disponibilité. Les stratégies définies par l’utilisateur sont incluses dans cette évaluation.

Exemple 5 : Afficher toutes les bases de données de disponibilité dans un état d’intégrité d’erreur

PS C:\> Get-ChildItem "SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MainAg\DatabaseReplicaStates" | Test-SqlDatabaseReplicaState | Where-Object { $_.HealthState -eq "Error" }

Cette commande affiche toutes les bases de données de disponibilité avec un état d’intégrité dans le Error groupe de MainAg disponibilité.

Paramètres

-AccessToken

Jeton d’accès utilisé pour s’authentifier auprès de SQL Server, comme alternative à l’authentification utilisateur/mot de passe ou Windows.

Cela peut être utilisé, par exemple, pour se connecter à SQL Azure DBSQL Azure Managed Instance une ou à une Service PrincipalManaged Identity (voir les références en bas de cette page)

Dans les scénarios courants, ce paramètre est obtenu avec quelque chose de similaire (Get-AzAccessToken -ResourceUrl https://database.windows.net).Token (nécessite le module Az.Accounts)

Le type du paramètre peut être string (jeton de texte clair) ou SecureString (jeton chiffré, tel qu’il est retourné par une version plus récente de l’applet de commande Get-AzAccessToken.)

Propriétés du paramètre

Type:PSObject
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-AllowUserPolicies

Indique que cette applet de commande exécute des stratégies utilisateur trouvées dans les catégories de stratégies Always On.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Confirm

Vous invite à confirmer avant d’exécuter l’applet de commande.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:False
Prend en charge les caractères génériques:False
DontShow:False
Alias:cf

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Encrypt

Type de chiffrement à utiliser lors de la connexion à SQL Server.

Cette valeur est mappée à la Encrypt propriété SqlConnectionEncryptOption sur l’objet SqlConnection du pilote Microsoft.Data.SqlClient.

Dans la version 22 du module, la valeur par défaut est Optional (pour la compatibilité avec v21). Dans la version 23+ du module, la valeur par défaut est « Obligatoire », ce qui peut créer une modification cassant pour les scripts existants.

Ce paramètre est nouveau dans v22 du module.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Valeurs acceptées:Mandatory, Optional, Strict
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-HostNameInCertificate

Nom d’hôte à utiliser pour valider le certificat SQL Server TLS/SSL. Vous devez passer ce paramètre si votre instance SQL Server est activée pour Forcer le chiffrement et que vous souhaitez vous connecter à une instance à l’aide du nom d’hôte/shortname. Si ce paramètre est omis, le passage du nom de domaine complet (FQDN) à -ServerInstance est nécessaire pour se connecter à une instance SQL Server activée pour Forcer le chiffrement.

Ce paramètre est nouveau dans v22 du module.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-InputObject

Spécifie un tableau d’objets d’état de base de données de disponibilité. Cette applet de commande calcule l’intégrité de ces bases de données de disponibilité.

Propriétés du paramètre

Type:

DatabaseReplicaState[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

ByObject
Position:1
Obligatoire:True
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-NoRefresh

Indique que cette applet de commande n’actualise pas manuellement les objets spécifiés par les paramètres Path ou InputObject .

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Path

Spécifie le chemin d’accès à un ou plusieurs états de cluster de réplica de base de données de la base de données de disponibilité. Il s’agit d’un paramètre facultatif. S’il n’est pas spécifié, la valeur de l’emplacement de travail actuel est utilisée.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

ByPath
Position:1
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-ShowPolicyDetails

Indique que cette applet de commande affiche le résultat de chaque évaluation de stratégie effectuée. L’applet de commande génère un objet par évaluation de stratégie et les résultats de l’évaluation sont disponibles dans les champs de l’objet.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-TrustServerCertificate

Indique si le canal sera chiffré lors du contournement de la marche à pied de la chaîne de certificats pour valider l’approbation.

Dans la version 22 du module, la valeur par défaut est $true (pour la compatibilité avec v21). Dans v23+ du module, la valeur par défaut est « $false », ce qui peut créer une modification cassant pour les scripts existants.

Ce paramètre est nouveau dans v22 du module.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-WhatIf

Affiche ce qui se passerait si l’applet de commande s’exécute. L’applet de commande ne s’exécute pas.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:False
Prend en charge les caractères génériques:False
DontShow:False
Alias:Wi

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

CommonParameters

Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.

Entrées

Microsoft.SqlServer.Management.Smo.DatabaseReplicaState