2009-11-09 7 views
0

저는 지난 몇 달 동안 작업 해 왔던 클라이언트 시스템의 "수 있습니다"라고 말하기 단계에 접어 들었습니다. 기본적으로 공개 된 웹 사이트를 포함한 몇 가지 자치 서비스 , 인트라넷 웹 사이트, 수정 된 플래그/트리거 등을 기반으로하는 레거시 OLTP DB로부터의 시간별 수출자. 시스템을 구성하는 몇 가지 다른 서비스 (각각의 고유 한 데이터베이스 등), 메시지 (NServiceBus) .프로덕션 데이터베이스를 로컬에서 작동하도록 설정

시작했을 때 나는 모든 것의 로컬 복제를 유지하려고 노력했지만 그 증명이 점점 어려워졌고 지난 몇 주간의 주요 마찰 지점이었을 것입니다. 저는 레거시 데이터베이스가 계속해서 최신 정보를 유지하려고합니다. 매일 수백 건의 이벤트가 발생합니다. 대기 시간이 높은 & 일반적인 대역폭 (자신과 클라이언트의 사이트 사이에서 대역폭이 일반적으로 허비되는 동남 아시아 지역)은 RDP, SQL 도구, 원격 연결 문자열 등의 문제이기도합니다. 통합 버그 추적 및 시나리오 이해 그들은 피드백/통합/품질 보증 기간 동안 내 데이터가 고객 DB의 현재 상태를 반영하지 못하기 때문에 (고객의 직원이 데이터를 끝내고 작업했기 때문에) 어려워서 휴식, 커피 및 긴 동기화가 또 다시 발생한다는 것을 의미합니다. . 로컬에서 모든 작업을 수행 한 다음 끝에 배포하는 것이 이상적이지만 부품을 점진적으로 제공해야하며 일부는 사용 중이어도 (중요하지는 않지만) 사용중인 두꺼운 부분에 버그를 수정해야합니다. 빠르게 돌아 다니며 소규모 회사, 점진적 피드백을 통해 방해가되는 모호한 요구 사항을 제거하는 데 도움이됩니다 (저주).

일상적으로 환경 (DB와 광산)을 동기화하는 것이 좋을 것이라고 생각 했었습니다. 레거시 SQL 서버 데이터베이스를 제외한 모든 것을 설계 제어했습니다.

SO 사용자에게 가장 적합한 옵션은 무엇입니까?

devbox에 Windows 2003 light VM을 설치하려고 생각하고있었습니다. 그리고이 설치에서 클라이언트 사이트의 동일한 설정 (그러나 여러 서버에 걸쳐 퍼지지는 않음). 그런 다음 SQL Server 복제에 대해 생각하고 있던 데이터베이스를 동기화 했습니까? 또는 배치 스크립트? 아니면 빠르고 좋은 압박감이있는 도구가 있습니까? 내 변경 사항을 프로덕션으로 돌아가고 싶지 않습니다. (별개의 CI & 배포 절차가 있습니다.) 매일 데이터베이스를 새로 고치거나 (하루에 두 번씩) 내 데이터베이스를 원한다고 생각합니다. (어쩌면 나는 점심 허용 대역폭에있다).

어떻게 모든 사람이이 문제에 접근합니까? 얻을 어려울 수 있습니다 그것을

스냅 샷 복제를 적용

  • 스냅 샷 복제
  • 수동으로 트랜잭션 로그를 백업 및 (또는 배치) :이 두 가지 방법을 추천 할 것입니다

답변

1

물리적 인 스냅 샷을 다른 위치로 운반하는 것과 같은 오프라인 상황에서도 가능합니다.

트랜잭션 로그 방법은 표준 백업 절차의 일부로 사용할 수 있습니다. 즉, 일주일에 두 번 전체 백업이 트랜잭션 로그 백업을 더 정기적으로 수행합니다.

테스트 환경에서 사용하기 전에 데이터를 정리하는 것이 가장 좋습니다. 최소한이 작업은 모든 개인 데이터, 특히 전자 메일 주소, 암호 및 기타 자동화 된 프로세스로 인해 데이터베이스의 사용자와 연락 할 수있는 다른 방법을 변경해야합니다.

+0

스냅 샷 복제가 로컬 변경 사항을 자동으로 덮어 씁니까? 고객이 언젠가 편집 한 고객을 테스트하고 밤에는 스냅 샷을 찍고 아침에는 신선하고 이상적으로는 내 변경 사항을 잃어 버렸습니다. 스냅 샷 복제는 스키마 변경 사항을 자동으로 처리합니까? –

+0

스키마 변경은 복제시 심각한 문제가 될 수 있습니다. 가장 좋은 방법은 기본 데이터베이스의 복사본을 만든 다음 테스트를 위해이 복사본의 스냅 샷을 만드는 것입니다. 그러면 '라이브'트랜잭션 로그를 사본에 적용하고 사본을 다시 스냅 샷하고 스냅 샷을 변경할 수 있습니다. 볼 수있는 다른 옵션은 라이브 환경에서 데이터베이스 사본을 만들고 라이브 DB 서버에 마운트하고, 행을 삭제하고 데이터를 익명화하여 데이터베이스를 작게 만든 다음이 작업을 수행하는 것입니다. – John

관련 문제