次の方法で共有


Test-SqlDatabaseReplicaState

可用性データベースの正常性を評価します。

構文

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

説明

Test-SqlDatabaseReplicaState コマンドレットは、SQL Server ポリシー ベースの管理 (PBM) ポリシーを評価することで、参加しているすべての可用性レプリカの可用性データベースの正常性を評価します。 このコマンドレットを実行するには、 CONNECTVIEW SERVER STATEVIEW ANY DEFINITION のアクセス許可が必要です。

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

例 1: 可用性データベースの正常性を評価する

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

このコマンドは、可用性グループ MainDatabaseの可用性レプリカ MainReplicaMainAgという名前の可用性データベースの正常性を評価し、簡単な概要を出力します。

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

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

このコマンドは、 MainAg 可用性グループ内のすべての可用性データベースの正常性を評価し、各データベースの簡単な概要を出力します。

例 3: PBM 評価結果を示す可用性グループ内のすべての可用性データベースの正常性を評価する

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

このコマンドは、 MainAg 可用性グループ内のすべての可用性データベースの正常性を評価し、実行された各 PBM ポリシーの評価結果を出力します。

例 4: 可用性グループ内のすべての可用性データベースの正常性を評価し、ユーザー定義ポリシーを含める

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

このコマンドは、 MainAg 可用性グループ内のすべての可用性データベースの正常性を評価します。 この評価には、ユーザー定義ポリシーが含まれています。

例 5: エラー正常性状態にあるすべての可用性データベースを表示する

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

このコマンドは、Error可用性グループ内の正常性状態が MainAg のすべての可用性データベースを表示します。

パラメーター

-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

可用性データベース状態オブジェクトの配列を指定します。 このコマンドレットは、これらの可用性データベースの正常性を計算します。

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

-NoRefresh

このコマンドレットは、 Path パラメーターまたは InputObject パラメーターで指定されたオブジェクトを手動で更新しないことを示します。

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

-Path

可用性データベースの 1 つ以上のデータベース レプリカ クラスターの状態へのパスを指定します。 これは省略可能なパラメーターです。 指定しない場合は、現在の作業場所の値が使用されます。

型: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.DatabaseReplicaState[]