다음을 통해 공유


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>]

Description

Test-SqlDatabaseReplicaState cmdlet은 SQL Server PBM(정책 기반 관리) 정책을 평가하여 조인된 모든 가용성 복제본에서 가용성 데이터베이스의 상태를 평가합니다. 이 cmdlet을 실행할 수 있는 권한과 CONNECT 권한이 있어야 합니다.VIEW 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 가용성 복제본 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 A Service PrincipalManaged Identity 를 사용하는 데 사용할 수 있습니다(이 페이지의 맨 아래에 있는 참조 참조 참조).

일반적인 시나리오에서 이 매개 변수는 다음과 같이 (Get-AzAccessToken -ResourceUrl https://database.windows.net).Token 가져옵니다(Az.Accounts 모듈 필요).

매개 변수의 형식은 최신 버전의 Get-AzAccessToken cmdlet에서 반환된 대로(텍스트 토큰 지우기) 또는 string 암호화된 토큰일 수 있습니다 SecureString .

형식:PSObject
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-AllowUserPolicies

이 cmdlet은 Always On 정책 범주에 있는 사용자 정책을 실행한다는 것을 나타냅니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Confirm

cmdlet을 실행하기 전에 확인 메시지를 표시합니다.

형식:SwitchParameter
별칭:cf
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Encrypt

SQL Server에 연결할 때 사용할 암호화 유형입니다.

이 값은 Encrypt Microsoft.Data.SqlClient 드라이버의 SqlConnection 개체에 있는 속성 SqlConnectionEncryptOption 에 매핑됩니다.

모듈의 v22에서 기본값은 Optional v21과의 호환성을 위한 것입니다. 모듈의 v23+에서 기본값은 기존 스크립트에 대한 호환성이 손상되는 변경을 만들 수 있는 '필수'입니다.

이 매개 변수는 모듈의 v22에서 새로 생성됩니다.

형식:String
허용되는 값:Mandatory, Optional, Strict
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-HostNameInCertificate

SQL Server TLS/SSL 인증서의 유효성을 검사할 때 사용할 호스트 이름입니다. SQL Server 인스턴스가 Force Encryption을 사용하도록 설정되어 있고 호스트 이름/짧은 이름을 사용하여 인스턴스에 연결하려는 경우 이 매개 변수를 전달해야 합니다. 이 매개 변수를 생략하면 강제 암호화를 사용하도록 설정된 SQL Server 인스턴스에 연결하려면 FQDN(정규화된 도메인 이름)을 -ServerInstance 전달해야 합니다.

이 매개 변수는 모듈의 v22에서 새로 생성됩니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-InputObject

가용성 데이터베이스 상태 개체의 배열을 지정합니다. 이 cmdlet은 이러한 가용성 데이터베이스의 상태를 계산합니다.

형식:DatabaseReplicaState[]
Position:1
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-NoRefresh

이 cmdlet은 Path 또는 InputObject 매개 변수로 지정된 개체를 수동으로 새로 고치지 않음을 나타냅니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Path

가용성 데이터베이스의 하나 이상의 데이터베이스 복제본 클러스터 상태에 대한 경로를 지정합니다. 이것은 선택적 매개 변수입니다. 지정하지 않으면 현재 작업 위치의 값이 사용됩니다.

형식:String[]
Position:1
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-ShowPolicyDetails

이 cmdlet은 수행된 각 정책 평가의 결과를 표시합니다. cmdlet은 정책 평가당 하나의 개체를 출력하고 평가 결과는 개체의 필드에서 사용할 수 있습니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-TrustServerCertificate

신뢰의 유효성을 검사하기 위해 인증서 체인을 건너뛰는 동안 채널이 암호화되는지 여부를 나타냅니다.

모듈의 v22에서 기본값은 $true v21과의 호환성을 위한 것입니다. 모듈의 v23+에서 기본값은 '$false'이며, 이로 인해 기존 스크립트에 대한 호환성이 손상되는 변경이 발생할 수 있습니다.

이 매개 변수는 모듈의 v22에서 새로 생성됩니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-WhatIf

cmdlet이 실행되면 어떻게 되는지 보여 주세요. cmdlet이 실행되지 않습니다.

형식:SwitchParameter
별칭:wi
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

입력

Microsoft.SqlServer.Management.Smo.DatabaseReplicaState[]