2012-07-30 3 views
0

프로덕션 SQL Server 2008 데이터베이스 문제를 해결해야하므로 테스트 SQL 상자로 가져 와서 문제를 해결하기 위해 마지막 3 개월 동안 만 데이터를 내보내거나 백업하고 싶습니다. 프로덕션 및 테스트 SQL Server는 서로 다른 포리스트/도메인에 있습니다. 그 일을하는 더 좋은 방법이 무엇인지 내게 조언 해 주실 분이시겠습니까?SQL Server 2008 - 데이터베이스에서 지난 3 개월 간의 데이터를 내보내거나 백업하는 방법은 무엇입니까?

미리 감사드립니다. 당신은 "데이터의 마지막 3 개월"불가능 식별, 각 테이블에 타임 스탬프가없는 한 당신이 물어 무엇

답변

2

수 없습니다.

타임 스탬프가있는 경우에도 타임 스탬프가 지난 3 개월 이내 인 모든 테이블에서 모든 행을 가져 오려고하면 일관성없는 상태가 발생할 수 있습니다. 예를 들어 고객 테이블과 주문 테이블을 가질 수 있습니다. 지정된 고객은 5 개월이 될 수 있지만 해당 고객의 주문은 1 일이 될 수 있습니다. 1 일 주문을 당기지 만 참조하는 5 개월 된 고객을 끌어 오지 않으면 고객이없는 주문이됩니다.

요약하면 일반적인 경우 라이브 데이터베이스에서이 작업을 수행 할 수있는 방법이 없습니다. 매우 간단한 스키마가 있다면 공유하십시오. 아마도 특정 사례에 대한 해결책이있을 것입니다.

대안

데이터를 얇게하는 것은 불가능하다, 당신의 관심사는 데이터의 양이면, 다른 방법으로 데이터를 얇게 고려한다. 아마도 고객의 10 % 또는 그 선을 따라 데이터를 가져올 수 있습니다. 스키마를 공유하는 경우 (너무 복잡하지 않다고 가정)보다 구체적인 권장 사항을 만들 수 있습니다.

0

타임 스탬프를 가지고 놀고, 각 테이블을 탐색하고 지난 3 개월 동안의 데이터를 가져 와서 새 데이터베이스로 덤프하는 고유 한 마이그레이션 코드를 작성해야합니다.

관련 문제