日期:2014-05-17  浏览次数:20495 次

sqlserver2008 waitfor delay的问题
在测试时候发现一个怪问题
SQLSERVER2008的查询分析器中执行已下语句

waitfor delay '00:00:19'
print '123'
--结果正常延时19秒打印出'123'

waitfor delay '00:00:20'
print '123'
--结果等到30-32秒才打印出'123'

后面运行
PRINT CONVERT(VARCHAR(30),GETDATE(),113)
waitfor delay '00:00:20'
print '123'
PRINT CONVERT(VARCHAR(30),GETDATE(),113)
--结果语句确实在20S的时候执行结束了,但是就是把结果没有返回给查询分析器

延时时间范围在20秒到32秒的范围内都有这个延时不准的问题,请问大家可能是什么问题?
------最佳解决方案--------------------
我执行的结果没问题啊,不过我是一次性执行的,刚好59秒
SQL Server 分析和编译时间: 
   CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。

 SQL Server 执行时间:
   CPU 时间 = 0 毫秒,占用时间 = 19014 毫秒。
123

 SQL Server 执行时间:
   CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。

 SQL Server 执行时间:
   CPU 时间 = 0 毫秒,占用时间 = 20014 毫秒。
123

 SQL Server 执行时间:
   CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。
06 11 2012 17:46:25:727

 SQL Server 执行时间:
   CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。

 SQL Server 执行时间:
   CPU 时间 = 0 毫秒,占用时间 = 20014 毫秒。
123

 SQL Server 执行时间:
   CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。
06 11 2012 17:46:45:737

 SQL Server 执行时间:
   CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。
SQL Server 分析和编译时间: 
   CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。

 SQL Server 执行时间:
   CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。

------其他解决方案--------------------
你的执行最后还是在服务器端运行,所以不会影响数据,你只是发个命令过去而已。展示给你的话有点延时是可以接受的。
------其他解决方案--------------------
我又尝试了一下,因为sqlserver2008服务器是远程的,跟我的笔记本不是同一个网段的,两个网段通过路由连接访问。
我试了一下在远程直接执行delay语句是正常的,感觉是网络的问题。

但是我在远程服务器ping我自己机器的时候并没有延时的问题发生啊,这个怎么解决呢?
------其他解决方案--------------------
该回复于2012-11-06 19:25:59被管理员删除
------其他解决方案--------------------
该回复于2012-11-06 19:25:59被管理员删除