2017-09-13 4 views
0

SQL Server DB에는 약 800 개 이상의 테이블이 있으며 40-50 개의 테이블이 업무상 중요한 테이블입니다. MIS 팀은 50 개의 비즈니스 테이블을 기반으로 보고서를 생성해야합니다.SQL Server Delta Records Pulling

50 개의 테이블이 자주 업데이트됩니다. MIS 팀은 해당 델타 레코드가 필요합니다 (업데이트/삽입/삭제)

가장 좋은 해결책은 무엇입니까?

우리는 2.Replication 3.Mirroring 4.Introducing에 1.Always 여기에 새로운 그 50 개 테이블의 컬럼 (는 lastmodifieddate & 생성 지수)와 정기적으로 그 기록을 당겨 MIS 환경에 채우기를 몇 approches 있습니다.

새로운 열 LastModifiedDate 방식에 대한 코드 변경이 많습니다. 그 50 개 테이블을 기반으로

, 우리는 삽입/업데이트

문이 저장 프로 시저의 큰 숫자가있다. 이러한 저장 프로 시저에서 LastModifiedDate의 코드를 변경해야합니다.

위의 승인에서 가장 좋은 해결책은 무엇입니까?

Pls는 다른 방법을 알려줍니다. 참고 : 우리는 예를 들어, 정확히 같은 열 더하기 아카이브 테이블을 삽입, 업데이트가 있고이 테이블에 트리거를 삭제 SQL 서버 2008 R2

감사 KARTHIK

답변

0

한 가지 방법이다 사용하고 각 테이블된다 username, modifieddatetime 및 새 항목과 이전 항목을 나타내는 비트. 그런 다음 삽입 된/삭제 된 + 현재 사용자, 현재 시간 및 삽입 된 1 및 삭제 된 0에 대한 아카이브 선택에 트리거가 삽입됩니다.

그러면 모든 MIS는 보관 테이블을 고려해야하므로 기존 테이블을 변경하지 않아도됩니다.

+0

답장을 보내 주셔서 감사합니다. 방아쇠가 더 나은 해결책이되지 않기를 바랍니다. – Karthik

+0

@ Karthik 150 개의 트리거를 작성하면 자동으로 작성하는 저장 프로 시저가 생겨 매우 공유 할 수 있습니다! –

+0

Bro, 150 트리거를 만드는 것은 여기서 중요하지 않습니다. 스크립트를 작성하여 작성할 수 있습니다. 그러나 영향은 매우 중요합니다. 중요한 데이터베이스이므로 자주 삽입/업데이트됩니다. 방아쇠가 문제를 일으킨다. 희망 – Karthik