这个博客是由SharePoint开发人员支持组的Balaji Sadasivan贡献的。原文地址:http://blogs.technet.com/b/sharepointdevelopersupport/archive/2013/10/07/sharepoint-2010-sql-limitations-in-lookup-columns.aspx
大多数人已经知道,SharePoint内部把person/group列和metadata 列存储成lookup 值。
SharePoint动态的创建一个存储过程,把lookup值存到SQL里面。这个存储过程从SharePoint接收一些参数,来进行操作。当参数的个数超过2100,存储过程会抛出异常。SQL的这个限制在下面的文章里面有 Maximum Capacity Specifications for SQLServer.
现在的问题是,当达到这个限制的时候,我们最多可以加多少个lookup值?
下面是我的测试结果,(但是不代表官方说法):
列类型 | 大约的限制 |
Managed metadata lookup | 250 |
Users lookup | 330 |
Text/Numeric lookups | 510 |
现在我们需要注意,这个限制是对一个列表项而言的,而不是对单个的列。这个就是说,如果你有两个metadata 列,这两个列所有的值加一起,不能超过大约250。当你有多种类型的lookup列的时候,这个就更复杂了,你必须特别的小心并且考虑这个限制。