Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.databases.ms-sqlserver > #2158

Re: `sqlcmd' withholding error messages?

Date 2022-08-19 17:44 +0200
Subject Re: `sqlcmd' withholding error messages?
Newsgroups comp.databases.ms-sqlserver
References <20220811131035.f10b114df6b905668746c2ab@g{oogle}mail.com>
From Luuk <luuk@invalid.lan>
Message-ID <nnd$0ac332a1$732489f3@eef0fc901d3b0f44> (permalink)
Organization KPN B.V.

Show all headers | View raw


On 11-8-2022 12:10, Anton Shepelev wrote:
> Greetings to master Erland and all good people prefer-
> ring the cleanliness and freedom of  Usenet  to  clut-
> tered  and centralised web-based media. On a dedicated
> machine I host many SQL Server instances  and  perform
> some  regular  maintenance operations via `sqlcmd' in-
> voked in a batch script in a loop over a file  with  a
> list  of instances. The relevant fragment is shown be-
> low:
> 
> for /F %%f in (instances.txt) do (
>     sqlcmd -A -r 0 -b -l 4 -t 120 -S SBOSQL%f -i %SCR_PAT%%s 2> error.txt
>     IF ERRORLEVEL 1 (
>        echo %DATE% %TIME%:                      >> errors.txt
>        echo Error invoking %SCR_PAT%%s for %%f: >> errors.txt
>        type error.txt                           >> errors.txt
>        echo --                                  >> errors.txt
>     )
>     del error.txt
> )
> 
> Most of the time is works as expected, but on rare oc-
> casion the log file will contain error entries with an
> empty message, e.g.:
> 
>     Thu 08/11/2022 13:04:12.46:
>     Error invoking mem_bal _mem_balance.sql for SBO35:
>     --
> 
> Which means that `sqlcmd' returned an error  code  yet
> did not print any message to standard output. Do I in-
> voke it incorrectly?
> 


-r[0 | 1]
Redirects the error message output to the screen (stderr). If you do not 
specify a parameter or if you specify 0, only error messages that have a 
severity level of 11 or higher are redirected. If you specify 1, all 
error message output including PRINT is redirected. Has no effect if you 
use -o. By default, messages are sent to stdout.

(source: 
https://docs.microsoft.com/en-us/sql/tools/sqlcmd-utility?view=sql-server-ver16) 



Conclusion: Do not use `-r 0` because of "if you specify 0, only error 
messages that have a severity level of 11 or higher are redirected."


Back to comp.databases.ms-sqlserver | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

`sqlcmd' withholding error messages? Anton Shepelev <anton.txt@g{oogle}mail.com> - 2022-08-11 13:10 +0300
  Re: `sqlcmd' withholding error messages? Erland Sommarskog <esquel@sommarskog.se> - 2022-08-12 22:45 +0200
    Re: `sqlcmd' withholding error messages? Anton Shepelev <anton.txt@g{oogle}mail.com> - 2022-08-19 17:52 +0300
  Re: `sqlcmd' withholding error messages? Luuk <luuk@invalid.lan> - 2022-08-19 17:44 +0200
    Re: `sqlcmd' withholding error messages? Anton Shepelev <anton.txt@g{oogle}mail.com> - 2022-08-22 12:39 +0300
      Re: `sqlcmd' withholding error messages? Anton Shepelev <anton.txt@g{oogle}mail.com> - 2022-08-22 17:46 +0300

csiph-web