另外我把bat文件发上来,好心人帮我看看里面是不是也要修改一些路径,文件之类的内容的。。因为我不懂这个5555555
我知道我运行时的错误:路径不对,跟我没有修改里面的内容是不是有关系
我单独运行过Checkjobs.sql是成功的:SQLSERVER_INSTANCE_DETAILS
set $InstanceName=:DERIVE_SQLSERVER_SERVICE_NAME
set $ServiceName=SRVRPTHUB001
if "%$InstanceName%"=="" goto :END_DERIVE_SQLSERVER_SERVICE_NAME
set $ServiceName=%$ServiceName%\%$InstanceName%
:END_DERIVE_SQLSERVER_SERVICE_NAME:SET_INITIAL_VALUES
set $LogFileExtension=log for /F "eol=E tokens=5-8 delims=/ " %%i in ('echo. ^| date') do set Date-yyyymmdd=%%l%%k%%j
for /F "eol=E tokens=5-8 delims=:. " %%i in ('echo. ^| time') do set Time-hhmm=%%i%%j
set $Timestamp=%Date-yyyymmdd%%Time-hhmm%:PROCESS_PARMS
set $parm_JobName=%1
set $parm_SendMail=%2
set $parm_ResultFileExtension=%3 set $ResultFileExtension=%$LogFileExtension%
if "%$parm_ResultFileExtension%"=="" goto :END_PROCESS_PARMS
set $ResultFileExtension=%$parm_ResultFileExtension%
:END_PROCESS_PARMS
:SET_FILENAMES
set $BatFileName=%~n0
set $BatFilePath=%~dp0
set $BatFile=%~dpnx0 set $ScriptFileName=%$parm_JobName%.sql
set $ScriptPath=%$BatFilePath%%$parm_JobName%\Scripts\
set $ScriptFile=%$ScriptPath%%$ScriptFileName% rem set $LogFileName=%$parm_JobName%_%$Timestamp%.%$LogFileExtension%
set $LogFileName=%$parm_JobName%_Log.%$LogFileExtension%
set $LogPath=%$BatFilePath%%$parm_JobName%\Results\
set $LogFile=%$LogPath%%$LogFileName% rem set $ResultFileName=%$parm_JobName%_%$Timestamp%.%$ResultFileExtension%
set $ResultFileName=%$parm_JobName%.%$ResultFileExtension%
set $ResultPath=%$BatFilePath%%$parm_JobName%\Results\
set $ResultFile=%$ResultPath%%$ResultFileName%:LOG_HEADER
for /F "eol=E tokens=5-8 delims=/ " %%i in ('echo. ^| date') do set Date-dd-mm-yyyy=%%k-%%j-%%l
for /F "eol=E tokens=5-8 delims=:. " %%i in ('echo. ^| time') do set Time-hh-mm-ss.t=%%i:%%j:%%k.%%l
echo ====================================================== > %$LogFile%
echo Batch job : %$BatFileName% >> %$LogFile%
echo on path : %$BatFilePath% >> %$LogFile%
echo Commenced : %Date-dd-mm-yyyy% at %Time-hh-mm-ss.t% >> %$LogFile%
echo ------------------------------------------------------ >> %$LogFile%
echo Parms : %* >> %$LogFile%
echo ------------------------------------------------------ >> %$LogFile%
echo Script file : %$ScriptFileName% >> %$LogFile%
echo on path : %$ScriptPath% >> %$LogFile%
echo Log file : %$LogFileName% >> %$LogFile%
echo on path : %$LogPath% >> %$LogFile%
echo Result file : %$ResultFileName% >> %$LogFile%
echo on path : %$ResultPath% >> %$LogFile%
echo ====================================================== >> %$LogFile%
:RUN_OSQL
osql -E -w 2048 -n -S %$ServiceName% -i %$ScriptFile% > %$ResultFile%
if errorlevel 0 goto EXIT_NORMAL
if errorlevel 1 goto EXIT_TSQL_ERROR
if errorlevel 4 goto EXIT_OSQL_ERROR
goto EXIT_NORMAL:EXIT_NORMAL echo ====================================================== >> %$LogFile%
echo Run Status : Script completed successfully >> %$LogFile%
if "%$parm_SendMail%"=="Yes" goto :SEND_EMAIL
goto END:SEND_EMAIL
set $subjectText=%$ServiceName%: %$parm_JobName%
set $fromServer=%$ServiceName%@maybank.com.sg
rem C:\Program Files\Microsoft SQL Server\MSSQL\JOBS\mailsend.exe -d aaa.com.sg -t [email protected],[email protected] -sub "%$subjectText%" -a %$ResultFile% -smtp 10.6.1.34 -f %$fromServer% -y text/html
goto END:EXIT_TSQL_ERROR echo ====================================================== >> %$LogFile%
echo Run Status : Script encountered errors >> %$LogFile%
goto END:EXIT_OSQL_ERROR echo ====================================================== >> %$LogFile%
echo Run Status : OSQL utility failed >> %$LogFile%
goto END:END for /F "eol=E tokens=5-8 delims=/ " %%i in ('echo. ^| date') do set Date-dd-mm-yyyy=%%k-%%j-%%l
for /F "eol=E tokens=5-8 delims=:. " %%i in ('echo. ^| time') do set Time-hh-mm-ss.t=%%i:%%j:%%k.%%l echo Completed : %Date-dd-mm-yyyy% at %Time-hh-mm-ss.t% >> %$LogFile%
echo ====================================================== >> %$LogFile% exit
我知道我运行时的错误:路径不对,跟我没有修改里面的内容是不是有关系
我单独运行过Checkjobs.sql是成功的:SQLSERVER_INSTANCE_DETAILS
set $InstanceName=:DERIVE_SQLSERVER_SERVICE_NAME
set $ServiceName=SRVRPTHUB001
if "%$InstanceName%"=="" goto :END_DERIVE_SQLSERVER_SERVICE_NAME
set $ServiceName=%$ServiceName%\%$InstanceName%
:END_DERIVE_SQLSERVER_SERVICE_NAME:SET_INITIAL_VALUES
set $LogFileExtension=log for /F "eol=E tokens=5-8 delims=/ " %%i in ('echo. ^| date') do set Date-yyyymmdd=%%l%%k%%j
for /F "eol=E tokens=5-8 delims=:. " %%i in ('echo. ^| time') do set Time-hhmm=%%i%%j
set $Timestamp=%Date-yyyymmdd%%Time-hhmm%:PROCESS_PARMS
set $parm_JobName=%1
set $parm_SendMail=%2
set $parm_ResultFileExtension=%3 set $ResultFileExtension=%$LogFileExtension%
if "%$parm_ResultFileExtension%"=="" goto :END_PROCESS_PARMS
set $ResultFileExtension=%$parm_ResultFileExtension%
:END_PROCESS_PARMS
:SET_FILENAMES
set $BatFileName=%~n0
set $BatFilePath=%~dp0
set $BatFile=%~dpnx0 set $ScriptFileName=%$parm_JobName%.sql
set $ScriptPath=%$BatFilePath%%$parm_JobName%\Scripts\
set $ScriptFile=%$ScriptPath%%$ScriptFileName% rem set $LogFileName=%$parm_JobName%_%$Timestamp%.%$LogFileExtension%
set $LogFileName=%$parm_JobName%_Log.%$LogFileExtension%
set $LogPath=%$BatFilePath%%$parm_JobName%\Results\
set $LogFile=%$LogPath%%$LogFileName% rem set $ResultFileName=%$parm_JobName%_%$Timestamp%.%$ResultFileExtension%
set $ResultFileName=%$parm_JobName%.%$ResultFileExtension%
set $ResultPath=%$BatFilePath%%$parm_JobName%\Results\
set $ResultFile=%$ResultPath%%$ResultFileName%:LOG_HEADER
for /F "eol=E tokens=5-8 delims=/ " %%i in ('echo. ^| date') do set Date-dd-mm-yyyy=%%k-%%j-%%l
for /F "eol=E tokens=5-8 delims=:. " %%i in ('echo. ^| time') do set Time-hh-mm-ss.t=%%i:%%j:%%k.%%l
echo ====================================================== > %$LogFile%
echo Batch job : %$BatFileName% >> %$LogFile%
echo on path : %$BatFilePath% >> %$LogFile%
echo Commenced : %Date-dd-mm-yyyy% at %Time-hh-mm-ss.t% >> %$LogFile%
echo ------------------------------------------------------ >> %$LogFile%
echo Parms : %* >> %$LogFile%
echo ------------------------------------------------------ >> %$LogFile%
echo Script file : %$ScriptFileName% >> %$LogFile%
echo on path : %$ScriptPath% >> %$LogFile%
echo Log file : %$LogFileName% >> %$LogFile%
echo on path : %$LogPath% >> %$LogFile%
echo Result file : %$ResultFileName% >> %$LogFile%
echo on path : %$ResultPath% >> %$LogFile%
echo ====================================================== >> %$LogFile%
:RUN_OSQL
osql -E -w 2048 -n -S %$ServiceName% -i %$ScriptFile% > %$ResultFile%
if errorlevel 0 goto EXIT_NORMAL
if errorlevel 1 goto EXIT_TSQL_ERROR
if errorlevel 4 goto EXIT_OSQL_ERROR
goto EXIT_NORMAL:EXIT_NORMAL echo ====================================================== >> %$LogFile%
echo Run Status : Script completed successfully >> %$LogFile%
if "%$parm_SendMail%"=="Yes" goto :SEND_EMAIL
goto END:SEND_EMAIL
set $subjectText=%$ServiceName%: %$parm_JobName%
set $fromServer=%$ServiceName%@maybank.com.sg
rem C:\Program Files\Microsoft SQL Server\MSSQL\JOBS\mailsend.exe -d aaa.com.sg -t [email protected],[email protected] -sub "%$subjectText%" -a %$ResultFile% -smtp 10.6.1.34 -f %$fromServer% -y text/html
goto END:EXIT_TSQL_ERROR echo ====================================================== >> %$LogFile%
echo Run Status : Script encountered errors >> %$LogFile%
goto END:EXIT_OSQL_ERROR echo ====================================================== >> %$LogFile%
echo Run Status : OSQL utility failed >> %$LogFile%
goto END:END for /F "eol=E tokens=5-8 delims=/ " %%i in ('echo. ^| date') do set Date-dd-mm-yyyy=%%k-%%j-%%l
for /F "eol=E tokens=5-8 delims=:. " %%i in ('echo. ^| time') do set Time-hh-mm-ss.t=%%i:%%j:%%k.%%l echo Completed : %Date-dd-mm-yyyy% at %Time-hh-mm-ss.t% >> %$LogFile%
echo ====================================================== >> %$LogFile% exit
解决方案 »
- 存储过程中包含“0x4465636c617265204054205661726368617228323535292c404320566172636861...”
- SQL Update很慢是为什么???
- 求一条有关子查询的SQL语句!
- 关于连接MS SQL 2K 数据库(怎样才能连上这个ms sql 2K数据库呢) ,俺100分了 ?急,详细说明见 内容!
- 关于一个函数
- PowerDesigner概念模型生成物理模型时实体缺少
- 横表和纵表的查询性能比较
- 如何做一个安装程序,自动生成sql server数据库,并填入初始数据?
- 笔记本安装SQL Server 2000老出问题
- 数据共享问题
- 数据库文件过大,是否是数据转换服务(DTS)引起的?
- 动态sql将一行的数据转为列
当你在写路径时, 必须写全了. 而那个"MICRO~1\MSSQL~1\..."是在显示时简略了的. 稍微扫了一下你那code, 看来得研究一下才能回答你.另外, Checkjobs是osql_SQL2000.bat运行时的一个参数.