2013-01-14 2 views
7

Windows 작업 스케줄러에서 매시간 저장 프로 시저를 실행하도록 일정을 설정하려고했으나 (SQL Express를 사용하고 타사 도구를 설치할 수 없음) 작업 스케줄러에서 .bat 파일을 실행하거나 작업 스케줄러에서 SqlCmd 유틸리티를 열고 명령 행 구문이나 .sql 스크립트 파일을 전달하는 등의 다양한 방법을 시도한 후에 나는 운이 없다.Windows 작업 스케줄러를 사용하여 저장 프로 시저 실행

나는 이것이 행해질 수 있고 따라서 내가 놓친 것임을 알고있다. 그러나 누구든지 이것에 대한 그들의 경험을 나눌 수 있다면 나는 그것을 매우 고맙게 생각한다.

덕분에 많은

+1

sqlcmd를 사용하면 문제가 발생할 가능성이 있습니다. 너 왜 그걸 실패한거야? –

+0

유용한 정보 : http://stackoverflow.com/questions/3794897/need-help-to-write-bat-file-that-execute-sql-scripts-in-sql-server-2008-and-ano – sgeddes

+0

SQLCMD를 실행하는 .bat 파일이 작동하지 않습니까? 자세한 내용을 알려주십시오. – Mark

답변

9

나는 당신의 사용자의 관리자 인 높은 기회가 있도록 자신의 컴퓨터에서이 작업을 수행하려고하는 내기 당신은 SQLExpress입니다을 사용하고 있기 때문에 당신은 (는 SQL 인스턴스의 관리자 인 경우 SQL 인스턴스) 당신은 -E를 전혀 사용하지 말아야합니다. 그냥 무시하십시오.

둘째, 로컬에서 작업하는 경우에도 서버를 지정하십시오. 같은 아래 간단한 SQL 명령을

시작 :

sqlcmd.exe를 -S "." -d MY_DATABASE -Q "SELECT * FROM MY_TABLE"

MY_DATABASE 및 MY_TABLE을 dbname 및 테이블 이름으로 바꿉니다. 명령 줄에서 실행할 수 있는지 확인하십시오. 테이블에서 데이터를 리턴해야합니다. (명령 줄 옵션은 대소 문자를 구별하므로 -s는 -S와 동일하지 않음)

마지막으로 작업 스케줄러를 통해 매개 변수를 제공하지 마십시오. 모든 매개 변수와 함께 .bat 파일에 명령을 넣고 작업 스케줄러에서 배치를 실행하십시오.

+0

아니요 SQL 서버가있는 컴퓨터에 원격으로 연결 했으므로 로컬로 연결하려고하지 않았습니다. 나는 당신의 제안을 시도 할 것이지만 배치 파일에 관해서 - 그 파일은 어떻게 보이겠습니까? – richardterris

+1

SQLExpress는 기본적으로 원격 연결을 거부하도록 구성됩니다. 컴퓨터에서 원격 SQLExpress에 연결할 수 있습니까? 예를 들어 –

+0

과 같이 Management Studio를 사용해 볼 수 있습니다. 자신의 컴퓨터에서 관리 스튜디오의 – richardterris

-1

최근에 비슷한 문제가 있었으며 경험이 도움이 될 수 있습니다. 배치 파일에서 EXE라는 작은 앱을 호출했습니다. Windows 작업 스케줄러에서 실행되도록 배치 파일을 예약했습니다. 응용 프로그램은 Windows 인증을 사용하여 SQL 데이터에 액세스하고있었습니다. 앱을 직접 실행할 수 있습니다. 예를 들어 실행하려면 EXE를 클릭하십시오. 배치 파일에서 앱을 실행할 수 있습니다. 그러나 예약 된 작업을 실행하려고 시도했지만 시작한 것 같지 않고 아무 것도 수행하지 않고 찾을 수있는 오류도 게시하지 않았습니다. SQL 인증으로 실행되도록 응용 프로그램을 변경하면 Task Scheduler에서 실행할 수 있습니다.

SQL에 의해 인식되지 않는 작업 스케줄러에서 실행할 때 Windows 인증의 컨텍스트에 대한 문제가 있다고 생각됩니다.

관련 문제