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