Joe*_*eda 2 sql-server reportbuilder reporting-services
在工作中,用户非常乐意使用Reporting Services的报表生成器生成自己的报表.
但是,唉,它生成的查询非常低效,并且他们不使用"WITH(NOLOCK)" - 减慢每个人的事情.
这些报告确实需要使用最新数据运行 - 无法卸载到报告服务器.由于他们查询非常具体的详细数据,因此超立方体在这里没用.
所以问题是:
有没有办法配置报表生成器的数据模型,以便它生成的查询在查询表时始终使用"WITH(NOLOCK)"?
NOLOCK没有解决方案.脏读是不一致的读.您的总计将关闭,您的报告将无法平衡,并且您通常会生成垃圾聚合数据.使用快照隔离可防止报告阻止更新并防止更新阻止报告:
ALTER DATABASE ... SET READ_COMITTED_SNAPSHOT ON;
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅数据库引擎中基于行版本控制的隔离级别.
| 归档时间: |
|
| 查看次数: |
1950 次 |
| 最近记录: |