SQL Server 테이블 내용 대량 교체

bulk-load sqlbulkcopy sql-server

문제

내 ASP.NET MVC 응용 프로그램에는 Entity Framework 6을 통해 SQL Server 데이터베이스에 액세스하는 많은 웹 서버가 있습니다.이 데이터베이스에는 1 대 다수의 관계가있는 2 개의 테이블이 있습니다.

하루에 한 번씩 두 테이블의 전체 내용을 원격 웹 서비스에서 인터넷을 통해로드되는 새 데이터 집합으로 교체해야합니다. 기록의 수는 수천 개가 될 수 있습니다. 레코드는 약 10 개의 nvarchar 및 정수 필드가 각각 매우 큰 것은 아닙니다.

하나의 웹 서버에 원격 웹 서비스의 데이터 집합을 2 개의 SQL Server 테이블로로드 할 계획입니다. 이전 컨텐츠를 제거하고 새 컨텐츠를 효율적으로로드해야합니다. 이런 일이 발생하는 동안 다른 웹 서버는 (아마도 테이블을 잠그면) 테이블에 액세스하지 못하도록해야합니다.

나는 이것을 달성하기위한 빠른 옵션과 장단점을 찾고 있습니다. 이 작업을 수행하는 NuGet 패키지 또는 Entity Framework 명령이 있다면 이상적입니다.

인기 답변

임시 테이블에로드하고 MERGE (병합 문)를 사용 테이블에 병합하십시오.



아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.