다음을 통해 공유


Set-SqlAvailabilityReplica

가용성 복제본의 설정을 설정합니다.

구문

Set-SqlAvailabilityReplica
   [-AvailabilityMode <AvailabilityReplicaAvailabilityMode>]
   [-FailoverMode <AvailabilityReplicaFailoverMode>]
   [-EndpointUrl <String>]
   [-SessionTimeout <Int32>]
   [-ConnectionModeInPrimaryRole <AvailabilityReplicaConnectionModeInPrimaryRole>]
   [-ConnectionModeInSecondaryRole <AvailabilityReplicaConnectionModeInSecondaryRole>]
   [-SeedingMode <AvailabilityReplicaSeedingMode>]
   [-BackupPriority <Int32>]
   [-ReadOnlyRoutingList <String[]>]
   [-ReadonlyRoutingConnectionUrl <String>]
   [-LoadBalancedReadOnlyRoutingList <String[][]>]
   [[-Path] <String>]
   [-Script]
   [-AccessToken <PSObject>]
   [-TrustServerCertificate]
   [-HostNameInCertificate <String>]
   [-Encrypt <String>]
   [-ProgressAction <ActionPreference>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-SqlAvailabilityReplica
   [-AvailabilityMode <AvailabilityReplicaAvailabilityMode>]
   [-FailoverMode <AvailabilityReplicaFailoverMode>]
   [-EndpointUrl <String>]
   [-SessionTimeout <Int32>]
   [-ConnectionModeInPrimaryRole <AvailabilityReplicaConnectionModeInPrimaryRole>]
   [-ConnectionModeInSecondaryRole <AvailabilityReplicaConnectionModeInSecondaryRole>]
   [-SeedingMode <AvailabilityReplicaSeedingMode>]
   [-BackupPriority <Int32>]
   [-ReadOnlyRoutingList <String[]>]
   [-ReadonlyRoutingConnectionUrl <String>]
   [-LoadBalancedReadOnlyRoutingList <String[][]>]
   [-InputObject] <AvailabilityReplica>
   [-Script]
   [-AccessToken <PSObject>]
   [-TrustServerCertificate]
   [-HostNameInCertificate <String>]
   [-Encrypt <String>]
   [-ProgressAction <ActionPreference>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

Set-SqlAvailabilityReplica cmdlet은 가용성 복제본에 대한 다양한 속성을 설정하거나 수정합니다. 주 복제본을 호스트하는 서버 인스턴스에서 이 cmdlet을 실행합니다.

예제

예제 1: 복제본 가용성 모드 수정 및 자동 장애 조치(failover)

PS C:\> Set-SqlAvailabilityReplica -AvailabilityMode "SynchronousCommit" -FailoverMode Automatic -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityReplicas\Replica02"

이 명령은 synchronous-commit 가용성 모드를 사용하고 automatic failover지원하기 위해 MainAG 가용성 그룹의 Replica02 복제본을 수정합니다.

예제 2: 강제 수동 장애 조치(failover)를 지원하도록 복제본 수정

PS C:\> Set-SqlAvailabilityReplica -AvailabilityMode AsynchronousCommit -FailoverMode Manual -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityReplicas\Replica02"

이 명령은 asynchronous-commit 가용성 모드를 사용하고 데이터 손실을 초래할 수 있는 forced manual failover만 지원하도록 MainAG 가용성 그룹의 Replica02 복제본을 수정합니다.

예제 3: 보조 역할의 모든 연결 허용

PS C:\> Set-SqlAvailabilityReplica -ConnectionModeInSecondaryRole AllowAllConnections -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityReplicas\Replica02"

이 명령은 보조 역할의 모든 연결을 허용하도록 가용성 그룹 MainAG 복제본 Replica02 수정합니다. 이렇게 하면 읽기 전용 데이터 처리 워크로드를 보조 복제본으로 오프로드할 수 있습니다.

예제 4: 읽기 전용 라우팅을 위한 주 복제본 및 보조 복제본 구성

PS C:\> Set-Location "SQLSERVER:\SQL\PrimaryServer\default\AvailabilityGroups\MainAG"
PS C:\> $PrimaryReplica = Get-Item "AvailabilityReplicas\PrimaryServer"
PS C:\> $SecondaryReplica = Get-Item "AvailabilityReplicas\SecondaryServer"
PS C:\> Set-SqlAvailabilityReplica -ReadOnlyRoutingConnectionUrl "TCP://PrimaryServer.domain.com:5022" -InputObject $PrimaryReplica
PS C:\> Set-SqlAvailabilityReplica -ReadOnlyRoutingConnectionUrl "TCP://SecondaryServer.domain.com:5022" -InputObject $SecondaryReplica
PS C:\> Set-SqlAvailabilityReplica -ReadOnlyRoutingList "SecondaryServer","PrimaryServer" -InputObject $PrimaryReplica

첫 번째 명령은 SQLSERVER: 공급자의 위치로 위치를 변경합니다.

네 번째 명령은 읽기 전용 라우팅 URL을 주 복제본에 할당합니다. 그런 다음 주 복제본에서 읽기 전용 라우팅 목록을 설정합니다.

예제 5: 백업 우선 순위 수정

PS C:\> Set-SqlAvailabilityReplica -BackupPriority 60 -Path "SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MainAG\AvailabilityReplicas\Replica02"

이 명령은 가용성 복제본 Replica02 백업 우선 순위를 60설정합니다. 이 우선 순위는 주 복제본을 호스트하는 서버 인스턴스에서 가용성 그룹의 데이터베이스에 대해 자동화된 백업 요청을 처리해야 하는 복제본을 결정하는 데 사용됩니다. 우선 순위가 가장 높은 복제본이 선택됩니다.

매개 변수

-AccessToken

사용자/암호 또는 Windows 인증 대신 SQL Server에 인증하는 데 사용되는 액세스 토큰입니다.

예를 들어 Service Principal 또는 Managed Identity사용하여 SQL Azure DB 연결하고 SQL Azure Managed Instance 데 사용할 수 있습니다.

사용할 매개 변수는 토큰을 나타내는 문자열이거나 Get-AzAccessToken -ResourceUrl https://database.windows.net실행하여 반환된 PSAccessToken 개체일 수 있습니다.

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

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

-AvailabilityMode

복제본 가용성 모드를 지정합니다.

$Null값을 지정할 수 있습니다.

형식:AvailabilityReplicaAvailabilityMode
허용되는 값:AsynchronousCommit, SynchronousCommit, Unknown, ConfigurationOnly
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-BackupPriority

백업을 수행할 때 복제본의 원하는 우선 순위를 지정합니다. 이 매개 변수에 허용되는 값은 0에서 100까지의 정수입니다. 온라인 및 사용 가능한 복제본 집합 중 우선 순위가 가장 높은 복제본은 백업을 수행합니다.

값이 0이면 복제본이 후보가 아님을 나타냅니다.

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

-Confirm

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

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

-ConnectionModeInPrimaryRole

주 역할에서 가용성 복제본이 연결을 처리하는 방법을 지정합니다. 이 매개 변수에 허용되는 값은 다음과 같습니다.

  • AllowReadWriteConnections. 읽기/쓰기 연결을 허용합니다.
  • AllowAllConnections. 모든 연결을 허용합니다.
형식:AvailabilityReplicaConnectionModeInPrimaryRole
허용되는 값:AllowAllConnections, AllowReadWriteConnections, Unknown
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-ConnectionModeInSecondaryRole

보조 역할에서 가용성 복제본이 연결을 처리하는 방법을 지정합니다. 이 매개 변수에 허용되는 값은 다음과 같습니다.

  • AllowNoConnections. 연결을 허용하지 않습니다.
  • AllowReadIntentConnectionsOnly. 읽기 전용 연결을 허용합니다.
  • AllowAllConnections. 모든 연결을 허용합니다.
형식:AvailabilityReplicaConnectionModeInSecondaryRole
허용되는 값:AllowNoConnections, AllowReadIntentConnectionsOnly, AllowAllConnections, Unknown
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Encrypt

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

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

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

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

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

-EndpointUrl

데이터베이스 미러링 엔드포인트의 URL을 지정합니다. 이 URL은 다음과 같은 형식의 TCP 주소입니다. TCP://system-address:port

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

-FailoverMode

장애 조치(failover) 모드를 지정합니다.

$Null값을 지정할 수 있습니다.

형식:AvailabilityReplicaFailoverMode
허용되는 값:Automatic, Manual, External, Unknown
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 개체로 지정합니다.

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

-LoadBalancedReadOnlyRoutingList

부하가 분산된 읽기 전용 라우팅 목록을 지정합니다.

라우팅 목록은 부하가 분산된 집합 목록으로, 복제본 목록입니다.

예를 들어 다음과 같은 값을 전달합니다.

@('Server1','Server2'),@('Server3'),@('Server4')

는 3개의 부하 분산된 집합을 전달하는 것을 의미합니다. 복제본 2개(Server1 및 Server2)가 있는 1개와 복제본이 1개(각각 Server3 및 Server4)인 2개입니다.

런타임 시 SQL Server는 적어도 복제본에서 사용할 수 있는 집합을 찾아 부하 분산에 사용할 때까지 모든 부하 분산 집합을 순차적으로 살펴봅니다.

따라서 위의 예제에서 Server1과 Server2를 모두 사용할 수 없지만 Server3인 경우 SQL Server는 Server3을 선택합니다.

이 cmdlet은 읽기 전용 라우팅 목록만 설정하고 지정된 복제본의 가용성을 확인하지 않습니다.

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

-Path

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

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

-ProgressAction

powerShell이 스크립트, cmdlet 또는 공급자(예: Write-Progress cmdlet에서 생성된 진행률 표시줄)에 의해 생성된 진행률 업데이트에 응답하는 방법을 결정합니다. Write-Progress cmdlet은 명령의 상태를 표시하는 진행률 표시줄을 만듭니다.

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

-ReadonlyRoutingConnectionUrl

다음 예제와 같이 읽기 전용 연결을 위해 복제본으로 라우팅할 때 사용할 FQDN(정규화된 도메인 이름) 및 포트를 지정합니다. TCP://DBSERVER8.manufacturing.Contoso.com:7024

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

-ReadOnlyRoutingList

이 가용성 복제본을 통해 읽기 전용 연결을 리디렉션할 때 사용할 연결 디렉터의 프로브 순서를 나타내는 정렬된 복제본 서버 이름 목록을 지정합니다. 이 매개 변수는 가용성 복제본이 가용성 그룹의 현재 주 복제본인 경우에 적용됩니다.

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

-Script

이 cmdlet이 이 cmdlet이 수행하는 작업을 수행하는 Transact-SQL 스크립트를 반환한다는 것을 나타냅니다.

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

-SeedingMode

보조 복제본을 처음 시드하는 방법을 지정합니다.

허용되는 값:

  • 자동 번역. 직접 시드를 사용하도록 설정합니다. 이 메서드는 네트워크를 통해 보조 복제본을 시드합니다. 이 메서드는 복제본에서 주 데이터베이스의 복사본을 백업하고 복원할 필요가 없습니다.
  • 수동. 수동 시드를 지정합니다. 이 방법을 사용하려면 주 복제본에서 데이터베이스의 백업을 만들고 보조 복제본에서 해당 백업을 수동으로 복원해야 합니다.
형식:AvailabilityReplicaSeedingMode
허용되는 값:Automatic, Manual
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-SessionTimeout

연결이 실패하기 전에 주 복제본과 이 복제본 간의 응답을 기다리는 시간(초)을 지정합니다.

형식:Int32
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.AvailabilityReplica