미러 데이터베이스의 트랜잭션 로그 유지 관리


10

SQL Server 버전 : 2008 R2 엔터프라이즈 SP2

SQL Server 유지 관리를 처리하려고하는데 잘못된 것으로 생각되는 것을 발견했습니다. 각각 3 개의 데이터베이스가있는 단일 프로덕션 인스턴스가 있으며 각 데이터베이스는 오프 사이트로 DR 인스턴스에 미러링됩니다.

DR 인스턴스를 살펴보면서 LDF 파일이 엄청나게 많이 사용 된 데이터베이스의 경우 35GB가 넘는 거대한 것으로 나타났습니다.

미러 데이터베이스가 전체 복구 모드에 있고 로그가 백업 된 적이 없기 때문에 드라이브 공간이 부족해질 때까지 계속 커질 것입니다.

우리는 주 데이터베이스에서 로그 백업을 수행하고 있으며 내 질문은 미러에서 로그 백업을 수행하는 데있어 문제가 무엇입니까?

로그 백업을 수행하기 전에 미러에서 하나 이상의 전체 데이터베이스 백업을 완료해야합니다.이 경우 미러이기 때문에 사용해야하는 특수 옵션이 있습니까?

이 역시 MIRROR 데이터베이스 에 대한 트랜잭션 로그 유지 보수 권장 사항입니다 .

모든 입력에 감사드립니다

답변:


5

우리는 주 데이터베이스에서 로그 백업을 수행하고 있으며 내 질문은 미러에서 로그 백업을 수행하는 데있어 문제가 무엇입니까?

미러 데이터베이스에서 로그 백업을 수행 할 수 없습니다.

로그 백업을 수행하기 전에 미러에서 하나 이상의 전체 데이터베이스 백업을 완료해야합니다.이 경우 미러이기 때문에 사용해야하는 특수 옵션이 있습니까?

미러 데이터베이스에서도 전체 데이터베이스 백업을 수행 할 수 없습니다.

예를 들면 다음과 같습니다. 본인은 Server1주 데이터베이스 AdventureWorks2012를 보유 Server2하고 있으며 미러를 포함하고 있습니다. 미러 데이터베이스 (on Server2) 에서 백업을 실행하려고 할 때 발생하는 상황은 다음과 같습니다 .

use master;
go

backup database AdventureWorks2012
to disk = 'c:\sqlserver\AW_mirror.bak';
go

메시지 954, 수준 14, 상태 1, 줄 2
데이터베이스 "AdventureWorks2012"를 열 수 없습니다. 미러 데이터베이스 역할을합니다 .
메시지 3013, 수준 16, 상태 1, 줄 2
백업 데이터베이스가 비정상적으로 종료됩니다.

backup log AdventureWorks2012
to disk = 'c:\sqlserver\AW_mirror.trn';
go

메시지 954, 수준 14, 상태 1, 줄 1
데이터베이스 "AdventureWorks2012"를 열 수 없습니다. 미러 데이터베이스 역할을합니다 .
메시지 3013, 수준 16, 상태 1, 줄 1
백업 로그가 비정상적으로 종료됩니다.

Robert Davis 의이 데이터베이스 미러링 FAQ를 살펴보십시오 . 이 작업과 미러 데이터베이스 트랜잭션 로그 유지 관리에 대해 그에게 인용하겠습니다.

주체에서 로그를 백업하면 가상 로그 파일 (로그 파일 내의 개별 단위)이 다시 쓰기 가능으로 표시됩니다. 동일한 VLF는 미러 로그 파일에서도 다시 쓸 수있는 것으로 표시됩니다. VLF 상태는 데이터베이스에서 미러링됩니다 .

그래서 당신은 그것을 가지고 있습니다. 주체에 트랜잭션 로그 백업이있는 경우 유사한 로그 재사용 동작이 파트너 데이터베이스에 미러링됩니다.


내 정확한 질문에 대한 답변이있는 기사가있을 때 나는 그것을 싫어합니다. 로그를 인계 할 때 완벽한 백업이 이루어지지 않았으며 교장에서 크게 커져서 정기적 인 백업을 시작한 후에 로그를 축소했지만 미러에서는이 작업을 생각하지 않았습니다. 감사!
Jeremie Grund

1
부록 질문은 교장에 대한 정기적 인 트랜잭션 로그 백업이 있으므로 자란 미러링 된 트랜잭션 로그를 축소 할 수 있습니까?
Jeremie Grund

@JeremieGrund이를 수행하는 한 가지 방법은 미러링 된 데이터베이스로 장애 조치하고 축소하는 것입니다. 프로덕션 환경이 아닌 환경에서이 기능을 철저히 테스트하여 원하는 동작이 예상되는지 확인하십시오.
Thomas Stringer

0

@JeremieGrund-데이터베이스 실제 파일 아키텍처가 동일하면 (데이터 및 로그 파일 드라이브 이름 및 위치) 주체에서 로그 파일을 축소하면 shrink 명령이 미러로 전송되고 미러에서 동일하게 수행됩니다. 따라서 이런 방식으로 미러 로그 파일을 유지할 수 있습니다. 파일 아키텍처가 동일하지 않은 경우 Thomas Stringer Suggestion.을 따라야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.