문제

개발 서버에 데이터베이스 테이블이 있는데, 이제 140 만 행이 포함 된 CSV 파일의 가져 오기 루틴으로 실행 한 후에 완전히 채워져 있습니다.

테이블에서 데이터베이스 게시 마법사를 실행했으며 이제 로컬 컴퓨터에 286MB SQL 스크립트가 있습니다. 문제는, 그것을 실행하는 방법을 알 수 없다는 것입니다. SQL Server Management Studio Express에로드하면 "작업이 완료 될 수 없음"이라는 경고 창이 표시됩니다.

이 SQL 스크립트를 실행할 수있는 방법에 대한 아이디어가 있습니까?

도움이 되었습니까?

해결책

단일 거래 내에서 큰 것을 실행하는 것은 좋은 생각이 아닙니다. 따라서 파일을 더 작고 관리하기 쉬운 덩어리로 나누는 것이 좋습니다.

또 다른 옵션은 CSV 데이터를 직접 가져 오는 다른 방법 중 일부를 보는 것입니다.

다른 팁

사용 SQLCMD 파일을 실행하는 도구 ..

sqlcmd -S myServer\instanceName -i C:\myScript.sql

여러 삽입물이 포함 된 큰 SQL 파일 (> 100MB)에 대해 설명 할 수없는 "스크립트 오류"가있는 경우 파일에 "GO 삽입"으로 "삽입"을 교체하여 트랜잭션 크기를 줄입니다.

이 도구 (큰 SQL 스크립트 파일 러너)에서 CodePlex는 Log 및 GUI가있는 모든 크기 스크립트 파일을 실행합니다.

Gulzar Nazim의 답변에 추가 : 여전히 실패가 발생하면 Codepage 옵션을 사용하여 SQL 파일의 -f:

sqlcmd -S myServer\instanceName -d databaseName -i C:\myScript.sql -f 65001

SQLITE (기본적으로 UTF-8)에서 .dump 파일을 가져 오려고했으며 SQLCMD는 첫 번째 특수 문자를 만나고 오류를 계속 던지고있었습니다. -f 65001 나를 위해 그것을 고쳤습니다.

DTS를 사용하여 CSV 파일을 직접 가져 오는 이유는 무엇입니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top