SharePoint把用户列表中的数据都保存在content database的AllUserData表中。这个表预先创建了很多的列,例如可以保存文本的nvarchar1,... nvarchar64, ntext1 ... ntext16,还有可以保存int型数据的,还有datetime型数据的列等等。当用户在SharePoint的list中建立一个column,SharePoint就会根据这个column的类型,为这个column分配一个数据表中的列,因此每一个list中的column都对应一个AllUserData表中的列。
所以首先需要确定list中的某个列所对应的数据库表中的列,这个可以通过SharePoint Management Shell来找到。执行以下命令:
$web = Get-SPWeb "web url"
$list = $web.Lists["list name"]
$list.Fields["column name"] | Select-Object Id,SourceID,Title,TypeDisplayName,ParentList,InternalName,SchemaXmlWithResourceTokens
请把其中的web url, list name和column name部分替换成正确的值。在我的环境里,执行的结果只这样的: