2013-04-17 2 views
0

배경 정보 :sqlcmd가 일괄 분리 기호로 작동하도록합니다.

다른 SQL Server간에 저장 프로 시저를 동기화하기위한 일괄 작업을 설정하려고합니다. 내 저장 프로 시저를 별도의 .sql 파일로 내 폴더로 내 보냈습니다. 여러 저장 서버에 대해 새로운 저장 프로 시저를 만들거나 변경하고 싶을 때마다 원하는대로 서버를 테스트합니다. 그 후 내 폴더로 내 보냅니다. 그런 다음 다른 서버에 배포하려면 단순히 배치 만 실행하면됩니다.


나는 내가 원하는 방식으로 내 배치를 거의 알아 냈습니다. 유일한 문제는 sqlcmd가 표준 배치 구분 기호 'GO'('Incorrect syntax near 'GO'.')를 좋아하지 않는 것 같습니다. 그래서 내 기본 일괄 처리 구분 기호를 'RUN'으로 변경하고 각 'GO'명령을 내 .sql 파일에서 'RUN'으로 바꾸고 sqlcmd 명령에 -c RUN을 추가했습니다.

그러나 그 다음은 'Incorrect syntax near 'RUN'.'이라고 알려줍니다. (1)은 다음과 같이보고, SQL 파일을 수축으로

는 테스트를 위해 난 그냥 그것을 밖으로 시도 :

USE [MyDatabase] 
GO 

해도 문제가 해결되지 않았다. 어떻게 작동시킬 수 있습니까?

+0

이있다 아무도 그에 대한 답변 :이 같은 뭔가를 잘해야한다

? –

답변

0

GO 또는 RUN을이 스크립트에서 제외 해보십시오. 그것들없이 데이터베이스 컨텍스트를 변경할 수 있습니다.

USE MyDatabase; 
--First query 

USE MyOtherDatabase; 
--Second query