10-50GB 사이의 크기로 10-20 개의 SQL Server 2008 R2 데이터베이스를 백업해야하며 온라인 상태이고 단일 엔터프라이즈 앱에서 동시에 사용합니다. 또한 모든 데이터베이스에서 크게 동기화 된 상태로 데이터베이스를 복원해야합니다 (데이터베이스 간 최대 몇 초의 비 동기화를 감당할 수 있음). QA / DEV 환경에 대한 프로덕션 데이터를 캡처하는 것이 목적입니다.
데이터베이스를 전체 복구로 실행하지 말고 QA 환경을위한 데이터 캡처 전용의 백업 방법을 제안하고 본인이 관리하지 않는 기본 백업 프로세스와 독립적 인 백업 방법을 강구하고 싶습니다.
고객의 경우 ~ 30GB로 20 개의 전체 백업을 캡처하는 데 1-2 시간이 걸립니다. 단순 복구에서 데이터베이스를 실행할 때 데이터베이스가 너무 동기화 해제되므로 전체 백업을 순차적으로 수행 할 수 없습니다.
나는 이것들보다 더 나은 아이디어를 찾고 있습니다.
아이디어 1 : VM 디스크의 SAN 수준 스냅 샷. 스냅 샷에서 xcopy MDF / LDF.
복사 된 파일이 다른 서버 인스턴스에 연결되면 복구 프로세스에서 거의 동시에 스냅 샷 인 일관된 데이터베이스가 생성됩니다.
인터넷 검색은 적어도 이것이 나쁜 생각이라고 확신했습니다. 적어도 master / msdb / etc와 비교할 수 없기 때문입니다.
아이디어 2 : 모든 데이터베이스에서 복잡한 백업 및 동기화 복원 조정
이를 위해서는 원하지 않는 데이터베이스를 전체 복구로 실행해야합니다. 최종 기한 (T0) 전에 모든 데이터베이스에 대해 병렬 백업을 시작하십시오. T0에 도달하면 모든 로그를 백업하십시오 (최대 몇 분 소요). 결과적으로 무수한 백업을 수행하고 T0에 비해 데이터베이스 전체에서 다소 일관된 상태를 얻기 위해 복원 및 로그를 롤 포워드 / 롤백합니다.
이를 위해서는 안정적으로 사용하기 위해 많은 계획 및 스크립팅이 필요하므로이를 피하기 위해 많은 노력을 기울일 것입니다.
다른 해결책이 없습니까?
PS1 : db snapshots 을 사용하고 싶었습니다 . 아이디어는 각 db에서 스냅 샷을 시작한 후 (초 단위로) 다음 분 / 시간 동안 순차적으로 각각을 백업하는 것이 었습니다. 그런 다음 모두 다른 서버에서 복원하고 각 서버를 스냅 샷으로 되돌립니다. AFAIK이 시나리오는 데이터베이스와 함께 스냅 샷을 백업 할 수 없기 때문에 불가능합니다. 작성된 서버에서 제자리로만 롤백 할 수 있습니다. 또한 모든 고객에게 제공되지 않는 Enterprise Edition이 필요합니다.
PS2 : 크로스 DB 동기화 백업을 생성 할 수있는 타사 솔루션을 알고 있다면 언급하십시오.