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) ポリシーを評価することで、参加しているすべての可用性レプリカの可用性データベースの正常性を評価します。
このコマンドレットを実行するには、 CONNECT
、 VIEW SERVER STATE
、 VIEW 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
の可用性レプリカ MainReplica
でMainAg
という名前の可用性データベースの正常性を評価し、簡単な概要を出力します。
例 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 Principal
とManaged 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[]