I have a sql script file which is executed from a batch file and is supposed to execute some sql scripts and write errors and output to files. Here is an example of how the script file looks like:
:error ".\DataAndTableScripts\9.0.0\_RunOrderedScripts.err" :out ".\DataAndTableScripts\9.0.0\_RunOrderedScripts.out" :on error ignore go set nocount on; print 'Running .\DataAndTableScripts\9.0.0\OrderedFileList.txt' print 'Start time: ' + convert( varchar, getdate(), 121 ); GO :!!echo Table_auth.IdentityApplication.sql :error ".\DataAndTableScripts\9.0.0\Table_auth.IdentityApplication.err" :out ".\DataAndTableScripts\9.0.0\Table_auth.IdentityApplication.out" :r ".\DataAndTableScripts\9.0.0\Table_auth.IdentityApplication.sql" go
The :!!echo Table_auth.IdentityApplication.sql piece is suppose to print this text in the command prompt window. I initially had this code on SQL 2014, but when I upgraded to SQL 2016 and to command line utilities 13 this echo piece stopped working. It seems like, even when I have :on error ignore, when it gets to :!!echo, if fails and the rest of the script is not executed.
Anyone has an idea of what the issue may be?