SQLServer: 不会立即显示 PRINT 输出

在 SQL Server 2005 Management Studio 中,PRINT 语句的输出似乎不会立即出现: 如果我有一个 PRINT 语句后跟一个长时间运行的语句,PRINT 输出直到下面的语句之后才会出现。

有什么办法可以提前冲洗输出吗?我正在运行一些需要很长时间才能完成的升级脚本,我想知道这些脚本还有多长时间才能完成(这样我就知道是等几分钟再开始下一个脚本,还是去吃午饭)。

69506 次浏览

No. Output of PRINT statements will only be returned when a transaction is committed, when other record sets are returned or a statement is completed (go statement terminator in a SQL batch). You can use raiserror at non-fatal error levels (0-18) to get immediate feedback of this sort. For example:

RAISERROR ('Foo', 10, 1) WITH NOWAIT