触发无限期WAIT FOR会增加日志文件的大小吗?

时间:2012-12-17 17:50:01

标签: sql sql-server sql-server-2005 service-broker

在我的应用程序的最后一个版本中,我添加了一个命令,告诉它等待Service Broker队列中的某些内容

WAITFOR (RECEIVE CONVERT(int, message_body) AS Message FROM MyQueue)

DBA告诉我,自添加以来,日志大小已经过顶。这可能是正确的吗?或者我应该在别处寻找?

1 个答案:

答案 0 :(得分:1)

我没有在服务代理中对此进行测试,但我认为相同的ACID合规机制将会起作用。这取决于它是否在您的代码中打开或不打开事务。如果它使一个事务处于打开状态并且没有提交它,那么日志将继续增长直到某些事情关闭它,并且只有在那时它才会最终标记旧区域以供重用。

我尚未推出服务经纪人,但测试/阅读我没有包括任何WAITFOR。 相反,像Denny Cherry这样的服务器代理MVP通常会继续查询队列而不是执行WAITFOR。

您是否可以发布其他一些代码并告诉我们您使用WAITFOR的原因?也许有一些我没有得到的东西,这将是一个很好的用例场景。谢谢!

相关问题