Office 365 に関する無償セミナー開催のご案内
Office 365 Video で埋め込みタグが利用可能に!

[SP2013] Managed Metadata Services に関するトラブルシューティング

検証環境として利用しているオンプレミス環境の SharePoint Server 2013 で、いつの間にか Managed Metadata Services にアクセスできなくなる事象がありましたので、対処法を備忘録としてメモしておきます。

症状

サーバーの全体管理サイトから Managed Metadata Services の管理画面にアクセスすると下図のようにエラーとなり、何も操作できません。

2015-06-23 14-30-19

ULSログを見ると次のようなエラーが確認できます。

2015-06-23 14-42-59

 "Failed to get term store for proxy 'Managed Metadata Service'. Exception: System.Collections.Generic.KeyNotFoundException: 指定されたキーはディレクトリ内に存在しませんでした。     場所 Microsoft.SharePoint.Taxonomy.Internal.XmlDataReader.GetDateTime(String name)     場所 Microsoft.SharePoint.Taxonomy.Internal.SharedTermStore.Initialize(IDataReader dataReader, Guid termStoreIdValue, Boolean fromPersistedData)     場所 Microsoft.SharePoint.Taxonomy.Internal.SharedTermStore..ctor(IDataReader dataReader, Guid termStoreId, Boolean fromPersistedData)     場所 Microsoft.SharePoint.Taxonomy.Internal.DataAccessManager.
GetTermStoreData(MetadataWebServiceApplicationProxy sharedServiceProxy, Boolean& partitionCreated)"

対処方法

色々と調べたところ、似たような事象に多くの方が遭遇していることがわかりました。しかし、残念なことに、サービス アプリケーションをデータベースごと再作成するのが唯一の方法のようです。

  1. Managed Metadata Services の現在の設定を確認しておく。これには、[サーバー全体管理]>[サービス アプリケーションの管理]にアクセスし、Managed Metadata Services のプロパティや管理者情報をメモしておきます。また、Managed Metadata Services Proxy のプロパティもメモしておきます。
    2015-06-23 15-01-49
    2015-06-23 15-02-21

  2. Windows PowerShell を使ってManaged Metadata Service アプリケーションとプロキシの2つのみをバックアップします。サンプル スクリプトは次の通りです。
    
    Add-PSSnapin Microsoft.SharePoint.PowerShell
    
    #バックアップ対象のitem パスの確認
    Backup-SPFarm -ShowTree
    
    #サービスアプリケーションのバックアップ
    backup-spfarm -BackupMethod full -Directory \\sp2013-a\backups\ServiceApp -item “ファーム\共有サービス\共有サービス アプリケーション\Managed Metadata Service” -verbose
    
    #サービスアプリケーションProxyのバックアップ
    backup-spfarm -BackupMethod full -Directory \\sp2013-a\backups\ServiceAppProxy -item “ファーム\共有サービス\共有サービス プロキシ\Managed Metadata Service” -verbose
    

    2015-06-23 15-17-27

  3. バックアップが終わったら、バックアップログを確認し、エラーが出力されていないことを確認します。問題なければ、下記の通り、データベースごとサービスアプリケーションを削除します。
    2015-06-23 15-18-55

    2015-06-23 15-20-00
  4. Windows PowerShell を使ってバックアップから復元します。

    
    #復元
    Restore-SPFarm -Directory \\sp2013-a\backups\ServiceApp -RestoreMethod New  -Verbose
    Restore-SPFarm -Directory \\sp2013-a\backups\ServiceAppProxy -RestoreMethod New  -Verbose
    

    復元時には、サービス アプリケーション用のアカウントのパスワード入力が必要です。また、サービス アプリケーションに新しい名前を指定したり、サービス アプリケーションのDBの格納場所や、データベース名、サーバー名などを変更することも可能です(既定値から変更がなければそのまま Enter キーを押下します)。

  5. 復元したサービス アプリケーションを、目的のWebアプリケーションのプロキシグループに追加しておきます。
  6. 最後に、1で確認した設定通りに設定しなおします。

以上で作業は完了です。実作業を行う場合は、テスト環境で十分に手順を確認してから行うようにしてください。

[参考]

コメント

コメントの確認

コメントのプレビュー

プレビュー中です。コメントはまだ投稿されていません。

処理中...
コメントを投稿できませんでした。エラー:
コメントを投稿しました。コメントは記事の投稿者が承認してから表示されます。 さらにコメントを投稿する

入力された文字と数字は画像と一致していません。再度入力してください。

最後に、下の画像の中に見える文字と数字を入力してください。これはプログラムを使ってコメントを自動的に投稿するのを防ぐために行われています。

画像を読み取れない場合は 別の画像を表示してください。

処理中...

コメントを投稿

コメントは記事の投稿者が承認してから表示されます。

アカウント情報

(名前とメールアドレスは必須です。メールアドレスは公開されません。)