New-SqlAvailabilityReplica
새 가용성 복제본을 만듭니다.
Syntax
New-SqlAvailabilityReplica
-AvailabilityMode <AvailabilityReplicaAvailabilityMode>
-FailoverMode <AvailabilityReplicaFailoverMode>
-EndpointUrl <String>
[-SessionTimeout <Int32>]
[-ConnectionModeInPrimaryRole <AvailabilityReplicaConnectionModeInPrimaryRole>]
[-ConnectionModeInSecondaryRole <AvailabilityReplicaConnectionModeInSecondaryRole>]
[-BackupPriority <Int32>]
[-ReadOnlyRoutingList <String[]>]
[-ReadonlyRoutingConnectionUrl <String>]
[-SeedingMode <AvailabilityReplicaSeedingMode>]
[-LoadBalancedReadOnlyRoutingList <String[][]>]
[-Name] <String>
[[-Path] <String>]
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-SqlAvailabilityReplica
-AvailabilityMode <AvailabilityReplicaAvailabilityMode>
-FailoverMode <AvailabilityReplicaFailoverMode>
-EndpointUrl <String>
[-SessionTimeout <Int32>]
[-ConnectionModeInPrimaryRole <AvailabilityReplicaConnectionModeInPrimaryRole>]
[-ConnectionModeInSecondaryRole <AvailabilityReplicaConnectionModeInSecondaryRole>]
[-BackupPriority <Int32>]
[-ReadOnlyRoutingList <String[]>]
[-ReadonlyRoutingConnectionUrl <String>]
[-SeedingMode <AvailabilityReplicaSeedingMode>]
[-LoadBalancedReadOnlyRoutingList <String[][]>]
[-AsTemplate]
[-Version <ServerVersion>]
[-Name] <String>
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-SqlAvailabilityReplica
-AvailabilityMode <AvailabilityReplicaAvailabilityMode>
-FailoverMode <AvailabilityReplicaFailoverMode>
-EndpointUrl <String>
[-SessionTimeout <Int32>]
[-ConnectionModeInPrimaryRole <AvailabilityReplicaConnectionModeInPrimaryRole>]
[-ConnectionModeInSecondaryRole <AvailabilityReplicaConnectionModeInSecondaryRole>]
[-BackupPriority <Int32>]
[-ReadOnlyRoutingList <String[]>]
[-ReadonlyRoutingConnectionUrl <String>]
[-SeedingMode <AvailabilityReplicaSeedingMode>]
[-LoadBalancedReadOnlyRoutingList <String[][]>]
[-Name] <String>
[-InputObject] <AvailabilityGroup>
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
New-SqlAvailabilityReplica cmdlet은 가용성 복제본(replica) 만듭니다. 기본 복제본(replica) 호스트하는 SQL Server instance 이 cmdlet을 실행합니다.
가용성 그룹을 만들기 전에 가용성 복제본(replica) 만들려면 AsTemplate 매개 변수를 지정합니다. 기존 가용성 그룹에 복제본(replica) 추가하려면 InputObject 또는 Path 매개 변수가 가용성 그룹을 지정합니다.
예제
예제 1: 가용성 복제본(replica) 표현을 만듭니다.
PS C:\> $ServerObject = Get-Item "SQLSERVER:\Sql\PrimaryServer\InstanceName"
PS C:\> New-SqlAvailabilityReplica -Name "PrimaryServer\Instance" -EndpointUrl "TCP://PrimaryServerName.domain.com:5022" -FailoverMode Automatic -AvailabilityMode SynchronousCommit -AsTemplate -Version $ServerObject.Version
이 예에서는 가용성 복제본의 메모리 내 표현을 만듭니다. 변경 내용이 서버로 커밋되지 않습니다. 이 복제본(replica) New-SqlAvailabilityGroup의 AvailabilityReplica 매개 변수 값으로 사용할 수 있습니다.
첫 번째 명령은 주 서버의 instance 가져옵니다.
두 번째 명령은 가용성 복제본(replica) 만듭니다. 이 복제본(replica) 지정된 URL에 있는 데이터베이스 미러링 엔드포인트를 사용하여 가용성 그룹의 다른 복제본과 통신합니다. 이 복제본은 자동 장애 조치(Failover) 및 비동기 커밋 가용성 모드를 지원합니다. Version 매개 변수는 이 새 복제본(replica) 호스트할 서버 instance 버전을 지정합니다.
예제 2: 수동 장애 조치(failover) 및 비동기 커밋을 지원하는 가용성 복제본(replica) 만듭니다.
PS C:\> $ServerObject = Get-Item "SQLSERVER:\Sql\PrimaryServer\InstanceName"
PS C:\> New-SqlAvailabilityReplica -Name "SecondaryServer\Instance" -EndpointUrl "TCP://PrimaryServerName.domain.com:5022" -FailoverMode Manual -AvailabilityMode AsynchronousCommit -AsTemplate -Version $ServerObject.Version
이 예에서는 가용성 복제본의 메모리 내 표현을 만듭니다. 변경 내용이 서버로 커밋되지 않습니다.
첫 번째 명령은 주 서버의 instance 가져옵니다.
두 번째 명령은 가용성 복제본(replica) 만듭니다. 이 복제본(replica) 지정된 URL에 있는 데이터베이스 미러링 엔드포인트를 사용하여 가용성 그룹의 다른 복제본과 통신합니다. 이 복제본은 수동 장애 조치(Failover) 및 비동기 커밋 가용성 모드를 지원합니다. Version 매개 변수는 이 새 복제본(replica) 호스트할 서버 instance 버전을 지정합니다.
예제 3: 가용성 그룹에 가용성 복제본(replica) 추가
PS C:\> New-SqlAvailabilityReplica -Name "SecondaryServer\Instance" -EndpointUrl "TCP://PrimaryServerName.domain.com:5022" -FailoverMode Manual -AvailabilityMode AsynchronousCommit -ConnectionModeInSecondaryRole AllowAllConnections -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG"
이 명령은 'MainAG'라는 기존 가용성 그룹에 가용성 복제본(replica) 추가합니다. 이 복제본은 수동 장애 조치(Failover) 및 비동기 커밋 가용성 모드를 지원합니다. 보조 역할에서 이 복제본(replica) 읽기 액세스 연결을 지원합니다. 이 구성을 사용하면 읽기 전용 처리를 이 복제본(replica) 오프로드할 수 있습니다.
매개 변수
-AccessToken
사용자/암호 또는 Windows 인증 대신 SQL Server 인증하는 데 사용되는 액세스 토큰입니다.
예를 들어 또는 에 연결 SQL Azure DB
하고 를 사용하는 Service Principal
데 사용할 수 있습니다Managed Identity
SQL Azure Managed Instance
.
사용할 매개 변수는 토큰을 나타내는 문자열이거나 PSAccessToken
를 실행 Get-AzAccessToken -ResourceUrl https://database.windows.net
하여 반환된 개체일 수 있습니다.
이 매개 변수는 모듈의 v22에서 새로 추가되었습니다.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AsTemplate
이 cmdlet이 메모리에 임시 AvailabilityReplica 개체를 만든다는 것을 나타냅니다. 가용성 복제본(replica) 만들기 전에 가용성 그룹을 만들려면 이 매개 변수를 지정합니다. New-SqlAvailabilityGroup cmdlet을 사용하여 가용성 그룹을 만듭니다. 임시 가용성 복제본(replica) AvailabilityReplica 매개 변수의 값으로 지정합니다.
AsTemplate을 지정하는 경우 이 cmdlet은 InputObject 및 Path 매개 변수에 대한 값을 무시합니다.
이 매개 변수를 지정하는 경우 Version 매개 변수에 대한 SQL Server 버전도 지정해야 합니다. 그렇지 않으면 현재 세션에 instance 대한 활성 연결이 있어야 합니다.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AvailabilityMode
복제본(replica) 가용성 모드를 지정합니다.
값을 지정할 수 있습니다. $Null.
Type: | AvailabilityReplicaAvailabilityMode |
Accepted values: | AsynchronousCommit, SynchronousCommit, Unknown, ConfigurationOnly |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-BackupPriority
백업을 수행할 때 복제본의 원하는 우선 순위를 지정합니다. 이 매개 변수에 허용되는 값은 0에서 100까지의 정수입니다. 온라인 및 사용 가능한 복제본 집합 중 우선 순위가 가장 높은 복제본(replica) 백업을 수행합니다.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
cmdlet을 실행하기 전에 확인을 요청합니다.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ConnectionModeInPrimaryRole
주 역할에서 가용성 복제본(replica) 연결을 처리하는 방법을 지정합니다.
이 매개 변수에 허용되는 값은 다음과 같습니다.
- AllowReadWriteConnections. 읽기/쓰기 연결을 허용합니다.
- AllowAllConnections. 모든 연결 허용
Type: | AvailabilityReplicaConnectionModeInPrimaryRole |
Accepted values: | AllowAllConnections, AllowReadWriteConnections, Unknown |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ConnectionModeInSecondaryRole
보조 역할에서 가용성 복제본(replica) 연결을 처리하는 방법을 지정합니다. 이 매개 변수에 허용되는 값은 다음과 같습니다.
- AllowNoConnections. 연결 허용 안 함
- AllowReadIntentConnectionsOnly. 읽기 전용 연결만 허용
- AllowAllConnections. 모든 연결 허용
Type: | AvailabilityReplicaConnectionModeInSecondaryRole |
Accepted values: | AllowNoConnections, AllowReadIntentConnectionsOnly, AllowAllConnections, Unknown |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Encrypt
SQL Server 연결할 때 사용할 암호화 유형입니다.
이 값은 Encrypt
Microsoft.Data.SqlClient 드라이버의 SqlConnection 개체에 있는 속성 SqlConnectionEncryptOption
에 매핑됩니다.
모듈의 v22에서 기본값은 (v21과의 호환성을 위해)입니다 Optional
. 모듈의 v23 이상에서는 기본값이 '필수'이며 기존 스크립트에 대한 호환성이 손상되는 변경이 발생할 수 있습니다.
이 매개 변수는 모듈의 v22에서 새로 추가되었습니다.
Type: | String |
Accepted values: | Mandatory, Optional, Strict |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-EndpointUrl
데이터베이스 미러링 엔드포인트의 URL을 지정합니다. 이 URL은 다음 형식의 TCP 주소입니다.
TCP://system-address:port
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FailoverMode
장애 조치(failover) 모드를 지정합니다.
값을 지정할 수 있습니다. $Null
Type: | AvailabilityReplicaFailoverMode |
Accepted values: | Automatic, Manual, External, Unknown |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-HostNameInCertificate
SQL Server TLS/SSL 인증서의 유효성을 검사할 때 사용할 호스트 이름입니다. 강제 암호화에 대해 SQL Server instance 사용하도록 설정되어 있고 hostname/shortname을 사용하여 instance 연결하려는 경우 이 매개 변수를 전달해야 합니다. 이 매개 변수를 생략하면 FQDN(정규화된 도메인 이름)을 -ServerInstance에 전달하여 강제 암호화를 사용하도록 설정된 SQL Server instance 연결해야 합니다.
이 매개 변수는 모듈의 v22에서 새로 추가되었습니다.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
가용성 그룹을 복제본(replica) 속한 AvailabilityGroup 개체로 지정합니다.
Type: | AvailabilityGroup |
Position: | 2 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LoadBalancedReadOnlyRoutingList
부하가 분산된 읽기 전용 라우팅 목록을 지정합니다.
라우팅 목록은 부하가 분산된 집합 목록으로, 복제본 목록입니다.
예를 들어 와 같은 값을 전달합니다.
@('Server1','Server2'),@('Server3'),@('Server4')
는 3개의 부하 분산 집합을 전달하는 것을 의미합니다. 즉, 복제본 2개(Server1 및 Server2)가 있는 1개와 1개(각각 Server3 및 Server4)가 있는 2개입니다.
런타임에 SQL Server 적어도 복제본(replica) 사용할 수 있는 집합을 찾아서 부하 분산에 사용할 때까지 모든 부하 분산 집합에서 순차적으로 확인합니다.
따라서 위의 예제에서 Server1과 Server2를 모두 사용할 수 없지만 Server3이면 SQL Server Server3을 선택합니다.
이 cmdlet은 읽기 전용 라우팅 목록만 설정하고 지정된 복제본의 가용성에 검사 않습니다.
Type: | String[][] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
가용성 복제본(replica) 이름을 Computer\Instance 형식으로 지정합니다.
Type: | String |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
복제본(replica) 속한 가용성 그룹의 경로를 지정합니다. 이 매개 변수를 지정하지 않으면 이 cmdlet은 현재 작업 위치를 사용합니다.
Type: | String |
Position: | 2 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ReadonlyRoutingConnectionUrl
다음 예제와 같이 읽기 전용 연결을 위해 복제본(replica) 라우팅할 때 사용할 FQDN(정규화된 도메인 이름) 및 포트를 지정합니다. TCP://DBSERVER8.manufacturing.Contoso.com:7024
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ReadOnlyRoutingList
이 가용성 복제본(replica) 통해 읽기 전용 연결을 리디렉션할 때 사용할 연결 디렉터의 프로브 시퀀스를 나타내는 정렬된 복제본(replica) 서버 이름 목록을 지정합니다. 이 매개 변수는 가용성 복제본(replica) 가용성 그룹의 현재 기본 복제본(replica) 경우에 적용됩니다.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Script
이 cmdlet이 이 cmdlet이 수행하는 작업을 수행하는 Transact-SQL 스크립트를 반환한다는 것을 나타냅니다.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SeedingMode
보조 복제본을 처음에 시드하는 방법을 지정합니다.
허용되는 값은 다음과 같습니다.
- 자동. 직접 시드를 활성화합니다. 이 메서드는 네트워크를 통해 보조 복제본을 시드합니다. 이 메서드를 사용하면 복제본에서 주 데이터베이스의 복사본을 백업 및 복원할 필요가 없습니다.
- 수동. 수동 시드를 지정합니다. 이 메서드를 사용하면 주 복제본에서 데이터베이스의 백업을 만들고 보조 복제본에서 해당 백업을 수동으로 복원해야 합니다.
Type: | AvailabilityReplicaSeedingMode |
Accepted values: | Automatic, Manual |
Position: | Named |
Default value: | Manual |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SessionTimeout
연결이 실패하기 전에 기본 복제본(replica) 및 이 복제본(replica) 간의 응답을 기다리는 시간(초)을 지정합니다.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TrustServerCertificate
트러스트의 유효성을 검사하기 위해 인증서 체인을 건너뛰는 동안 채널이 암호화되는지 여부를 나타냅니다.
모듈의 v22에서 기본값은 (v21과의 호환성을 위해) 입니다 $true
. 모듈의 v23+에서 기본값은 '$false'이며 기존 스크립트에 대한 호환성이 손상되는 변경이 발생할 수 있습니다.
이 매개 변수는 모듈의 v22에서 새로 추가되었습니다.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Version
SQL Server 버전을 지정합니다. AsTemplate 매개 변수를 지정하는 경우 버전을 지정해야 합니다. 템플릿 개체는 이 버전을 포함하는 서버에서 디자인 모드로 만들어집니다. 다음 예제(SQL Server 2017)와 같이 정수 또는 문자열을 지정할 수 있습니다.
- 14
- '14.0.0'
Type: | ServerVersion |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
cmdlet을 실행할 경우 발생하는 일을 표시합니다. cmdlet은 실행되지 않습니다.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
입력
Microsoft.SqlServer.Management.Smo.AvailabilityGroup
가용성 그룹을 이 cmdlet에 전달할 수 있습니다.
출력
Microsoft.SqlServer.Management.Smo.AvailabilityReplica
이 cmdlet은 가용성 복제본(replica) 반환합니다.