Для этого можно использовать оператор PRINT
Но у него есть одна крайне неприятная особенность. Выводит текст только когда уже скрипт выполнен. Частный случай: при выполнении команды GO, что по сути - то же самое.
То есть чтобы сразу увидеть текст - можно после PRINT вставить GO, и мгновенно увидим сообщение.
Но минус данного финта состоит в том, что при выполнении GO мы какбы намекает SQL что предыдущая часть скрипта уже отработала полностью, и он удаляет все перемененные, определённые через DECLARE, а это в некоторых случаях заставляет пренебречь выводом сообщений в пользу сохранения работоспособности скрипта.
Но выход есть, конструкция RAISERROR (и не спрашивайте, где еще одна Е )
С флагом WITH NOWAIT
Чуть сложней использовать из-за того, что текст сообщения нельзя собирать динамически при передаче в метод, но в целом даёт нужный результат
Подробней здесь
https://www.sqltheater.com/2017/09/12/stop-using-print/