데이터베이스가 상당히 커지지 만 클라이언트는 지난 2 년간의 데이터에만 관심이 있습니다. 그러나 그들은 구형 데이터를 "just-in-case"로 유지하려고합니다.SQL Server : 오래된 데이터 보관
이제 WAN을 통해 다른 서버에 데이터를 보관하고 싶습니다. 룩업 테이블에서
- 복사 모든 데이터를 아카이브 서버로 마스터 데이터 및 외부 키 테이블을 포함하는 테이블 :
내 계획은 저장된 프로 시저로를 만드는 것입니다.
- 트랜잭션 테이블의 데이터를 아카이브 DB로 복사하십시오.
- 2 년 이상 된 마스터 데이터베이스에서 트랜잭션 데이터를 삭제하십시오. 접근이 teoretically 우리의 요구를 충족되지만
는 2 주요 문제는 다음과 같습니다
의 performace : 나는 SQL 연결된 서버를 통해를 통해 데이터를 복사하고 있습니다. 큰 테이블 중 일부는 어떤 레코드가 존재하는지 비교하고이를 업데이트해야하므로 존재하지 않는 레코드를 만들어야하므로 속도가 느립니다. 3-4 시간 만에 작동하는 것처럼 보입니다.
외래 키 위반을 방지하기 위해 테이블을 올바른 순서로 복사해야하며 ParentCustomer 없이도 자체 테이블 (예 : ParentCustomer 필드가있는 Customers 테이블)과 관련이있는 테이블을 전송해야합니다. FK 위반을 방지하기 위해 ParentCustomer를 업데이트해야합니다. 따라서 자동으로 Insert 및 Update 문을 자동 생성하는 것이 어려워집니다 (가능한 한 내 문을 자동으로 생성하고 싶습니다).
나는 아직 알지 못하는 데이터를 더 효과적으로 보관할 수있는 방법이있을 것이라고 생각합니다. SSIS가 옵션 일 수는 있지만 기존의 문제점을 방지 할 수 있는지 확실하지 않습니다. 나는 SSIS에 대해 많이 알지 못하기 때문에 공부할 수있는 재료가 필요할 수도 있습니다.
제안 사항 : 여러 스핀들 또는 ssd에서 테이블을 분할하십시오. 현재 및 과거의 슬라이딩 윈도우 파티션을 유지하십시오. 현재 데이터는 하나의 디스크에서 다른 하나는 느린 디스크에서 읽혀집니다. – Namphibian