4

두 대용량 데이터베이스를 하나의 보고서 전용 서버에 백업하는 데 도움이되는 제안이나 제안 사항을 찾고 있습니다. 상황은 다음과 같습니다.보고서 용 SQL 데이터베이스 백업

저희 회사는 내부 웹 사이트 용으로 2 개의 데이터베이스를 보유하고 있습니다. 하나는 영국을위한 것이고 다른 하나는 유럽을위한 것입니다. 둘 다 DR에 미러링됩니다.

나는이 두 데이터베이스에서 수집 된 데이터를 기반으로 보고서를 실행하는 Microsoft Reporting Services 전용의 유럽 기반 서버를 보유하고 있습니다.

성능/보안상의 이유로보고 서비스를 라이브 데이터베이스로 지정하지 않으므로 두 데이터베이스를 매일 백업하고 Reporting Services 서버에 복원합니다.

그러나 이것은 우리가 전체 데이터베이스를 백업함으로써 우리 네트워크에 부담을주고 있음을 의미하며 데이터는 어제 자정까지만 최신 상태입니다.

우리의 목표는 데이터를 적어도 15 분 이상 최신 상태로 유지하는 것입니다. 로그 전달을 살펴 보도록 제안되었으므로 누구나 설정에 관한 경험이 있었는지, 장단점이 무엇인지, 더 나은 대안이 있습니까?

어떤 도움 greatley 주시면 감사하겠습니다, 감사

+1

이것은 serverfault.com에 속해 있습니다. – Andomar

답변

2

우리는 비슷한 환경을 개발했습니다. Mirroring을 사용하여보고 서버에 데이터를 가져오고 15 분마다 데이터베이스의 스냅 샷을 만드는 자동화 된 루틴을 만들었습니다. 이 스냅 샷은 우리 환경에서 작성하는 데 1 ~ 2 초 밖에 걸리지 않으며 데이터베이스의 읽기 전용 복사본을 제공합니다. 네가 나를 더 자세히 설명하기를 원한다면 알려줘.

참고 우리는 두 서버 모두에서 엔터프라이즈를 실행하고 있습니다.

+0

설치 및 유지 보수가 얼마나 어려운가요? 우리는 또한 우리 서버에서 Enterprise 에디션을 실행하고 있습니다. – Phil

+0

어느 쪽도 그다지 어렵지 않습니다. 미러링이 설정되면 스냅 샷을 덤프하고 15 분마다 다시 생성하는 루틴을 만들었습니다. 모든 것이 자동화되어 있으므로 몇 달 안에 설정해야하며 혼란스러워 할 필요가 없습니다. – jgardner04

+0

저는 영국과 유럽의 거울에이 작업을 설정했으며 실제로 작동하고 있습니다. 스냅 샷은 몇 초 만에 생성되며 지난 15 분 이내에 데이터에 액세스 할 수 있습니다. 이것은 정말 좋은 해결책입니다. Jonathon에게 감사드립니다! – Phil

1

당신은 백업에 대한 대안으로 replication 봐야한다.

+0

감사합니다. John이 살펴 봅니다! – Phil

2

로그 전달은 이에 대한 훌륭한 해결책입니다. SQLServerPedia's Log Shipping section에 기사가 있습니다. 다른 옵션을 통해 이야기하는 동영상 자습서가 있습니다. 로그 전달에 대해 염두에 두어야 할 점 중 하나는 복원이 수행되면 사용자가보고 데이터베이스에서 퇴장된다는 것입니다.

복제에는 이러한 문제가 없지만 복제는 "설정하고 잊어 버리십시오"근처에 있지 않습니다. 관리에 많은 시간이 소요되며 원하는대로 신뢰할 수 없습니다. 있다. 또한 복제를 사용하려면 스키마를 수정해야 할 수도 있습니다. 로그 전달은보다 자동적으로 &이지만 안정적으로 사용자를 강제로 복구합니다.

두 개의 로그 전달 일정 (근무 시간 중 낮 시간과 나머지 시간)을 최소화하면 작업 시간을 최소화 할 수 있습니다. 업무 시간 중에는 데이터를 한 시간에 한 번만 복원하고 나머지는 15 분마다 복원합니다.

+0

브렌트 (Brent)가 정말 도움이 되네요. 사용자를 걷어차는데 말하면 매시간 특정 시간 동안 데이터베이스에 액세스하지 못하게 될까요? 또는 실제로 보고서 서버의 터미널 서비스 세션에서 쫓아 낼 수 있습니까? 죄송합니다.이 질문이 멍청한 질문 인 경우 SQL Server에 익숙하지 않습니다.) – Phil

+0

전혀 바보 같은 질문이 아닙니다! 데이터베이스에 대한 액세스 권한을 잃게됩니다. 데이터베이스는 연결을 중단하고 트랜잭션 로그가 복원되는 동안 대기합니다. –

+0

늦은 응답에 대한 사과 ... 나는 2005 년 2 개의 SQL Server와 그 작업에 대한 테스트 데이터베이스에서 로그 전달을 설정했습니다. 그러나 (그리고 이것은 나의 초기 질문에서 그것을 언급하지 않는 것에 대한 내 잘못이다!) 나는 SQL 2005에서 우리의 보고서를 실행중인 2008 서버로 로그 할 수 없다. 나는 트랜잭션 로그를 설정할 때까지이 둘 사이에 호환성 문제가 있다는 것을 깨닫지 못했습니다. 나는 2008 년이 호환 될 것이라고 생각했다. 이 문제를 해결할 방법이 있는지 알고 있습니까? 감사합니다. – Phil

1

트랜잭션 복제를 사용하는 것이 좋습니다.

우리가 현재 구현하고있는 것과 유사한 시나리오를 구현하려는 것처럼 들릴 수 있습니다.

보고 작업을 위해 실제 작업 데이터베이스를 다른 서버로 오프로드하기 위해 트랜잭션 복제를 사용합니다 (실시간이지만 환경을 덜 자주 스케줄링하려는 경우가 많습니다).

보고 데이터 오프로드는 일반적인 복제 시나리오이며 Microsoft 복제 설명서에서 설명합니다.

http://msdn.microsoft.com/en-us/library/ms151784.aspx

브렌트 복제에 필요한 구성 요소가 중요한 장점은 내 의견으로는 복제를 사용하여이있다, 그러나 해결해야 할 보안 고려 사항과 함께, 실제로이 점에서 권리입니다 포함 :

  • 로그와 비교하여 지연 시간이 줄어 듭니다. 배송.
  • 게시 전용 기능 보고가 필요한 문서 (테이블) 게시.
  • 저장 요구 사항 감소.
  • 게시되는 데이터가 적다는 것은 네트워크 트래픽이 임을 의미합니다.
  • 항상보고 데이터 에 액세스하십시오.

예를 들어, 우리 환경에서는보고를 위해 실제로 필요로하는 프로덕션 데이터베이스에서 특정 테이블 (기사) 만 복제하기로 결정했습니다.

내가 설명한 내용이 분명하고 의미가 있지만 희망 사항이 있으시면 언제든지 연락해주십시오.

+0

매우 명확하고 매우 도움이 된 John에게 감사드립니다! 나는 너희들에게서 독서의 공정한 작은 조각을 가지고 있고,이 방법을 시험 할 것이고, 내가 어떻게에 관해 알 수있게한다. – Phil

+0

반갑습니다. 어떻게 일을 시작하는지 또는 추가 도움이 필요하면 알려주십시오. –

+0

안녕하세요 John, 저는이 방법을 살펴 보았습니다. 대부분의 시나리오에서 작동하지만 (Microsoft의 권장 사항이기도합니다) 데이터베이스 스키마를 변경한다는 의미이기 때문에 아직 적합하지 않습니다. 그러나 이것은 우리가 명확하게 구조를 개선 할 때 우리가 앞으로 보게 될 것입니다. – Phil

관련 문제