次の方法で共有


Test-SqlAvailabilityGroup

可用性グループの正常性を評価します。

構文

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

説明

Test-SqlAvailabilityGroup コマンドレットは、可用性グループの正常性を評価します。 このコマンドレットは、SQL Server ポリシー ベースの管理ポリシーを評価します。 このコマンドレットを実行するには、 CONNECTVIEW SERVER STATE、および VIEW ANY DEFINITION ユーザー権限が必要です。

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

例 1: 可用性グループの正常性を評価する

PS C:\> Test-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\Server\InstanceName\AvailabilityGroups\MainAG"

このコマンドは、 MainAGという名前の可用性グループの正常性を評価します。 このコマンドは概要を返します。

例 2: すべての可用性グループの正常性を評価する

PS C:\> Get-ChildItem "SQLSERVER:\Sql\Server\InstanceName\AvailabilityGroups" | Test-SqlAvailabilityGroup

このコマンドは、SQLSERVER: プロバイダー内の指定された場所に可用性レプリカがあるすべての可用性グループを取得します。 コマンドは、パイプライン演算子を使用して現在のコマンドレットに渡します。 このコマンドレットは、各可用性グループの正常性を評価します。

例 3: 可用性グループの各ポリシーの結果を表示する

PS C:\> Test-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\Server\InstanceName\AvailabilityGroups\MainAG" -ShowPolicyDetails

このコマンドは、 MainAGという名前の可用性グループの正常性を評価します。 このコマンドは ShowPolicyDetails パラメーターを指定します。 そのため、実行された各ポリシー ベースの管理ポリシーの評価結果が表示されます。

例 4: 可用性グループのユーザー定義ポリシーの結果を表示する

PS C:\> Test-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\Server\InstanceName\AvailabilityGroups\MainAG" -AllowUserPolicies

このコマンドは、 MainAGという名前の可用性グループの正常性を評価します。 このコマンドには、この評価にユーザー定義ポリシーが含まれています。

例 5: エラー状態のグループを取得する

PS C:\> Get-ChildItem "SQLSERVER:\Sql\Server\InstanceName\AvailabilityGroups" | Test-SqlAvailabilityGroup | Where-Object { $_.HealthState -eq "Error" }

このコマンドは、SQLSERVER: プロバイダー内の指定された場所に可用性レプリカがあるすべての可用性グループを取得します。 コマンドは、パイプライン演算子を使用して現在のコマンドレットに渡します。 このコマンドレットは、各可用性グループの正常性を評価します。 このコマンドは、これらの結果を Where-Object コマンドレットに渡します。このコマンドレットは、 HealthState プロパティに基づいて結果を返します。

パラメーター

-AccessToken

ユーザー/パスワードまたは Windows 認証の代わりに、SQL Server に対する認証に使用されるアクセス トークン。

これは、たとえば、SQL Azure DBまたはSQL Azure Managed Instanceを使用してService PrincipalManaged Identityに接続するために使用できます (このページの下部にあるリファレンスを参照してください)。

一般的なシナリオでは、このパラメーターは (Get-AzAccessToken -ResourceUrl https://database.windows.net).Token (Az.Accounts モジュールが必要) などを使用して取得されます。

パラメーターの型は、 string (クリア テキスト トークン) または SecureString (Get-AzAccessToken コマンドレットの新しいバージョンによって返される暗号化されたトークン) のいずれかです。

型:PSObject
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-AllowUserPolicies

このコマンドレットは、Always On 可用性グループのポリシー カテゴリにあるユーザー ポリシーをテストすることを示します。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Confirm

コマンドレットを実行する前に確認を求めるメッセージが表示されます。

型:SwitchParameter
Aliases:cf
配置:Named
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Encrypt

SQL Server に接続するときに使用する暗号化の種類。

この値は、Microsoft.Data.SqlClient ドライバーの SqlConnection オブジェクトの Encrypt プロパティ SqlConnectionEncryptOption にマップされます。

モジュールの v22 では、既定値は Optional です (v21 との互換性のため)。 モジュールの v23 以降では、既定値は "必須" になり、既存のスクリプトに重大な変更が生じる可能性があります。

このパラメーターは、モジュールの v22 の新機能です。

型:String
指定可能な値:Mandatory, Optional, Strict
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-HostNameInCertificate

SQL Server TLS/SSL 証明書の検証に使われるホスト名。 SQL Server インスタンスで Force Encryption が有効になっていて、ホスト名/短縮名を使用してインスタンスに接続する場合は、このパラメーターを渡す必要があります。 このパラメーターを省略した場合、強制暗号化が有効になっている SQL Server インスタンスに接続するには、完全修飾ドメイン名 (FQDN) を -ServerInstance に渡す必要があります。

このパラメーターは、モジュールの v22 の新機能です。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-InputObject

可用性グループオブジェクトとして可用性グループの配列を指定します。 このコマンドレットは、このパラメーターが指定する可用性グループの正常性を評価します。

型:AvailabilityGroup[]
配置:1
規定値:None
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-NoRefresh

Path または InputObject パラメーターで指定されたオブジェクトを更新しないことを示します。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Path

このコマンドレットが評価する可用性グループのパスを指定します。 このパラメーターを指定しない場合、このコマンドレットは現在の作業場所を使用します。

型:String[]
配置:1
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ShowPolicyDetails

このコマンドレットが実行する各ポリシー評価の結果を表示することを示します。 このコマンドレットは、ポリシー評価ごとに 1 つのオブジェクトを返します。 各ポリシー オブジェクトには、評価の結果が含まれます。 この情報には、ポリシーが渡されたかどうか、ポリシー名、およびポリシー カテゴリが含まれます。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-TrustServerCertificate

信頼を検証するために証明書チェーンのウォークをバイパスしながらチャネルを暗号化するかどうかを示します。

モジュールの v22 では、既定値は $true です (v21 との互換性のため)。 モジュールの v23 以降では、既定値は "$false" になり、既存のスクリプトに重大な変更が生じる可能性があります。

このパラメーターは、モジュールの v22 の新機能です。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-WhatIf

コマンドレットを実行した場合の動作を示します。 コマンドレットは実行されません。

型:SwitchParameter
Aliases:wi
配置:Named
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

入力

Microsoft.SqlServer.Management.Smo.AvailabilityGroup[]