Ответ 1
Я считаю, что отпечатки буферизуются, освобождая "куски" по мере заполнения буфера.
попробуйте использовать raiserror:
У меня есть простой запрос, который петли, и я хочу видеть сообщения PRINT во время выполнения. Запрос выглядит примерно так:
WHILE 1 = 1
BEGIN
WAITFOR DELAY '000:00:10'
PRINT 'here'
END
ПЕЧАТЬ "здесь" не выводится, пока я не остановлю процесс, однако я хочу видеть его во время его запуска. Возможно ли это?
Я считаю, что отпечатки буферизуются, освобождая "куски" по мере заполнения буфера.
попробуйте использовать raiserror:
Вы можете использовать RAISERROR с сервером 0 и опцией NOWAIT
WHILE 1 = 1
BEGIN
WAITFOR DELAY '000:00:10'
RAISERROR ('here', 0, 1) WITH NOWAIT
END
Попробуйте это.
DECLARE @i INT = 1
WHILE ( @i <= 10)
BEGIN
--- do something
SELECT 'Completed ' + CAST(@i AS VARCHAR(50)) + ' : ' + CAST(GETDATE() AS VARCHAR(50));
SET @i = @i + 1
END