문제

가장 최근의 데이터가 포함 된 데이터베이스가 하나 있고 데이터베이스 컨텐츠를 다른 서버로 복제하려고합니다. 비 기술적 이유로 인해 복제 기능 또는 동기화 함수를 직접 사용하여 다른 SQL Server 인스턴스와 동기화 할 수 없습니다.

이제 두 가지 솔루션이 있으며 각 솔루션에 대한 장단점을 배우고 싶습니다. 감사!

솔루션 1 : 최신 데이터가 포함 된 소스 데이터베이스를 분리 한 다음 최신 데이터가 필요한 대상 서버로 복사하고 대상 서버에서 데이터베이스를 첨부하십시오.

솔루션 2 : 전체 데이터베이스 용 소스 서버의 전체 백업을 작성한 다음 데이터를 대상 서버로 복사 한 다음 대상 서버 측에서 전체 복구를 수행하십시오.

미리 감사드립니다, 조지

도움이 되었습니까?

해결책

Detach / Attation 옵션은 새 파일을 만들 필요가 없기 때문에 백업을 수행하는 것보다 빠릅니다. 따라서 서버 A에서 서버 B 로의 시간은 거의 순전히 파일 복사 시간입니다.

백업 / 복원 옵션을 사용하면 전체 백업을 수행하고 복원 한 다음 차동 백업을 수행하여 다운 타임이 둘 사이에서 줄일 수 있음을 의미합니다.

데이터 복제 이후에 데이터베이스가 두 위치에서 데이터베이스 기능을 원한다는 것을 의미합니까? 이 경우 현재 데이터베이스를 완전히 작동하는 백업 / 복원 옵션을 원할 것입니다.

편집 : 몇 가지 점을 명확히하기 위해. 다운 타임이라는 것은 한 서버에서 다른 서버로 데이터베이스를 마이그레이션하는 경우 일반적으로 운송 중에있는 동안 사람들을 사용하는 사람들을 중지하게됩니다. 따라서 서버 A의 "STOP"지점에서 서버 B의 "시작"지점 까지이 점에서 다운 타임으로 간주 될 수 있습니다. 그렇지 않으면 운송 중 서버 A의 데이터베이스에서 수행 된 모든 작업은 서버 B로 복제되지 않습니다.

"새 파일 만들기"와 관련하여. 데이터베이스를 분리하면 즉시 MDF 파일을 복사 할 수 있습니다. 이미 복사 할 준비가되어 있습니다. 그러나 백업을 수행하는 경우 .bak 파일이 생성 될 때까지 기다린 다음 복원을 위해 새 위치로 이동해야합니다. 다시 한번이 모든 것이 스냅 샷 사본 또는 마이그레이션입니다.

다른 팁

백업 및 복원은 대신 Detach Attation 옵션에서 몇 분을 더 내릴 수 있더라도 훨씬 더 의미가 있습니다. 분리하기 전에 원래 데이터베이스를 오프라인 (모든 사람을 분리)으로 가져 가야하며, ReatTach가 될 때까지 DB를 사용할 수 없습니다. 또한 모든 파일을 추적 해야하는 반면 백업을 사용하면 모든 파일이 그룹화됩니다. 최신 버전의 SQL Server에서 백업은 압축됩니다.

DB 백업 및 차동 백업은 로그를 자르지 않고 로그 체인을 깨지 않습니다.

또한 COPY_ONLY 기능은 로그가 아닌 차동베이스에만 중요합니다. 로그 체인이 중단되지 않았다고 가정 할 때 모든 로그 백업은 백업에서 순서대로 적용 할 수 있습니다. 아카이브 포인트에는 약간의 차이가 있지만 그것이 어디에서 중요한지 알 수 없습니다.

솔루션 2가 내 선택이 될 것입니다 ... 주로 소스 데이터베이스에서 다운 타임을 생성하지 않기 때문에 주로. 내가 볼 수있는 유일한 단점은 데이터베이스 복구 모델에 따라 거래 로그에서 데이터를 복원하려면 트랜잭션 로그가 잘라 내려야한다는 것입니다. 백업 파일을 사용해야합니다.

편집 : 멋진 링크를 찾았습니다. http://sql-server-performance.com/community/forums/p/5838/35573.aspx

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top