Always On 가용성 그룹에 데이터베이스 추가

적용 대상:SQL Server

이 항목에서는 SQL Server Management Studio, Transact-SQL또는 SQL Server의 PowerShell을 사용하여 Always On 가용성 그룹에 데이터베이스를 추가하는 방법을 설명합니다.

사전 요구 사항 및 제한 사항

사용 권한

가용성 그룹에 대한 ALTER AVAILABILITY GROUP 권한, CONTROL AVAILABILITY GROUP permission, ALTER ANY AVAILABILITY GROUP 권한 또는 CONTROL SERVER 권한이 필요합니다.

SQL Server Management Studio 사용

  1. 개체 탐색기에서 주 복제본을 호스팅하는 서버 인스턴스에 연결하고 서버 트리를 확장합니다.

  2. Always On 고가용성 노드 및 가용성 그룹 노드를 확장합니다.

  3. 가용성 그룹을 마우스 오른쪽 단추로 클릭하고 다음 명령 중 하나를 선택합니다.

    • 가용성 그룹에 데이터베이스 추가 마법사를 시작하려면 데이터베이스 추가 명령을 선택합니다. 자세한 내용은 가용성 그룹에 데이터베이스 추가 마법사 사용(SQL Server Management Studio)을 참조해 주세요.

    • 가용성 그룹 속성 대화 상자에서 데이터베이스를 지정하여 하나 이상의 데이터베이스를 추가하려면 속성 명령을 선택합니다. 데이터베이스를 추가하는 단계는 다음과 같습니다.

      1. 가용성 데이터베이스 창에서 추가 버튼을 클릭합니다. 빈 데이터베이스 필드가 만들고 선택합니다.

      2. 가용성 데이터베이스 선행 조건을 충족하는 데이터베이스의 이름을 입력합니다.

      다른 데이터베이스를 추가하려면 위의 단계를 반복합니다. 데이터베이스 지정이 마치면 확인을 클릭하여 작업을 완료합니다.

      가용성 그룹 속성 대화 상자를 사용하여 가용성 그룹에 데이터베이스를 추가한 후에는 보조 복제본을 호스팅하는 각 서버 인스턴스에서 해당 보조 데이터베이스를 구성해야 합니다. 자세한 내용은 Always On 보조 데이터베이스에서 데이터 이동 시작(SQL Server)을 참조하세요.

Transact-SQL 사용

  1. 주 복제본을 호스팅하는 서버 인스턴스를 호스팅하는 서버 인스턴스에 연결합니다.

  2. 다음과 같은 ALTER AVAILABILITY GROUP 문을 사용합니다.

    ALTER AVAILABILITY GROUP group_name ADD DATABASE database_name [,...n]

    여기서 group_name은 가용성 그룹의 이름이고, database_name은 그룹에 추가할 데이터베이스의 이름입니다.

    다음 예에서는 MyDb3 데이터베이스를 MyAG 가용성 그룹에 추가합니다.

    -- Connect to the server instance that hosts the primary replica.  
    -- Add an existing database to the availability group.  
    ALTER AVAILABILITY GROUP MyAG ADD DATABASE MyDb3;  
    GO  
    
  3. 가용성 그룹에 데이터베이스를 추가한 후에는 보조 복제본을 호스팅하는 각 서버 인스턴스에서 해당 보조 데이터베이스를 구성해야 합니다. 자세한 내용은 Always On 보조 데이터베이스에서 데이터 이동 시작(SQL Server)을 참조하세요.

PowerShell 사용

  1. 주 복제본을 호스트하는 서버 인스턴스로 디렉터리(cd)를 변경합니다.

  2. Add-SqlAvailabilityDatabase cmdlet을 사용합니다.

    예를 들어 다음 명령은 주 복제본이 MyAG에 의해 호스팅되는 PrimaryServer\InstanceName가용성 그룹에 보조 데이터베이스 MyDd를 추가합니다.

    
    Add-SqlAvailabilityDatabase `   
    -Path SQLSERVER:\SQL\PrimaryServer\InstanceName\AvailabilityGroups\MyAG `   
    -Database "MyDb"  
    

    참고 항목

    cmdlet의 구문을 보려면 PowerShell 환경에서 Get-Help SQL Server cmdlet을 사용합니다. 자세한 내용은 Get Help SQL Server PowerShell을 참조하세요.

  3. 가용성 그룹에 데이터베이스를 추가한 후에는 보조 복제본을 호스팅하는 각 서버 인스턴스에서 해당 보조 데이터베이스를 구성해야 합니다. 자세한 내용은 Always On 보조 데이터베이스에서 데이터 이동 시작(SQL Server)을 참조하세요.

SQL Server PowerShell 공급자를 설정하고 사용하려면

전체 예제를 보려면 아래 예제(PowerShell)를 참조해 주세요.

예제(PowerShell)

다음 예는 가용성 그룹의 주 복제본을 호스팅하는 서버 인스턴스에 있는 데이터베이스에서 보조 데이터베이스를 준비하고, 이 데이터베이스를 가용성 그룹에 주 데이터베이스로 추가한 다음, 보조 데이터베이스를 가용성 그룹에 조인하는 전체 과정을 보여주고 있습니다. 가장 먼저, 이 예에서는 데이터베이스와 해당 트랜잭션 로그를 백업합니다. 그런 다음 보조 복제본을 호스팅하는 서버 인스턴스로 데이터베이스 및 로그 백업을 복원합니다.

이 예제에서는 Add-SqlAvailabilityDatabase 를 두 번 호출합니다. 먼저 주 복제본(replica) 데이터베이스를 가용성 그룹에 추가한 다음, 보조 복제본(replica) 해당 복제본(replica) 보조 데이터베이스를 가용성 그룹에 조인합니다. 보조 복제본이 두 개 이상인 경우 각 보조 복제본에서 보조 데이터베이스를 복원 및 조인합니다.

$DatabaseBackupFile = "\\share\backups\MyDatabase.bak"  
$LogBackupFile = "\\share\backups\MyDatabase.trn"  
$MyAgPrimaryPath = "SQLSERVER:\SQL\PrimaryServer\InstanceName\AvailabilityGroups\MyAg"  
$MyAgSecondaryPath = "SQLSERVER:\SQL\SecondaryServer\InstanceName\AvailabilityGroups\MyAg"  
  
Backup-SqlDatabase -Database "MyDatabase" -BackupFile $DatabaseBackupFile -ServerInstance "PrimaryServer\InstanceName"  
Backup-SqlDatabase -Database "MyDatabase" -BackupFile $LogBackupFile -ServerInstance "PrimaryServer\InstanceName" -BackupAction 'Log'  
  
Restore-SqlDatabase -Database "MyDatabase" -BackupFile $DatabaseBackupFile -ServerInstance "SecondaryServer\InstanceName" -NoRecovery  
Restore-SqlDatabase -Database "MyDatabase" -BackupFile $LogBackupFile -ServerInstance "SecondaryServer\InstanceName" -RestoreAction 'Log' -NoRecovery  
  
Add-SqlAvailabilityDatabase -Path $MyAgPrimaryPath -Database "MyDatabase"  
Add-SqlAvailabilityDatabase -Path $MyAgSecondaryPath -Database "MyDatabase"  
  

참고 항목

Always On 가용성 그룹 개요(SQL Server)
가용성 그룹의 생성 및 구성(SQL Server)
Always On 대시보드 사용(SQL Server Management Studio)
가용성 그룹 모니터링(Transact-SQL)