Sql 存储过程中的打印延迟

Sql 存储过程中的打印延迟,sql,sql-server,stored-procedures,queue,Sql,Sql Server,Stored Procedures,Queue,我在SQL Server 2008中的存储过程如下所示: create PROCEDURE [dbo].[test] AS BEGIN print 'start' waitfor delay '00:02:00' print 'end' END GO 正如预期的那样,在输出中,我希望得到: start 2分钟后: end 我应该更改什么?您可以将raiserror与nowait一起使用,而不是打印,严重性级别为0 raiserror('Start', 0, 0) with

我在SQL Server 2008中的存储过程如下所示:

create PROCEDURE [dbo].[test]
AS
BEGIN
   print 'start'
   waitfor delay '00:02:00'
   print 'end'
END
GO
正如预期的那样,在输出中,我希望得到:

start
2分钟后:

end

我应该更改什么?

您可以将
raiserror与nowait一起使用,而不是
打印
,严重性级别为0

raiserror('Start', 0, 0) with nowait
waitfor delay '00:02:00'
raiserror('End', 0, 0) with nowait

严重性级别低于11不会被视为异常(在Sql Management Studio中,它看起来像普通的打印),并且
with nowait
选项会立即向客户端发送消息。

而不是
print
您可以将
raiserror与nowait
和严重性级别0一起使用

raiserror('Start', 0, 0) with nowait
waitfor delay '00:02:00'
raiserror('End', 0, 0) with nowait

严重性级别低于11不会被视为异常(在Sql Management Studio中,它看起来像普通的打印),并且
with nowait
选项会立即向客户端发送消息。

而不是
print
您可以将
raiserror与nowait
和严重性级别0一起使用

raiserror('Start', 0, 0) with nowait
waitfor delay '00:02:00'
raiserror('End', 0, 0) with nowait

严重性级别低于11不会被视为异常(在Sql Management Studio中,它看起来像普通的打印),并且
with nowait
选项会立即向客户端发送消息。

而不是
print
您可以将
raiserror与nowait
和严重性级别0一起使用

raiserror('Start', 0, 0) with nowait
waitfor delay '00:02:00'
raiserror('End', 0, 0) with nowait

严重性级别低于11不会被视为异常(在Sql Management Studio中,它看起来像普通打印),并且
with nowait
选项会立即向客户端发送消息。

与上面的示例相同,仅在2分钟后打印这两个选项messages@IgO确保您没有错过nowait的
。它应该立即发送消息。至少在我的服务器上是这样的。不,我使用了你的代码,但仍然不工作properly@IgO我相信您还没有切换到输出中的“消息”选项卡。在您的查询仍在运行时尝试此操作,您将看到“开始”消息与上面的示例相同,仅在2分钟后打印这两个消息messages@IgO确保您没有错过nowait的
。它应该立即发送消息。至少在我的服务器上是这样的。不,我使用了你的代码,但仍然不工作properly@IgO我相信您还没有切换到输出中的“消息”选项卡。在您的查询仍在运行时尝试此操作,您将看到“开始”消息与上面的示例相同,仅在2分钟后打印这两个消息messages@IgO确保您没有错过nowait的
。它应该立即发送消息。至少在我的服务器上是这样的。不,我使用了你的代码,但仍然不工作properly@IgO我相信您还没有切换到输出中的“消息”选项卡。在您的查询仍在运行时尝试此操作,您将看到“开始”消息与上面的示例相同,仅在2分钟后打印这两个消息messages@IgO确保您没有错过nowait的
。它应该立即发送消息。至少在我的服务器上是这样的。不,我使用了你的代码,但仍然不工作properly@IgO我相信您还没有切换到输出中的“消息”选项卡。在查询仍在运行时尝试此操作,您将看到“开始”消息