2012-05-16 3 views
2

으로 을 실행해야하는 폴더에 여러 개의 스크립트가 있습니다. SSMS에서 열어 하나씩 실행하십시오. 그 중 하나가 완료되면 두 번째를 실행하기까지 기다려야합니다.폴더에 SQL 파일 묶음이 실행 중임

SSMS (가능한 경우)에서 배치 스크립트 나 스크립트를 하나씩 생성하는 방법이 있습니까? 스크립트가 실행 중이고 오류를 방지하는 동안 다른 작업을 수행 할 수 있으므로 시간을 절약 할 수 있습니다. 대부분은 연속 된 임시 테이블에 의존합니다.

sqlcmd의 배치 스크립트는 내가 찾고있는 것이지만이 작업을 수행하는 방법을 모른다고 생각합니다.

감사합니다.

답변

2

배치 파일을 매우 쉽게 조합 할 수 있습니다. 다음과 같은 것을 텍스트 파일에 넣고 .bat 파일을 끝내십시오. 'ExecuteMyScripts.bat'예 :

Sqlcmd는 다양한 인수를 갖지만 주요 요소는 -S, 서버 인스턴스의 경우 -d, 데이터베이스의 경우 -d, 입력 파일, 즉 SQL 파일, -U는 사용자, -P는 암호, -o는 출력 파일입니다. 편지의 경우를보세요.

그래서 메모장을 열고 다음과 같은 추가 :

sqlcmd -S mysqlserver -d mydb -U sa -P pass1 -i "c:\script1.sql" -o "c:\script1log.txt" 
IF ERRORLEVEL 1 goto :eof 
sqlcmd -S mysqlserver -d mydb -U sa -P pass1 -i "c:\script2.sql" -o "c:\script2log.txt" 
IF ERRORLEVEL 1 goto :eof 
sqlcmd -S mysqlserver -d mydb -U sa -P pass1 -i "c:\scripr3.sql" -o "c:\script3log.txt" 

저장 ExecuteMyScripts.bat으로 저장합니다. 파일을 두 번 클릭하면 두 스크립트가 모두 실행됩니다.

오류가 발견되면 각 sqlcmd 호출 후 'IF ERRORLEVEL 1 goto : eof'를 추가하면 스크립트 끝으로 이동합니다.

전체 사용도 여기를 참고하십시오 : http://msdn.microsoft.com/en-us/library/ms162773.aspx

+0

오류 발생시 배치가 중단됩니까? –

+0

-b 옵션과 비슷합니다. -b (오류가있는 경우 일괄 작업 종료) –

+0

오류 검사 –

관련 문제