SQL Server 트랜잭션 백업 및 로그


12

나는 적당한 규모의 비즈니스 크리티컬 SQL Server 2008 데이터베이스를 물려 받았으며 백업 계획을 둘러보고자 노력하고 있습니다. (저는 DBA가 아닌 개발자입니다.)

시스템 설정 방법에는 두 가지 백업 시스템이 있습니다.

  1. 주간 전체 백업 ( .bak) 및 시간별 트랜잭션 로그 ( .trn) 백업. 이러한 백업 세트를 여러 개 보관하고 정기적으로 오프 사이트로 배송합니다.
  2. SQL 서버 로그 ( .ldf에 복구 모델 세트) Full. 이 파일은 기본 .mdf파일과 별도의 드라이브 에 있지만 백업되지 않습니다.

응급 복구의 경우 (또는 개발 머신에 백업을 복구 할 때) 내 절차는 .bak파일 을 사용한 다음 .trn 파일을 적용하는 것입니다. 이 절차를 비교적 간단하게하는 스크립트가 있습니다.

내 질문 :

  1. .ldf파일 에서 데이터베이스를 복원 할 수 있습니까? 무엇입니까?
  2. 이러한 트랜잭션 로그를 모두 갖는 것이 불필요하게 중복됩니까?
  3. .ldf파일 을 백업해야 합니까?

답변:


16

아니요, ldf 파일에서 데이터베이스를 복원 할 수 없습니다. ldf 파일은 mdf 파일과 함께 복원됩니다.

아니요, 두 가지 목적이 있으므로 중복되지 않습니다.

전체 백업 및 트랜잭션 로그 백업을 수행하는 것이 중요합니다. ldf 파일의 사본 만 있으면 데이터베이스를 복원하는 데 도움이되지 않습니다.

ldf 파일의 용도는 ldf가 트랜잭션 로그입니다. 데이터베이스의 변경 사항을 기록하는 순환 버퍼로 생각하십시오. 행을 갱신하면 변경 사항이 ldf에 즉시 기록됩니다. 향후 어느 시점에서 (보통 5 분 미만) 수정 된 데이터는 mdf 파일에 기록됩니다.

서버가 고장 나거나 정전이 발생한 경우 SQL이 시작될 때 ldf를 읽고 해당 변경 사항을 다시 적용 (REDO)합니다.

또한 커밋되지 않은 트랜잭션이 있고 서버가 중단 된 경우 데이터베이스의 일관성을 유지하려면 해당 트랜잭션에서 수행 한 모든 변경 사항을 취소해야합니다. ldf 파일에도 해당 작업이 있습니다. (실행 취소)

위에서 ldf 파일이 원형이라고 언급했습니다. 트랜잭션 로그 백업 (.trn)을 수행하면 ldf 파일의 일부가 복사됩니다. trn 파일이 안전하게 작성된 후 sql은 ldf 파일의 해당 부분을 재사용 할 수 있습니다. 일련의 trn 백업은 데이터베이스에 대한 모든 수정 사항을 함께 기록하는 체인을 만듭니다. 물론 트랜잭션 로그 백업을 수행하지 않은 경우 ldf 파일이 커지고 커집니다.

재해 시나리오에서 전체 백업을 복원하면 전체 백업이 완료된 시점의 데이터베이스 사본이 제공됩니다. 그런 다음 순서대로 trn 파일을 복원하고 마지막 trn 백업까지 데이터베이스를 현재 시점으로 가져올 수 있습니다.

중요한 세부 사항을 생각하고 있지만 요점은 ldf가 데이터베이스의 최근 변경 사항을 기록하는 작업 파일이라는 것입니다. trn 파일은 SQL이 ldf의 공간을 재사용 할 수 있도록 재해를 당할 경우 안전하게 보관할 것이라는 가정하에 작성된 ldf 부분의 사본입니다.


2
+1 아주 좋은 답변입니다. 내가 추가 할 수있는 유일한 것은 DBA가 "데이터베이스"라고 할 때 .mdf (데이터 파일)와 .ldf (로그 파일) 파일이 합쳐진 것입니다. 두 파일이 함께 단일 장치를 만듭니다. 일부 데이터베이스에서는 여러 .mdfs 및 / 또는 .ndfs (보조 데이터 파일)도 볼 수 있습니다. 이 파일들도 함께 결합되어 단일 장치를 데이터베이스라고합니다. 당신이 그들 중 하나를 잃으면 당신은 재난 모드에 있으며 수정 조치를 취해야합니다.
케네스 피셔

+1 좋은 대답, MS SQL Server가 다음과 같이 실행되는 동안 Norton과 같은 타사 앱을 사용하는 경우에도 시스템에서 실시간으로 '실제 파일'(실제 .mdf / .ndf / .ldfs)을 백업하는 실수를 저 지르지 마십시오. 안전한 '백업'. 이러한 파일은 매우 민감하므로 가능한 경우 항상 실제 MS SQL Server 백업 파일을 작성해야합니다.
Ali Razeghi

고마워, 이것은 매우 도움이됩니다. 일반적인 SQL Server 백업 계획으로는 충분하며 .mdf 또는 .ldf 파일을 직접 조작 할 필요가 없습니다.
행크
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.