SQL Server 2008 로그 전달 구성

SQL Server 2008 로그 전달 구성

SQL Server 2008 R2를 실행하는 두 대의 Windows Server 2008 R2 x64 시스템 클러스터에서 동일한 OS 및 DB를 실행하는 단일 시스템으로 로그 전달을 구성하려고 합니다. 설치가 제대로 진행된 것처럼 보이지만(오류 없음) 예약된 시간에 기본 컴퓨터의 SQL Server 이벤트 로그에 다음과 같은 오류 쌍이 나타납니다.

BACKUP BACKUP LOG MyDb 명령을 완료하지 못했습니다. 자세한 메시지는 백업 애플리케이션 로그를 확인하세요.

오류: 3041, 심각도 16, 상태 1

질문: 1. '백업 애플리케이션 로그'는 어디에 있나요? 2. 3041 오류가 무엇인지 어떻게 알 수 있나요?

SQL Server 및 SQL Server 에이전트는 도메인 계정의 기본 및 보조 서버에서 실행됩니다. 보조 디렉터리에 \secondary\SqlLogShipData로 공유를 만들고, 도메인 계정에 모든 권한을 부여하고, 백업 및 대상이라는 두 개의 하위 디렉터리를 추가했습니다.

로그 전달을 구성할 때 \secondary/SqlLogShipData\Backup을 백업 폴더의 네트워크 경로로 지정하고 보조 폴더의 경우 복사된 파일의 대상 폴더로 \secondary\SqlLogShipData\Destination을 지정합니다.

기본 노드가 클러스터이고 두 노드 중 하나가 활성화되면 로그 전달이 작동하기를 원하기 때문에 보조 폴더에 백업 폴더를 배치했습니다. 또한 기본 디렉토리에 로컬인 디렉토리를 지정하려고 시도했지만 아무런 차이가 없었습니다.

보조 SQL 이벤트 로그에는 관련 오류가 없습니다.

내 생각엔 이것이 권한 문제인 것 같은데 왜 그런지는 잘 모르겠습니다. 당신이 나에게 줄 수 있는 어떤 도움이라도 감사하겠습니다.

답변1

클러스터에서 로그 전달을 구성하는 것은 매우 간단한 설정입니다. 나는 그것을 여러 번 사용했습니다.

시작하기 전에 기존 로그 전달 설정이 작동하지 않으므로 제거해야 합니다. 보조를 제거한 다음 기본을 제거합니다.

전제조건

먼저 몇 가지 전제 조건을 살펴보겠습니다.

  • 데이터베이스가 전체 복구 모델에 있습니까?
  • 전체 백업이 수행되었습니까?
  • LOG 백업 작업이 준비되어 있습니까? 그렇다면 해당 작업에서 이 데이터베이스를 제거하십시오. 로그 전달이 로그 백업을 처리합니다.

기본 설정

좋습니다. 이제 로그 전달 설정을 살펴보겠습니다.

먼저 Log Shipping Primary가 작동하도록 해보세요.

데이터베이스 속성으로 돌아가서 '기본 데이터베이스로 활성화'를 선택한 다음백업 설정단추.

여기서는 LOG 백업에 대한 네트워크 경로와 동일한 로컬 경로라는 두 가지를 지정해야 합니다.

내 서버에서는 다음과 같습니다.

  • C:\SQL 백업\LS
  • \내서버\LS

로그 전달 폴더 권한

그런 다음 Windows 탐색기에서 이 폴더를 찾아 마우스 오른쪽 버튼을 클릭하고 속성을 선택한 다음 권한 탭을 선택합니다. 여기에서 기본 SQL 에이전트 서비스 계정을 추가하고 해당 계정에 이 폴더에 대한 읽기 및 쓰기 권한이 있는지 확인해야 합니다.

다음으로 공유 탭을 선택합니다. 여기서는 폴더를 공유하고 보조 SQL Server 서비스 계정에 공유에 대한 읽기 권한이 있는지 확인해야 합니다.

로그 전달 백업 테스트

이 작업이 완료되면 로그 전달 백업을 테스트해 보겠습니다. SQL 에이전트 작업을 보면 LSBackup_YourDatabase라는 항목이 표시됩니다.

작업을 마우스 오른쪽 버튼으로 클릭하고 실행합니다. 모든 오류는 폴더 및 공유 권한과 관련이 있을 가능성이 높습니다. 세부정보를 게시하세요.

이 부분이 먼저 작동할 때까지 보조를 구성하지 마십시오.

보조 초기화

로그 전달 백업 작업이 오류 없이 여러 번 실행되면 전체 백업 작업을 한 번 더 실행하십시오.

전체 백업을 보조 서버에 복사하고 복원합니다. NORECOVERY를 사용하세요.

보조 설정

데이터베이스 속성과 로그 전달 섹션으로 돌아갑니다. 보조 데이터베이스 영역에서 추가를 클릭합니다. 보조 서버에 연결합니다.

초기화 탭에서 '아니요, 보조가 초기화되었습니다'를 선택합니다.

복사 탭에서 로그 전달 백업 파일을 복사할 보조 서버의 로컬 폴더를 입력합니다. 보조 SQL 에이전트 서비스 계정에 이 폴더에 대한 읽기 및 쓰기 권한이 있는지 확인하십시오.

복사 및 복원 작업 테스트

보조 서버에서 복사 작업을 실행합니다. 모든 오류는 폴더 및 해당 권한과 관련이 있을 가능성이 높습니다. 세부정보를 게시하세요. 작업 기록에 로그인합니다. 내장된 로그 전달 보고서를 사용하여 얼마나 진행되고 있는지 확인하세요.

복사 작업이 완료되면 복원 작업으로 이동합니다. 동일한 테스트 단계.

행운을 빌어요!

답변2

노드 로컬 드라이브 중 하나에 쓰는 데 문제가 있는 경우 백업할 추가 클러스터 디스크를 만들어 보십시오. 이렇게 하면 로그 전달이 항상 작동해야 합니다. 실패하면 다른 별도의 원격 서버에서 로그 전달을 백업하고 복원하십시오.

관련 정보