2016-10-13 2 views
0

OPENQUERY 또는 SSIS 데이터 흐름을 통해 다른 OLTP 데이터베이스 (이 SSIS 패키지/OPENQUERY 문을 실행하는 Warehouse)로 OLTP 데이터베이스 (ETL의 일부)에서 데이터를로드하면 해당 데이터가 종료됩니다. 성능 모니터에서 확인한 것처럼 운명에서가 아니라 원본 데이터베이스의 리소스를 사용합니다. SQL Server 2016 또는 SSIS를 사용하여이 리소스 사용을 취소 할 수 있습니까?대신 데이터베이스에서 데이터 푸시

+0

'죽이는'것은 무엇을 의미합니까? 이 문제를 기술적 인 측면에서 설명 할 수 있습니까? 한 시스템에서 다른 시스템으로 데이터를 전송하는 경우 두 시스템 모두에서 자원을 사용해야합니다. –

답변

2

여기에 문제가 대상 쓰기 작업에 있습니다. 빠른로드 액세스 모드로 OLE DB 대상을 사용하는 경우 배치 당 행을 0이 아닌 값으로 설정하고 최대 삽입 확약 크기를 메모리 및 CPU에서 쉽게 사용할 수있는 값으로 줄이십시오. SSIS는 대상 테이블에 쓰기 전에 기본값 2147483647을 기다릴 필요가 없으므로 로그 파일에 큰 영향을 미쳐 프로세스가 느려질 수 있습니다. 이 값을 설정하는 방법에 대한 자세한 내용은 Article을 참조하십시오. 모든 최고의

enter image description here

+0

원본 서버 (OLTP)와 함께 대상 서버 (SSIS 인스턴스가있는웨어 하우스) 성능에 문제가 없습니다. 대상 서버를 사용하여 리소스 사용을 줄이는 방법을 찾고 있습니다. – Testtest11

0

방법 내보내기 쿼리처럼 보이는 않습니다? 단순한 데이터 덤프입니까 아니면 일부 복잡한 논리가 있습니까 (예 : 내보내기로 일부 비정규 화/집계 수행)?

단순한 내보내기 일 경우 SSIS 패키지가 실행되는 서버와 사용되는 리소스를 확인하십시오. 어쨌든 원본 시스템에서 데이터를 읽어야하므로 일부 읽기 디스크 작업이 필요합니다.

일반적으로 가능한 한 빨리 OLTP에서 데이터를 가져온 다음 ETL/데이터웨어 하우스 서버에서 ETL 프로세스의 추가 단계에서 다른 작업을 적용하는 것이 좋습니다. 거래 시스템에 미치는 영향을 줄이기 위해.

희망이 있습니다.