Проблемы
Рассмотрим следующий сценарий.
-
У вас есть среда SharePoint Server 2010 с работающим приложением-службой профилей пользователей.
-
Вы не установили накопительный пакет обновления для 2010 августа или более поздней версии для SharePoint Server 2010
-
Вы отсоединены и присоединены к базе данных контента, которая содержит несколько семейств веб-сайтов
В этом случае после присоединения базы данных к веб-приложению вы можете изменить сведения о членстве в некоторых семействах веб-сайтов, а также не отображаются на вкладке "участие" в разделе "мои личные данные" в разделе "Мой профиль" соответствующих пользователей. Информация о членстве, видимая для пользователей, будет устаревшей.
Причина
Корпорация Microsoft подтверждает это как проблему с продуктом, касающиеся очистки удаленных семейств веб-сайтов, которые были исправлены в накопительном обновлении за Август 2010 для SharePoint 2010 (серверный пакет KB 2352342 ). Однако это исправление не влияет на семейства веб-сайтов, которые находятся в этом состоянии, отсоединение баз данных перед установкой исправления. Чтобы восстановить синхронизацию пользователей для этих затронутых семейств веб-сайтов, выполните действия по устранению неполадок.
Решение
Выполните указанные ниже действия, чтобы восстановить синхронизацию сведений о членстве между базой данных контента и базой данных профилей для всех семейств веб-сайтов.Предупреждение:
-
Во время этой процедуры все семейства веб-сайтов, связанные с данными о членстве в группе SharePoint, удаляются из базы данных профиля, и пользователи не смогут видеть их полные данные о членстве до тех пор, пока не будет успешно выполнена задача "профиль пользователя для полной синхронизации SharePoint".
-
Следующее задание таймера должно быть отключено во время выполнения шагов: "{UPA} User Profile for SharePoint Full Synchronization", где {UPA} — это имя вашего приложения службы профилей пользователей.
Откройте командную консоль SharePoint 2010 на компьютере, на котором размещается центр администрирования, в качестве пользователя локального администратора, который также является членом группы "Администраторы фермы", и имеет разрешения "полный доступ" для приложения-службы профилей пользователей. Замените URL-адрес в первой строке следующего фрагмента сценария PowerShell на один из затронутых семейств веб-сайтов (этот фрагмент кода нужно выполнить только один раз и удалит текущие группы участников из приложения профиля пользователя).
$url = "http://server/sites/sitecoll";$SPSite = get-spsite $url;$context = [Microsoft.SharePoint.SPServiceContext]::GetContext($SPSite)$manager = New-Object Microsoft.Office.Server.UserProfiles.UserProfileManager $context$sourceMethod = [Microsoft.Office.Server.UserProfiles.MemberGroup].getmethod("get_Source")$deleteMethod = [Microsoft.Office.Server.UserProfiles.MemberGroup].getmethod("Delete")foreach ($memberGroup in $manager.GetMemberGroups()){ if ($sourceMethod.Invoke($memberGroup, @()) -eq "SharePointSite") { $deleteMethod.Invoke($memberGroup, @()) } }
После завершения выполнения этого сценария PowerShell выполните следующую команду, чтобы запланировать новую синхронизацию для баз данных контента.
Stsadm -o sync -deleteolddatabases 0
Чтобы запланировать полную синхронизацию пользователей для всех семейств веб-сайтов фермы, выполните следующий сценарий PowerShell. Дочерний сайт Get — ограничение ALL | % {[Microsoft. Office. Server. UserProfile. WSSProfileSynch]:: ScheduleSiteForFullSynchronization ($ _); $ _. Закрыть ()} опубликовать, выполните указанные ниже действия.
-
Откройте центр администрирования, нажмите на странице "Просмотр определений заданий" в разделе "наблюдение"
-
Найдите задание таймера "{UPA} User Profile (полная синхронизация) с SharePoint, где {UPA} — это имя вашего приложения службы профилей пользователей.
-
Щелкните название задания и выберите пункт "выполнить сейчас".
-
После завершения задания сведения о членстве будут актуальными и будут синхронизироваться автоматически во время последующих запусков для семейств веб-сайтов, для которых вы ранее не затронули.
Дополнительная информация
Справочник по планированию синхронизации профилей (SharePoint server 2010),ссылка на таймер (SharePoint Server 2010)