SQL Server:PRINT输出不会立即出现


78

在SQL Server 2005 Management Studio中,似乎没有立即显示PRINT语句的输出:如果我有一个PRINT语句,然后是一个长时间运行的语句,则PRINT输出直到以下语句之后才出现。

有什么办法可以更早地刷新输出?我正在运行一些需要一定时间才能完成的升级脚本,并且我想知道脚本的运行距离(因此,我知道是否要等待几分钟然后开始下一个脚本,或者是否要享用午餐) )。


1
在PRINT和长时间运行的语句之间是否有“ GO”?
伯恩哈德·霍夫曼


1
罗杰:我在blog.differentpla.net/blog/2006/10/19/…上看到了您的抱怨。我也有同样的抱怨。为什么我需要在这么短的空间上看到我的登录信息和“ SQLQuery999.sql”字样,从而排挤了所有其他重要信息,对吗?很高兴看到您说话,尽管这不会改变任何事情。我必须求助于使用Server Explorer的Visual Studio提供的界面,以减少致命事故的发生。
珍娜·叶

Answers:


121

不会。仅在提交事务,返回其他记录集或完成go语句(SQL批处理中的语句终止符)时才返回它们。您可以使用非致命错误级别(0-18)的raiserror来获得此类即时反馈。例如:

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

在我的测试中,RAISERROR之前打印将打印出
克雷格Efrein

3
这些打印将出现在RAISERROR的输出之前,但是除非引发异常,否则它们不会返回给客户端。
ConcernedOfTunbridgeWells '02
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.