임시 테이블을 비우고 bcp를 통해로드 한 다음 프로덕션 테이블로 이동하기 전에 행을 수정합니다.MSSQL bcp를 임시 테이블로로드
- 잘라 내기 테이블 TEMP1
- BCP db.schema1.temp1에서 import1.txt -h "TABLOCK"
- 간부 sp_modify_temp1_rows_move_to_production_table
내 질문은 어떻게 : 명령은 다음과 같을 것 이 모든 것을 하나의 트랜잭션으로 실행할 수 있습니까? 반드시 롤백해야 할 필요는 없지만 격리를 제공하십시오.
여기에 상상의 시나리오가 있습니다. User1은 import1.txt를로드합니다 (이 작업의 수행 세부 사항, 1 ~ 3 단계는 사용자에게 표시되지 않습니다). User1에 대해 2 단계가 완료되기 전에 User2가 자체 가져 오기를 시작합니다. 잠금 메커니즘으로 인해 가져 오기가 즉시 시작되지 않습니다. 주요 관심사는 User2의 1 단계가 User2의 2 단계가 완료되는 즉시 시작되어 User1의 3 단계 전에 표를 지우고 프로세스를 완료 할 수 있다는 것입니다.
세 가지 추가 참고 사항 : ADO를 통해 여기
- 클라이언트 측 실행 (안 ADO.NET과 착각하는)
- 대량 삽입이
- 일부 잠금 메커니즘을 확장을 통해이 일을 안함 옵션을 선택하지 않습니다 가능한 경우 ADO를 통해 1 단계와 2 단계의 프로세스를 단계 2에 포함 할 수 있습니다. 가능하다면 불가능하다는 것을 알고 여기에서도 도움이됩니다.
답변을 업데이트했습니다. – garik