내 SQL Server 인스턴스 데이터베이스에서 Azure에 새로 생성 된 데이터베이스로 하나의 테이블을 전송하고 싶습니다. 문제는 삽입 스크립트가 60GB입니다.큰 테이블을 Azure SQL 데이터베이스로 가져 오기
하나의 접근법은 백업 파일을 만든 다음 저장소에로드 한 다음 하늘색에서 가져 오기를 실행하는 것입니다. 그러나 문제는 내가 푸른 IO에 가져 오는 동안보다 그렇게하려고하면 오류가 있다는 것입니다 :
Could not load package.
File contains corrupted data.
File contains corrupted data.
두 번째 문제는이 방법을 사용하여 나는 하나 개의 테이블을 복사하지 못할 것입니다을, 전체 데이터베이스는에 있어야한다 백업 파일.
그런 작업을 수행하는 다른 방법이 있습니까? 가장 좋은 해결책은 무엇입니까? 백업이 가장 좋은 경우 왜이 오류가 발생합니까?
한 번에 1000 개의 레코드 제한. 380k 레코드가있는 테이블이 있습니다. – fortboise
1k 레코드의 실제 제한은 없습니다. 코드는 한 번에 1k 만 삽입합니다. 380k 레코드가 있다면 1k 레코드 380 건의 대량 삽입 –
아, 고맙습니다. bcp *는 일괄 처리 크기 지정 (-b 옵션 또는 -h "ROWS_PER_BATCH = bb"로드 힌트)을 허용합니다. "일괄 처리에 대한 트랜잭션이 실패하면 현재 일괄 처리의 삽입 만 롤백됩니다." 귀하의 블로그 또는 ms 문서에 1,000이 기본값으로 표시되지 않습니다. 필자의 경우에는 (export db) + (INSERT INTO를 사용하는 테이블 데이터 전송 ... Azure의 제한이있는 localhost 서버의 SELECT) + (Azure로 다시 배포)로 끝났습니다. 큰 테이블 (지리 열이 있음), 완료되면 1GB 미만의 적당한 크기의 DB – fortboise