[DB] MS SQL 대용량 SQL파일 실행

2015. 8. 25. 17:14Database

SQL Server Management Studio로 대용량 SQL파일을 실행할 경우 아래와 같이 오류가 나타날 수 있습니다.
Cannot execute script. Insufficient memory to continue the execution of the program. (mscorlib)

이 경우 SQLCMD라는 명령행 도구를 통해서 SQL파일을 실행할 수 있습니다.

  1. 명령 프롬프트를 관리자 모드로 실행합니다.
  2. 다음과 같이 입력하면 SQL파일이 실행되게 됩니다.
    sqlcmd -S myServer\instanceName -i C:\myDB.sql -o C:\Output.txt -d dbName
    [SQLCMD 설명]
    • SQLCMD는 명령프롬프트 환경에서 SQL을 실행할 수 있는 프로그램입니다.
    • -S [protocol:]server[\instance_name][,port] : 대상 서버와 Instance를 지정합니다. Protocol은 tcp(TCP/IP인 경우), lpc(Shared memory), np(Named pipes)가 있습니다.
    • -i inputFilePath[,inputFilePath...] : 실행할 SQL파일을 지정합니다.
    • -o outputFilePath : 실행결과가 저장될 파일을 지정합니다. 이미 파일이 존재할 경우 덮어씁니다.
    • -U loginId -P password : 로그인 계정을 입력합니다. 생략할 경우 윈도우 인증모드로 연결을 시도합니다.
    • -d dbName : SQL을 실행할 DB명을 입력합니다. 미입력 시 master에 실행됩니다.