Add-SqlAvailabilityDatabase

가용성 그룹에 주 데이터베이스를 추가하거나 보조 데이터베이스를 가용성 그룹에 조인합니다.

Syntax

Add-SqlAvailabilityDatabase
   -Database <String[]>
   [[-Path] <String[]>]
   [-Script]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Add-SqlAvailabilityDatabase
   -Database <String[]>
   [-InputObject] <AvailabilityGroup[]>
   [-Script]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

Add-SqlAvailabilityDatabase cmdlet은 가용성 그룹에 주 데이터베이스를 추가하거나 보조 데이터베이스를 가용성 그룹에 조인합니다. InputObject 또는 Path 매개 변수는 가용성 그룹을 지정합니다. 데이터베이스는 하나의 가용성 그룹에만 속할 수 있습니다.

가용성 그룹에 데이터베이스를 추가하려면 주 복제본(replica) 호스트하는 서버 instance 이 cmdlet을 실행합니다. 하나 이상의 로컬 사용자 데이터베이스를 지정합니다.

보조 데이터베이스를 가용성 그룹에 조인하려면 보조 복제본(replica) 호스트하는 서버 instance 보조 데이터베이스를 수동으로 준비합니다. 그런 다음 보조 복제본(replica) 호스트하는 서버 instance 이 cmdlet을 실행합니다.

예제

예제 1: 가용성 그룹에 데이터베이스 추가

PS C:\>Add-SqlAvailabilityDatabase -Path "SQLSERVER:\SQL\PrimaryServer\InstanceName\AvailabilityGroups\MainAG" -Database "Database16"

이 명령은 데이터베이스 Database16을 가용성 그룹 MainAG에 추가합니다. 가용성 그룹의 주 서버 instance 이 명령을 실행합니다. 이 명령은 데이터 동기화를 위해 보조 데이터베이스를 준비하지 않습니다.

예제 2: 가용성 그룹에 데이터베이스 조인

PS C:\>Add-SqlAvailabilityDatabase -Path "SQLSERVER:\SQL\SecondaryServer\InstanceName\AvailabilityGroups\MainAG" -Database "Database16"

이 명령은 Database16이라는 보조 데이터베이스를 보조 복제본(replica) 호스트하는 서버 인스턴스 중 하나의 가용성 그룹 MainAG에 조인합니다.

예제 3: 데이터베이스를 추가하고 보조 데이터베이스를 가용성 그룹에 조인

PS C:\> $DatabaseBackupFile = "\\share\backups\Database16.bak"
PS C:\> $LogBackupFile = "\\share\backups\Database16.trn"
PS C:\> $AGPrimaryPath = "SQLSERVER:\SQL\PrimaryServer\InstanceName\AvailabilityGroups\MainAG"
PS C:\> $MyAGSecondaryPath = "SQLSERVER:\SQL\SecondaryServer\InstanceName\AvailabilityGroups\MainAG"
PS C:\> Backup-SqlDatabase -Database "Database16" -BackupFile $DatabaseBackupFile -ServerInstance "PrimaryServer\InstanceName"
PS C:\> Backup-SqlDatabase -Database "Database16" -BackupFile $LogBackupFile -ServerInstance "PrimaryServer\InstanceName" -BackupAction Log
PS C:\> Restore-SqlDatabase -Database "Database16" -BackupFile $DatabaseBackupFile -ServerInstance "SecondaryServer\InstanceName" -NoRecovery
PS C:\> Restore-SqlDatabase -Database "Database16" -BackupFile $LogBackupFile -ServerInstance "SecondaryServer\InstanceName" -RestoreAction Log -NoRecovery
PS C:\> Add-SqlAvailabilityDatabase -Path $AGPrimaryPath -Database 'Database16'
PS C:\> Add-SqlAvailabilityDatabase -Path $AGSecondaryPath -Database "Database16"

다음은 가용성 그룹의 주 복제본(replica) 호스트하는 서버 instance 데이터베이스에서 보조 데이터베이스를 준비하는 예제입니다. 데이터베이스를 주 데이터베이스로 가용성 그룹에 추가합니다. 마지막으로 보조 데이터베이스를 가용성 그룹에 조인합니다.

처음 네 개의 명령은 예제의 뒷부분에서 사용할 수 있는 경로를 변수에 저장합니다. 명령은 $DatabaseBackupFile, $LogBackupFile, $AGPrimaryPath 및 $AGSecondaryPath 변수에 값을 할당합니다.

다섯 번째 명령은 주 서버에 있는 Database16이라는 데이터베이스를 $DatabaseBackupFile 위치에 백업합니다.

여섯 번째 명령은 주 서버의 Database16에 대한 로그 파일을 $LogBackupFile 위치에 백업합니다.

일곱 번째 명령은 보조 서버에서 Database16에 대한 데이터베이스 백업을 복원합니다.

여덟 번째 명령은 보조 서버에서 Database16에 대한 로그 파일을 복원합니다.

아홉 번째 명령은 주 서버의 가용성 그룹에 데이터베이스를 추가합니다.

최종 명령은 해당 복제본(replica) 대한 보조 데이터베이스를 가용성 그룹에 조인합니다. 두 개 이상의 보조 복제본(replica) 있는 경우 각각에 대해 보조 데이터베이스를 복원하고 조인합니다.

예제 4: 가용성 그룹에 데이터베이스를 추가하는 스크립트 만들기

PS C:\>Add-SqlAvailabilityDatabase -Path "SQLSERVER:\SQL\PrimaryServer\InstanceName\AvailabilityGroups\MainAG" -Database "Database16" -Script

이 명령은 데이터베이스 Database16을 가용성 그룹 MainAG에 추가하는 Transact-SQL 스크립트를 만듭니다.

매개 변수

-Confirm

cmdlet을 실행하기 전에 확인을 요청합니다.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Database

사용자 데이터베이스의 배열을 지정합니다. 이 cmdlet은 이 매개 변수가 지정하는 데이터베이스를 가용성 그룹에 추가하거나 조인합니다. 지정한 데이터베이스는 SQL Server 로컬 instance 있어야 합니다.

Type:String[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-InputObject

가용성 그룹을 이 cmdlet이 데이터베이스를 추가하거나 조인하는 AvailabilityGroup 개체로 지정합니다.

Type:AvailabilityGroup[]
Position:2
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Path

이 cmdlet이 데이터베이스를 추가하거나 조인하는 가용성 그룹의 경로를 지정합니다. 이 매개 변수를 지정하지 않으면 이 cmdlet은 현재 작업 위치를 사용합니다.

Type:String[]
Position:2
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

-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