sql-server – 触发无限期WAITFOR会增加日志文件的大小吗?
发布时间:2021-05-22 20:45:04 所属栏目:MsSql教程 来源:网络整理
导读:在我的应用程序的最后一个版本中,我添加了一个命令,告诉它等待Service Broker队列中的某些内容: WAITFOR (RECEIVE CONVERT(int,message_body) AS Message FROM MyQueue) DBA告诉我,自添加以来,日志大小已经遍及屋顶.这可能是正确的吗?或者我应该在别处寻
在我的应用程序的最后一个版本中,我添加了一个命令,告诉它等待Service Broker队列中的某些内容: WAITFOR (RECEIVE CONVERT(int,message_body) AS Message FROM MyQueue) DBA告诉我,自添加以来,日志大小已经遍及屋顶.这可能是正确的吗?或者我应该在别处寻找? 解决方法任何活动的打开事务都会固定日志,防止截断并最终导致增长.如果你开始一个事务,写入日志然后等待永远希望消息最终唤醒你,你只需固定日志并使其增长.最近我开始建议人们在激活的程序中避开WAITFOR以及循环.只需发出一个RECIEVe并完成,让激活机制为你循环(它确实)并且不要WAITFOR,只是普通的RECEIVE. RECEIVE的WAITFOR风格在内部创建了一个保存点.这会生成日志(至少3个日志记录)并确实在等待时将日志固定到位.长时间的WAITFOR超时(或更糟,无限的超时)将是一个非常糟糕的做法. (编辑:扬州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 命令行 – 学习SQL艰难的方法 – 在SQL Lite 3中使用.db创建
- sql语句优化规则是什么?sql语句编写需要注意什么问题?
- sql-server – 资源池“internal”中没有足够的系统内存来运
- SQL Server存储过程以发送电子邮件
- sql-server – 处理多租户数据库体系结构中越来越多的租户
- sql-server – 在SAN环境中对SQL索引进行碎片整理是否有任何
- SQL Server Bulk Insert 只需要部分字段时的技巧
- sql – 如何识别与sybase数据库中的表关联的触发器?
- 如果数据库表更新/插入,如何让Windows C#控件自动更新?
- sql-server – 将结果限制为前2个排名行
站长推荐
热点阅读