作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在工作中,用户非常乐意使用 Reporting Services 的报表生成器生成自己的报表。
但是,遗憾的是,它生成的查询效率非常低,而且它们不使用“WITH (NOLOCK)” - 对每个人来说都减慢了速度。
这些报告确实需要使用最新数据运行 - 无法卸载到报告服务器。而且由于它们查询非常具体、详细的数据,因此超立方体在这里没有用处。
所以问题是:
有没有办法配置报表生成器的数据模型,使其生成的查询在查询表时始终使用“WITH (NOLOCK)”?
最佳答案
NOLOCK 不是解决方案。脏读是inconsistent reads .您的总数将被取消,您的报告将不平衡,并且您通常会产生垃圾汇总数据。使用快照隔离来防止报告阻止更新并防止更新阻止报告:
ALTER DATABASE ... SET READ_COMITTED_SNAPSHOT ON;
见 Row Versioning-based Isolation Levels in the Database Engine了解更多详情。
关于sql-server - 有没有办法强制报表生成器在它生成的查询中使用 "WITH (NOLOCK)"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4513127/
我是一名优秀的程序员,十分优秀!