나는이 질문에 어떻게 대답 할 지 모르겠다. 그래서 나는 설명하려고 노력할 것이다. SQL Server 2005에 타사 데이터베이스가 있습니다. 타사 데이터베이스에도 일부 데이터를 "게시"하고자하는 또 다른 SQL Server 2008이 있습니다. 이 데이터베이스는 포털 및보고 서비스의 백엔드로 사용되며 데이터웨어 하우스가됩니다.SQL Server - ETL의 쿼리와 테이블을 동기화 된 상태로 유지하려면 어떻게해야합니까?
대상 서버에서 다른 테이블 구조의 데이터를 타사 db의 데이터와 함께 저장하려고합니다. 비정규 화하려는 일부 테이블에는 필요하지 않은 컬럼이 많이 있습니다. 또한 동일한 행에 저장된 데이터를 기반으로 업데이트해야하는 일부 테이블에 필드를 추가해야합니다. 예를 들어, 다른 열을 채울 정보가 들어있는 varchar 필드가 있습니다. 이 모든 것은 데이터를 정화하고보고하기가 더 쉬워야합니다.
특정 대상 테이블에서 원하는 모든 정보를 얻기 위해 쿼리를 작성할 수 있습니다. 그러나 다른 서버의 소스를 최신 상태로 유지하려고합니다. 그것은 즉시 업데이트 될 필요는 없지만 (좋을지라도) 아마 10 분마다 업데이트되기를 바랍니다. 100 개의 데이터 행이 있지만 데이터 변경 및 새로운 행 추가 등은 크지 않습니다.
나는 주변을 둘러 보았지만 여전히 이것을 달성하는 가장 좋은 방법은 확실하지 않습니다. 내가 아는 한 복제는 내가 필요한 것을하지 않을 것이다. Merge 문을 사용하여 업데이트를 수행 한 다음 SQL Server 에이전트를 사용하여 작업으로 예약하도록 t-sql을 수동으로 작성할 수 있습니다. 나는 또한 SSIS를 살펴 봤는데 그것은 ETL과 같은 것들을 목표로하고있는 것처럼 보인다.
나는 이것을 달성하기 위해 무엇을 사용해야하는지 잘 모르겠다. 나는 이런 종류의 일을 어떻게해야하는지에 관해 조언을 얻기를 희망했다. 어떤 제안이라도 대단히 감사하겠습니다.
응답 해 주셔서 감사합니다. 비슷한 것을 달성하기 위해 SSIS를 사용했다는 이야기를 듣고 흥미 롭습니다. SSIS를 사용하여 성능이 어떻게됩니까? SSIS의 어떤 종류의 기능을 사용 했습니까? 실행 한 T-SQL 코드 또는 이러한 데이터 흐름 변환을 사용하는 T-SQL 코드였습니까? – Nick
사실 두 가지 모두 포함됩니다. 수많은 데이터 흐름 변환을 사용하여 차원을 업데이트하고 일부 T-SQL 구성 요소를 사용하여 프로세스 중에 사용하는 원시 데이터 테이블을 지 웁니다. 성능에 문제가 없었으며 작업 실행시 서버의 속도 저하에 대해 아무도 불평하지 않았습니다. 전반적으로 SSIS는 지금까지 매우 행복합니다. – ajdams
성능 소리가 좋아. 그리고 그걸위한 스테이징 테이블을 사용합니까? 필자는이 주제에 대해 읽었으며 스테이징 테이블을 제안하고 파티셔닝을 사용하여 새로 업데이트 된 데이터로 전환했습니다. – Nick