您的位置:首页 > 数据库

SharePoint 2013 数据库中手动更新用户信息

2016-05-04 18:04 399 查看
转载自:http://www.cnblogs.com/jianyus/p/4269990.html

  在SharePoint的使用过程中,尤其是Windows认证的情况下,而且没有配置用户配置文件服务,经常会出现如果更新AD中的用户信息(包括名字、显示名、邮件等),SharePoint这边站点并不会更新的情况。  这时候,我们经常会操作数据进行更新操作,生产环境建议备份,测试环境也要多看几次update语句。  1、首先进入授权的用户组,看到我们的用户名,当AD中更新,这里的Name还是之前的名字,如下:


2、鼠标放到名字上,可以看到Url链接地址,这时候我们需要ListId和ID,ListId是用户信息的列表,ID是用户的UserID,如下图:  /_layouts/listform.aspx?PageType=4&ListId={01E9CCA7-41EE-43A5-96A0-3A91A9E9CE3D}&ID=2


  3、首先进入数据库,找到你的数据库,如果不知道你的网站集对应哪个数据库,建议去CA(管理中心)查看,然后找到UserInfo表,如下图:



  4、首先通过查询语句,找到ID为2的数据,然后看到tp_Login是登陆名,tp_Title是Name值,tp_Email是电子邮件地址,如下图:  我们可以执行如下的更新语句,进行更新,如下:
UPDATE [TestResult].[dbo].[UserInfo] set tp_Title='linyu' where tp_ID=2



  5、有些情况更新了UserInfo表之后,用户信息就已经更新了,但是有些特殊情况,还需要更新用户信息列表,就要更新AllUserData表了,如下图:



  6、首先通过一条查询语句,找到我们要更新用户,如下图:



 7、主要更新的字段就是tp_ColumnSet,我们可以点开查看里面的xml,如下图:



 8、执行一条更新语句,就可以更新为我们需要的个人信息,如下:
Update [WSS_Content_Data].[dbo].[AllUserData] set tp_ColumnSet ='
<bit2>1</bit2>
<bit3>0</bit3>
<bit4>0</bit4>
<bit5>1</bit5>
<nvarchar1>jianyu yang</nvarchar1>
<nvarchar3>domain\jianyu yang</nvarchar3>
<nvarchar4>jianyu.yang@email.com.cn</nvarchar4>
<nvarchar13>Jianyu</nvarchar13>
<nvarchar14>Yang</nvarchar14>
<nvarchar16>jianyu yang</nvarchar16>
<nvarchar19>34</nvarchar19>'
where tp_ListId='01E9CCA7-41EE-43A5-96A0-3A91A9E9CE3D' and tp_ID=2
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息