You have two issues. One is the script does not detect errors correctly. Secondly the transaction log is filling up frequently.
First the script needs to have the standard output AND the error output go to your log file. When you use the >
it is using file descriptor 1. When you want to capture error output you need to use 2>
for file descriptor 2. So the command would look like the following.
isql > error.log 2> error.log
Better yet use this
isql 2>&1 > error.log
The previous says to have file descriptor 2 go to file descriptor 1.
Now to detect errors look for "Msg" which all errors have in front.
Secondly to resolve the transaction log space, you need to grow the log size which should be on its own device. Then you need to set the threshold to dump the completed transactions to a disk file automatically. You need to investigate the following commands.
sp_helpthreshold
sp_addthreshold
sp_thresholdaction
Good SQL, good night.