User Profile Synchronization Service の開始に関する問題のトラブルシューティングを行う (SharePoint Server 2010)

 

適用先: SharePoint Server 2010

トピックの最終更新日: 2016-11-30

この記事では、User Profile Synchronization Service を開始するときに発生することがある問題を解決するヒントを示します。

User Profile Synchronization Service は、Microsoft Forefront Identity Manager (FIM) を使用して、ディレクトリ サービスやビジネス システムのような外部システムとプロファイル情報を同期します。User Profile Synchronization Service を開始するとき、2 つの FIM サービス、Forefront Identity Manager Service と Forefront Identity Manager Synchronization Service が準備されます。User Profile Synchronization Service を開始できないことが、プロファイル同期で管理者に最もよく発生する問題です。

User Profile Synchronization Service は、開始するまで最大 10 分かかることがあります。以下の状態になったとき、User Profile Synchronization Service は、問題なく開始しています。

  • サーバーの全体管理の [サーバーのサービス] ページで、User Profile Synchronization Service が [開始] の状態になったとき。

  • Forefront Identity Manager Service と Forefront Identity Manager Synchronization Service が、サービス Microsoft 管理コンソールで [開始] の状態になったとき。これらのサービスは、両方ともファーム アカウントを使用して実行します。

    重要

    サービス Microsoft 管理コンソールで、手動で FIM サービスを開始しないでください。手動で FIM サービスを開始すること、あるいは FIM サービス構成を変更することはサポートされていません。

User Profile Synchronization Service を開始してから長時間が経ち、[サーバーのサービス] ページが [開始] あるいは [停止中] の状態を表示している場合は、User Profile Synchronization Service が開始しない状態の原因となる可能性がある問題について、以下のセクションを確認してください。

注意

[サーバーのサービス] ページは自動的には更新されません。更新された情報を参照するには、手動でページを更新する必要があります。

この記事の内容:

  • ファーム アカウントの正しくない権限

  • ファーム アカウントの既定のスキーマが、同期データベースで適切に設定されていない

  • サーバーの全体管理 Web サイトが Secure Sockets Layer を使用していることにより、User Profile Synchronization Service が開始できない

  • User Profile Synchronization Service がサーバーの再起動後に開始できない

注意

Microsoft では、報告された問題を解決するためにソフトウェア更新プログラムを定期的にリリースしています。問題に関する説明がこの記事にない場合は、ソフトウェア更新プログラムの一覧で、その問題を解決するソフトウェア更新プログラムがないかどうかを確認してください。最新のソフトウェア更新プログラムについては、「SharePoint 2010 製品の更新プログラム」(https://go.microsoft.com/fwlink/?linkid=160585&clcid=0x411) を参照してください。

ファーム アカウントの正しくない権限

ファーム アカウントは、User Profile Synchronization Service を開始する目的で使用されます。また、Forefront Identity Manager Service と Forefront Identity Manager Synchronization Service も、ファーム アカウントで実行されます。この問題を解決するには、以下の操作を行います。

  1. ファーム アカウントを確認する

  2. ファーム アカウントが必要な権限を持っていることを確認する

ファーム アカウントを確認する

ユーザーが、ファーム管理者とファーム アカウントを混同していることがあります。ファーム管理者は、Farm Administrators グループのメンバーのユーザー アカウントです。ファーム アカウントは、SharePoint Server をインストールして構成したときに指定されるアカウントです。ファーム アカウントは、構成データベースの作成およびアクセスに使用されます。また、SharePoint サーバーの全体管理アプリケーション プールのアプリケーション プール ID アカウントとしても機能し、Microsoft SharePoint Foundation Workflow Timer Service が実行されるアカウントでもあります。ファーム アカウントを確認するには、サーバーの全体管理で [サービス アカウントの構成]、[ファーム アカウント] の順にクリックします。これは User Profile Synchronization Service を開始する目的で使用されるアカウントであり、適切な権限を持つ必要があります。

注意

User Profile Synchronization Service が実行されているアカウントを変更する目的で、[サービス アカウント] ページを使用しないでください。この操作はサポートされていません。

ファーム アカウントが必要な権限を持っていることを確認する

ファーム アカウントが以下の権限を持っていることを確認してください。

  • User Profile Synchronization Service の開始を試行しているサーバーで、ファーム アカウントがローカル ログオン権限を持っていること。

  • User Profile Synchronization Service の開始を試行しているサーバーで、ファーム アカウントが Administrators グループのメンバーであること。

    注意

    この権限は、User Profile Synchronization Service を開始する目的でのみ必要です。User Profile Synchronization Service が開始した後で、ファーム アカウントは Administrators グループから削除できます。

ファーム アカウントを変更した後で、SharePoint 2010 Timer Service あるいはサーバーを、再度、開始する必要があります。これにより、ファーム アカウントとして、現在、実行中のすべての SharePoint サービスが最新の資格情報を確実に使用するようにできます。

ファーム アカウントの既定のスキーマが、同期データベースで適切に設定されていない

User Profile Service アプリケーションを作成する目的で、Windows PowerShell を使用し、またその際にファーム アカウントとしてログオンしていない場合、ファーム アカウントの既定のスキーマは同期データベースで適切に設定されません。以下のエラーが、Universal Logging System (ULS) ログで報告されます。

ILM の構成に失敗しました。次の実行時に再試行します。例外: System.Data.SqlClient.SqlException: オブジェクト "<farmaccount>.GetObjectCurrent" によって使用されていることにより、指定されたコレクション "StringSchemaCollection" を除外できません。

注意

ファーム アカウントとしてログインすることは推奨されません。

この問題を解決するには、User Profile Service アプリケーションを削除して、サーバーの全体管理あるいは Windows PowerShell スクリプトを使用することにより、再度、作成します。以下の手順は、Windows PowerShell スクリプトを使用して、User Profile Service アプリケーションを作成する方法の例を示します。

Windows PowerShell を使用して User Profile Service アプリケーションを作成するには

  1. 次の最小要件を満たしていることを確認します。Add-SPShellAdmin を参照してください。

  2. 以下のコードをコピーし、メモ帳のようなテキスト エディターに貼り付けます。

    $sb = {
      Add-PSSnapin Microsoft.SharePoint.PowerShell
    
      $saAppPool = Get-SPServiceApplicationPool "SharePoint Web Services Default"
      $dbServer="<DBServer>"
      $upa = New-SPProfileServiceApplication -Name "<UPSAppName>" `
      -ApplicationPool $saAppPool `
      -ProfileDBName "<ProfileDBName>" `
      -ProfileDBServer $dbServer `
      -SocialDBName "<SocialDBName>" `
      -SocialDBServer $dbServer `
      -ProfileSyncDBName "<SyncDBName>" `
      -ProfileSyncDBServer $dbServer `
      -ErrorAction SilentlyContinue -ErrorVariable er
      }
    $cred = Get-Credential "<FarmAccount>"
    $job = Start-Job -Credential $cred -ScriptBlock $sb | Wait-Job
    
  3. 以下のプレースホルダーを値に置き換えます。

    • <DBServer> は、プロファイル データベースが作成されるデータベース サーバーの名前です。

    • <UPSAppName> は、作成する User Profile Service アプリケーションの名前です。

    • <ProfileDBName> は、作成するプロファイル データベースの名前です。

    • <SocialDBName> は、作成するソーシャル データベースの名前です。

    • <SyncDBName> は、作成する同期データベースの名前です。

    • <FarmAccount> は、ファーム アカウントです。

  4. ファイルに Create-UPSApp.ps1 という名前を付けて保存します。

    注意

    別のファイル名を使用することもできますが、ファイルは、拡張子を .ps1 とし、ANSI 形式のテキスト ファイルとして保存する必要があります。

  5. [スタート] メニューの [すべてのプログラム] をクリックします。

  6. [Microsoft SharePoint 2010 製品] をクリックします。

  7. [SharePoint 2010 管理シェル] をクリックします。

  8. ファイルの保存先のディレクトリに移動します。

  9. Windows PowerShell コマンド プロンプトで、以下のように入力します。

    ./Create-UPSApp.ps1
    
  10. 確認する画面が表示されたら、ファーム アカウント パスワードを入力して、[OK] をクリックします。

詳細については、「New-SPProfileServiceApplication」を参照してください。

サーバーの全体管理 Web サイトが Secure Sockets Layer を使用していることにより、User Profile Synchronization Service が開始できない

サーバーの全体管理 Web サイトが SSL (Secure Sockets Layer) を使用するように構成されている場合、プロファイル同期に問題が発生していました。この問題は、Microsoft SharePoint Server 2010 2010 年 10 月の累積的な更新プログラムで修正されています。累積的な更新の詳細については、「https://support.microsoft.com/kb/2394320/ja-jp」を参照してください。

User Profile Synchronization Service がサーバーの再起動後に開始できない

Active Directory Domain Services (AD DS)、SQL Server、および SharePoint Server が、すべて単一サーバーでインストールされている単一ボックス展開がある場合は、User Profile Synchronization Service が開始できないタイミングの問題が発生することがあります。たとえば、2 つの FIM サービスを開始するには、SQL Server が開始され、接続に応答している必要があります。FIM サービスが開始されたときに、SQL Server を使用する準備ができていない場合は、FIM サービスは開始しません。

この問題を避けるには、サービス Microsoft 管理コンソールを使用して、FIM サービスの開始動作を [自動] から [自動 (遅延開始)] に変更します。

謝辞

SharePoint Server 2010 Content Publishing チームは、この記事の作成に協力していただいたエンタープライズ アーキテクトの Spencer Harbar 氏に感謝の意を表します。Harbar 氏のブログは、http://www.harbar.net/ (英語) に掲載されています。

See Also

Concepts

プロファイルの同期を構成する (SharePoint Server 2010)
プロファイルの同期を計画する (SharePoint Server 2010)
プロファイルの同期の構成に関する問題のトラブルシューティングを行う (SharePoint Server 2010)