【问题标题】:sql report 3.0 deadlocksql报告3.0死锁
【发布时间】:2015-07-03 03:43:54
【问题描述】:

当我需要在同一张表上查询两个不同的销售报告时遇到死锁。

对这两个报告的查询是

select * from tableA
inner join tableB on ...
inner join tableC on ...

我的销售报告解决方案

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
select * from tableA
inner join tableB on ...
inner join tableC on ...
SET TRANSACTION ISOLATION LEVEL READ COMMITTED

这是正确的解决方案吗?

我认为销售报告会不准确,因为会有脏读

【问题讨论】:

    标签: sql sql-server reporting-services ssrs-2008 reportbuilder3.0


    【解决方案1】:

    通常,您不会在同一张表上使用两个SELECTS 导致死锁。你有一些进程写入它吗?这是整个报告代码吗? 您是否使用生产表或它们的复制副本来生成报告?这一切都可能算在内。

    我建议您运行 SQL Profiler(服务器端跟踪)来运行跟踪并检查结果。您通常应该找到死锁图,这意味着您可以准确地确定哪个查询在之前运行并与另一个查询发生冲突。

    作为一种解决方法,您可以使用您的解决方案,但这只是一种解决方法。您可能有很高的不准确性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-08
      • 1970-01-01
      • 1970-01-01
      • 2016-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多