如何查找哪些数据库调用不在事务中

发布于 2024-11-08 20:30:06 字数 192 浏览 2 评论 0原文

我的 .net 代码中遇到 SQL 超时。如果过去是任何指标,那么通常是由于事务中未包含数据库调用而导致的。确定(在运行时)给定事务中不存在哪些数据库调用的好方法是什么。运行探查器(2005)时我应该使用某些模板/设置吗?活动日志最好吗?我知道什么数据库调用失败,我只是不知道是什么导致数据库调用失败。

大多数人如何解决这个问题?

谢谢!

I am experiencing a sql timeout in my .net code. If the past is any indicator, it is usually caused by a db call not being included in the transaction. What is a good way to determine (during run-time) what db call is not in a given transaction. Are there certain templates/settings I should use while running profiler (2005)? Would the activity log be best? I know what db call is failing, I just don't know what is causing the db call to fail.

How do most people figure this stuff out?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

红衣飘飘貌似仙 2024-11-15 20:30:07

在 SQL Server 上执行的每个 SQL 语句都将在一个事务中结束 - 如果没有明确的事务,则会生成一个 隐式将会存在。

换句话说 - 总是有交易。


关于该问题 - 使用 SQL Server Profiler - 将其附加到有问题的服务器并触发显示问题的行为。

跟踪应该向您显示所有相关的数据库事件,并让您解决问题。

Every SQL statement that executes on SQL Server will end up in a transaction - if there isn't an explicit one, an implicit one will exist.

In other words - there is always a transaction.


In regards to the problem - use the SQL Server Profiler - attach it to the server in question and trigger the behaviour that displays the problem.

The trace should show you all the relevant database events and let you troubleshoot the issue.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文