Azure VM 기반 SQL Server에 대한 로그 전달 구성

적용 대상:Azure VM 기반 SQL Server

이 문서에서는 Azure VM(가상 머신)의 두 SQL Server 간로그 전달을 구성하는 방법을 설명합니다.

개요

로그 전달을 사용하면 주 서버주 데이터베이스에서 별도의 보조 서버에 있는 하나 이상의 보조 데이터베이스로 트랜잭션 로그 백업을 자동으로 보낼 수 있습니다. 트랜잭션 로그 백업은 각 보조 데이터베이스에 개별적으로 적용됩니다. 모니터 서버라고 하는 선택적인 세 번째 서버는 백업 및 복원 작업의 기록과 상태를 레코딩하고, 필요에 따라 이러한 작업이 예약된 대로 수행되지 않으면 경고를 발생시킵니다.

로그 전달은 주로 재해 복구 솔루션으로 사용되며 Always On 가용성 그룹을 비롯한 다른 고가용성 및 재해 복구 옵션과 결합될 수 있습니다.

필수 조건

Azure VM 기반 SQL Server에 대한 로그 전달을 구성하려면 다음 필수 조건을 충족해야 합니다.

  • 트랜잭션 로그 백업에 대한 Azure Storage 계정과 동일한 리소스 그룹에 SQL Server가 있는 도메인 조인 Azure 가상 머신 2개 이상. 보조 서버는 주 SQL Server와 동일하거나 더 높은 버전의 SQL Server에 있어야 합니다.

  • 주 데이터베이스는 전체 또는 대량 로그된 복구 모델을 사용해야 합니다. 주 데이터베이스가 단순 복구 모델로 전환되면 로그 전달 기능이 중지됩니다.

  • 로그 전달을 구성하는 로그인은 sysadmin 고정 서버 역할의 멤버여야 합니다.

Azure 파일 공유 만들기

주 서버의 트랜잭션 로그 백업은 파일 공유에 저장됩니다. 로그 전달을 구성하기 전에 주 서버와 보조 서버 모두에서 액세스할 수 있는 Azure Storage 계정 내에 Azure 파일 공유를 만들어야 합니다.

Azure Portal에서 Azure 파일 공유를 만들려면 다음 단계를 따르세요.

  1. Azure Portal의 리소스 그룹으로 이동하여 트랜잭션 로그 백업에 사용하려는 스토리지 계정을 선택합니다.

  2. 데이터 스토리지에서 파일 공유를 선택한 다음 +파일 공유를 선택하여 새 파일 공유를 만듭니다.

    Screenshot of the File share creation option in the Azure portal.

  3. 기본 탭에서 log-shipping과 같은 파일 공유 이름을 제공합니다. 계층 을 기본값인 거래 최적화로 그대로 둘 수 있습니다.

  4. (선택 사항) 백업 탭에서 확인란을 사용하여 Azure Backup에 대한 파일 공유의 백업을 사용하도록 설정합니다.

  5. 검토 + 만들기를 선택하여 파일 공유 설정을 검토한 다음 만들기를 선택하여 새 파일 공유를 만듭니다.

백업 디렉터리 만들기

파일 공유가 만들어진 후 다음 두 디렉터리를 만들어야 합니다.

  • 로그 백업을 작성할 주 데이터베이스의 디렉터리
  • 로그 백업을 복사하고 복원할 보조 데이터베이스의 디렉터리

디렉터리를 생성하려면 다음 단계를 따릅니다.

  1. Azure가 파일 공유를 생성하면 포털은 새 SMB 파일에 대한 개요 페이지로 돌아갑니다.

  2. 찾아보기에서 + 디렉터리 추가를 선택합니다. log-backups와 같은 새 디렉터리의 이름을 제공합니다. 확인을 선택합니다.

    Screenshot of the add directory creation option in the Azure portal.

  3. 이전 단계를 반복하여 restore-backups와 같은 두 번째 디렉터리를 추가합니다. 확인을 선택합니다.

파일 공유에 VM 연결

디렉터리가 만들어지면 파일 공유에 가상 머신을 연결합니다.

연결 세부 정보를 확인하려면 파일 공유의 찾아보기 또는 개요 페이지에서 연결을 선택하여 연결 창을 엽니다.

Screenshot of the Connect option for the file share in the Azure portal.

연결 창에서는 리소스가 파일 공유에 액세스할 수 있도록 하는 스크립트를 제공합니다. 필요에 따라 드라이브 문자를 변경하여 가상 머신에 파일 공유를 탑재합니다. 이 가이드에서는 Windows 가상 머신에 스토리지 계정 키를 사용합니다.

스크립트 표시를 선택하여 스크립트를 보고 복사한 다음, 로그 전달을 구성하려는 각 SQL Server VM에서 실행합니다.

연결 스크립트를 실행한 후 다음 PowerShell cmdlet을 사용하여 포트 445에 대한 연결을 확인할 수 있습니다.

Test-NetConnection -ComputerName yourstorageaccount.file.core.windows.net -Port 445

연결 테스트가 성공하면 TcpTestSucceeded : True라는 출력이 표시됩니다.

SQL Server에 파일 공유에 대한 액세스 권한 부여

SQL Server VM이 파일 공유에 성공적으로 연결되면 연결 스크립트의 URL, 사용자 이름 및 암호로 SQL Server에 자격 증명을 만들어 파일 공유에 액세스할 수 있는 권한을 SQL Server 서비스 계정에 부여합니다.

자격 증명을 만들려면 xp_cmdshell을 사용하도록 설정하고 xp_cmdshell을 한 번 더 사용하지 않도록 설정하기 전에 이를 사용하여 자격 증명을 만듭니다.

SQL Server 서비스 계정에 파일 공유에 대한 액세스 권한을 부여하려면 로그 전달에 사용하려는 모든 SQL Server 인스턴스에서 다음 단계를 수행합니다.

  1. sysadmin 역할의 일부인 계정으로 SQL Server VM에 연결합니다.

  2. SQL Server Management Studio(SSMS)를 열고 SQL Server 인스턴스에 연결합니다.

  3. 새 쿼리 창을 열고 Azure Portal에서 가져온 스토리지 키 세부 정보가 포함된 다음 Transact-SQL 코드를 실행합니다.

    EXEC sp_configure 'show advanced options', 1;
    RECONFIGURE;
    exec sp_configure 'xp_cmdshell', 1;
    RECONFIGURE;
    GO
    EXEC xp_cmdshell 'cmdkey /add:"yourstorageaccount.file.core.windows.net" /user:"localhost\yourstorageaccount" /pass:"<yourpasskey>"';
    GO
    EXEC sp_configure 'xp_cmdshell', 0;
    RECONFIGURE;
    GO
    

    명령을 실행한 후 SSMS는 자격 증명이 성공적으로 추가되었는지 확인합니다.

    Screenshot of the confirmation the credential was successfully created in SSMS.

로그 전달 구성

SQL Server 인스턴스가 파일 공유에 액세스할 수 있게 되면 SQL Server Management Studio(SSMS)를 사용하여 로그 전달을 구성합니다.

로그 전달을 구성하려면 다음 단계를 수행합니다.

  1. 기본 SQL Server 인스턴스에 연결합니다.

  2. 로그 전달 구성에서 주 데이터베이스로 사용할 데이터베이스를 마우스 오른쪽 단추로 클릭한 다음 속성을 선택합니다.

  3. 페이지 선택에서 트랜잭션 로그 전달을 선택합니다.

  4. 이 데이터베이스를 로그 전달 구성의 주 데이터베이스로 사용 옆의 상자를 선택합니다.

  5. 트랜잭션 로그 백업에서 백업 설정을 선택합니다.

  6. 백업 폴더의 네트워크 경로 상자에 트랜잭션 로그 백업 폴더용으로 만든 공유 및 디렉터리의 네트워크 경로를 입력합니다.

    예: \\yourstorageaccount.file.core.windows.net\log-shipping\log-backups

  7. 비즈니스 요구 사항에 맞게 다음보다 오래된 파일 삭제다음 기간 내에 백업이 발생하지 않으면 경고 매개 변수를 구성합니다.

    1. 복사 일정은 복사 작업일정상자에 나열됩니다. 설치 일정을 사용자 지정하려면 일정을 선택한 다음 필요에 따라 SQL Server 에이전트 일정을 조정합니다.

    2. SQL Server는 백업 압축을 지원합니다. 로그 전달 구성을 생성할 때 기본 서버 설정 사용, 백업 압축 또는 백업 압축 안 함 옵션 중 하나를 선택하여 로그 백업의 백업 압축 동작을 제어할 수 있습니다. 자세한 내용은 Log Shipping Transaction Log Backup Settings을 참조하세요.

    3. 설정을 저장하려면 확인을 선택합니다.

  8. 보조 서버 인스턴스 및 데이터베이스에서 추가를 선택합니다.

  9. 연결을 선택하여 보조 서버로 사용하려는 SQL Server의 인스턴스에 연결합니다.

    1. 보조 데이터베이스 상자의 목록에서 데이터베이스를 선택하거나 만들려는 데이터베이스의 이름을 입력합니다.

    2. 보조 데이터베이스 초기화 탭에서 보조 데이터베이스를 초기화하는 데 사용할 옵션을 선택합니다.

    참고 항목

    SSMS가 데이터베이스 백업에서 보조 데이터베이스를 초기화하도록 선택하면 보조 데이터베이스의 데이터 및 로그 파일이 master 데이터베이스의 데이터 및 로그 파일과 동일한 위치에 배치됩니다. 이 위치는 주 데이터베이스의 데이터 및 로그 파일 위치와 다를 수 있습니다.

  10. 파일 복사 탭의 복사된 파일의 대상 폴더 상자에 파일 공유를 위해 만든 복원 백업 디렉터리와 같은 트랜잭션 로그 백업을 복사할 폴더의 경로를 입력합니다.

    \\yourstorageaccount.file.core.windows.net\log-shipping\restore-backups

    1. 복사 일정은 복사 작업일정상자에 나열됩니다. 설치 일정을 사용자 지정하려면 일정을 선택한 다음 필요에 따라 SQL Server 에이전트 일정을 조정합니다. 이 일정은 백업 일정과 비슷해야 합니다.
  11. 트랜잭션 로그 복원 탭의 백업 복원 시 데이터베이스 상태에서 복구 안 함 모드 또는 대기 모드 옵션을 선택합니다.

    Important

    대기 모드는 주 서버와 보조 서버의 버전이 동일한 경우에만 사용할 수 있는 옵션입니다. 보조 서버의 주 버전이 주 서버보다 높은 경우 복구 안 함 모드만 허용됩니다.

    1. 대기 모드를 선택하는 경우 복원 작업이 진행되는 동안 보조 데이터베이스에서 사용자 연결을 끊을지 선택합니다.

    2. 보조 서버에서 복원 프로세스를 지연하려면 최소 다음 기간 동안 백업 복원 지연에서 지연 시간을 선택합니다.

    3. 다음 기간 내에 복원이 발생하지 않으면 경고에서 경고 임계값을 선택합니다.

    4. 복원 일정은 복원 작업일정 상자에 나열됩니다. 설치 일정을 사용자 지정하려면 일정을 선택한 다음 필요에 따라 SQL Server 에이전트 일정을 조정합니다. 이 일정은 백업 일정과 비슷해야 합니다.

    5. 설정을 저장하려면 확인을 선택합니다.

  12. (선택 사항) 모니터 서버 인스턴스에서 모니터 서버 인스턴스 사용 확인란을 선택하고 설정을 선택합니다.

    Important

    이 로그 전달 구성을 모니터링하려면 지금 모니터 서버를 추가해야 합니다. 나중에 모니터 서버를 추가하려면 로그 전달 구성을 제거하고 모니터 서버를 포함하는 새 구성으로 교체해야 합니다.

    1. 연결을 선택하여 모니터 서버로 사용하려는 SQL Server의 인스턴스에 연결합니다.

    2. 연결 모니터링에서 백업, 복사 및 복원 작업 시 모니터 서버에 연결하는 데 사용할 연결 방법을 선택합니다.

    3. 기록 보존에서 로그 전달 기록 레코드를 보존할 기간을 선택합니다.

    4. 설정을 저장하려면 확인을 선택합니다.

  13. 데이터베이스 속성 대화 상자에서 확인을 사용하여 구성 프로세스를 시작합니다.