2016-07-06 2 views
0

제 질문은 테이블에 행을 삽입하는 동안 대량 삽입이 가능한 경우입니까? 때때로 벌크 삽입을 제한 할 수 있다는 것을 알고 있지만 SQL Server가 벌크 삽입을 수행 할 수 없으면 발생하지 않을 것이라고 들었습니다.SQL Server 및 대량 삽입 - 발생시기

언제 일어날 수 있으며 언제 발생할 수 있습니까?

SSIS로 데이터를로드 할 때. OLE DB 대상 구성 요소에는 빠른로드 옵션이 있으며 트랜잭션 로그를 확인하여 대량 삽입이 발생하고 있음을 확인할 수 있습니다 (트랜잭션 로그가 거의 증가하지 않음). 그러나 때로는 발생하지 않습니다. 왜? 대량 삽입 조건은 무엇입니까?

SQL Server 2012, 개발자 에디션에서이 내용을 확인하고 있습니다.

+0

문제점/질문 ... 로그 크기가 변경되거나 다른 로그 크기가 서버의 다른 활동 + 데이터 크기에 따라 달라지는 이유입니다. –

답변

2

대량 삽입을 수행하면 항상 대량 삽입을 수행합니다. 오류 일 수는 있지만 '일어날 수 없습니다'. 실제로 언급하는 것은 벌크 삽입물이 최소 로그으로 기록되는지 여부입니다. 개념은 관련되어 있지만 매우 다른 질문입니다. 여기서는 최소 로깅 된 작업에 대한 요구 사항을 반복하지 않겠습니다. 대신, 나는 당신이 아주 좋은 문서가 이미 주제에 기존의 읽기 촉구 :

는 SQL 서버 2008 사이에 약간의 차이가 있다는 것을 알고 있어야합니다, 2012, 2014 및 2016은 개발 영역이었고 이전 제한 사항은 이후 버전에서 해제되었으므로 위의 링크에있는 기사를 읽으십시오. 마지막 기사, 데이터로드 성능 안내서는 이고이 주제에 대한 내용은입니다.

+0

정말 고마워요! 이제 "벌크"삽입이 실제로 무엇인지 이해합니다. 그래서, 최소한의 로깅을위한 조건이 충족 될 때보다 "명시 적으로 삽입하십시오"라는 명시적인 표시가 없더라도 일어난다 고 가정합니다. 물론 나는 문서를 읽을 것입니다, 고마워요! – vBB