다음을 통해 공유


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

Description

Test-SqlAvailabilityGroup cmdlet은 가용성 그룹의 상태를 평가합니다. 이 cmdlet은 SQL Server 정책 기반 관리 정책을 평가합니다. 이 cmdlet을 실행하려면 사용자 권한이 있어야 CONNECT 합니다VIEW SERVER STATEVIEW 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: 공급자의 지정된 위치에 가용성 복제본이 있는 모든 가용성 그룹을 가져옵니다. 이 명령은 파이프라인 연산자를 사용하여 현재 cmdlet에 전달합니다. 이 cmdlet은 각 가용성 그룹의 상태를 평가합니다.

예제 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: 공급자의 지정된 위치에 가용성 복제본이 있는 모든 가용성 그룹을 가져옵니다. 이 명령은 파이프라인 연산자를 사용하여 현재 cmdlet에 전달합니다. 이 cmdlet은 각 가용성 그룹의 상태를 평가합니다. 이 명령은 HealthState 속성에 따라 결과를 반환하는 Where-Object cmdlet에 해당 결과를 전달합니다.

매개 변수

-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

가용성 그룹의 배열을 AvailabilityGroup 개체로 지정합니다. 이 cmdlet은 이 매개 변수가 지정하는 가용성 그룹의 상태를 평가합니다.

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

-NoRefresh

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

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

-Path

이 cmdlet이 평가하는 가용성 그룹의 경로를 지정합니다. 이 매개 변수를 지정하지 않으면 이 cmdlet은 현재 작업 위치를 사용합니다.

형식: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.AvailabilityGroup[]