为什么我没有收到 SPSiteDataQuery 限制异常?
-
10-12-2019 - |
题
我没有成功地尝试引起 SPQueryThrottledException
本地以便调试客户遇到的问题。
我在用着 SPSiteDataQuery
查询包含以下内容的多个站点 4000 到 8000 每项总计超过 43000. 。正在针对网站集根 SPWeb 的提升实例运行查询。
使用以下两种方法过滤查询 <Webs>
和 <Lists>
元素,但不通过任何其他属性,并且不是递归查询。它在网站集范围内运行。
当由贡献级别权限及更高权限的用户帐户触发时,查询已成功运行(尽管考虑到提升,这是多余的)。较低的权限级别可能会因其他原因而失败。
事情的转折是这样的:当本地运行时,查询成功,但当在客户的实时实例中运行时,当超过 5000 总计查询的项目。
我们都有相同的节流设置:
- 5000正常限制
- 20000 管理/审核限制
- 已禁用非工作时间查询限制删除
- 8 个字段查找限制(我们还远未达到)
那么为什么查询在这里成功运行,项目请求甚至远远超出了管理限制?
解决方案 2
我的一位同事做了一些研究,因为这激起了他们的好奇心。看来差异的原因是 流程升级到的用户帐户.
我们的客户已遵循 Microsoft 的建议并设置了一个没有管理员权限的帐户。而我在没有此类限制的开发盒上运行。
其他提示
您本地环境中的列表中的字段是否已编制索引?如果它们被索引,则不会发生限制。