Windows 10 скрывает сообщения RAISERROR WITH NOWAIT в командном файле
В Windows 10 кажется, что все RAISERROR WITH NOWAIT
сообщения, вызываемые из sqlcmd, теперь скрыты в командной строке до завершения пакета:
> sqlcmd -Q "raiserror('Test message', 10, 1) with nowait; waitfor delay '00:00:05'" -b -r1
( нет вывода на консоль, пока waitfor
закончено)
Сравните это с той же командой, запущенной из Windows 2008 R2:
> sqlcmd -Q "raiserror('Test message', 10, 1) with nowait; waitfor delay '00:00:05'" -b -r1
Test message
В приведенном выше примере вы можете увидеть сообщение, даже если пакет еще не завершен.
Есть ли в Windows 10 параметр конфигурации, который вернет эту функциональность? У меня есть старые командные файлы, которые зависят от WITH NOWAIT
показать прогресс.
1 ответ
Решение
Это происходит потому, что sqlcmd11 (не уверен, что выше) не поддерживает RAISERROR WITH NOWAIT. Похоже, это не имеет ничего общего с базовой ОС.
Вот ссылка на публикацию stackru с некоторыми возможными обходными путями.