RAISERROR WITH NOWAIT
SQL  Server buffers the output, so an error message or a result set may not  appear directly at the client. In many cases, this is not an issue, but if you  are running a long-running procedure, you may want to produce diagnostic  messages. To have them displayed immediately in the client, you can use the  WITH NOWAIT  clause to the RAISERROR  statement, as in this example:  PRINT 'This message does not display immediately'
 WAITFOR DELAY '00:00:05'
 RAISERROR ('But this one does', 0, 1) WITH NOWAIT
 WAITFOR DELAY '00:00:05'
 PRINT 'It''s over now' Once there is a message with NOWAIT , all that is ahead of the message in the buffer is also passed to the client.  Unfortunately, there is a bug in SQL  Server with NOWAIT , which affects you    only if you are calling a procedure through RPC  (remote procedure call), so    that it this case, SQL  Server buffers the messages nevertheless. RPC  is the    normal way to call a procedure from an a...