SharePoint 2013 數據庫中手動更新用戶信息


  在SharePoint的使用過程中,尤其是Windows認證的情況下,而且沒有配置用戶配置文件服務,經常會出現如果更新AD中的用戶信息(包括名字、顯示名、郵件等),SharePoint這邊站點並不會更新的情況。

  這時候,我們經常會操作數據進行更新操作,生產環境建議備份,測試環境也要多看幾次update語句。

  1、首先進入授權的用戶組,看到我們的用戶名,當AD中更新,這里的Name還是之前的名字,如下:

clip_image001

  2、鼠標放到名字上,可以看到Url鏈接地址,這時候我們需要ListId和ID,ListId是用戶信息的列表,ID是用戶的UserID,如下圖:

  /_layouts/listform.aspx?PageType=4&ListId={01E9CCA7-41EE-43A5-96A0-3A91A9E9CE3D}&ID=2

clip_image002

  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

clip_image004

  5、有些情況更新了UserInfo表之后,用戶信息就已經更新了,但是有些特殊情況,還需要更新用戶信息列表,就要更新AllUserData表了,如下圖:

clip_image005

  6、首先通過一條查詢語句,找到我們要更新用戶,如下圖:

clip_image006

  7、主要更新的字段就是tp_ColumnSet,我們可以點開查看里面的xml,如下圖:

clip_image007

  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

總結

  自己在使用中遇到需要更新User信息的時候,又沒有同步服務,不得已而為之,特此做下記錄,方便以后修改,也希望對有需要的人有幫助。

  好了,就到這里,休息,休息一下。。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM