Share via


PerformancePoint Services - データベースの接続に失敗しました - イベント 34

 

適用先: PerformancePoint Services, SharePoint Server 2010

トピックの最終更新日: 2010-01-04

アラート名:   PerformancePoint Services データベースの接続に失敗しました

イベント ID:   34

概要:   Microsoft SharePoint Server 2010 の PerformancePoint Services Service には、注釈、一時的な情報、およびフィルターを保存するためのデータベースへのアクセスが必要です。

現象:   以下の現象のうちの 1 つまたは複数が発生します。

  • ユーザーが、レポートのナビゲート、スコアカードの表示、または OLAP ビューのナビゲートができません。

  • インターネット インフォメーション サービス (IIS) マネージャーで、アプリケーション プールが停止しています。

  • このイベントはイベント ログに次のように表示されます。イベント ID: 34 説明: ストアがデータベースに接続できません。

原因:   以下のうちの 1 つまたは複数が原因である可能性があります。

  • アプリケーション プールのサービス アカウントのパスワードが変更されたか、またはアカウントが正しいものではありません。

  • PerformancePoint Services のデータベースが破損しているか、削除されてバックアップ データベースから復元されたものです。

解決策:   アプリケーション プールの ID に、正しい SQL Server の権限があることを確認します。

  1. この手順を実行しているユーザー アカウントが、PerformancePoint Services のデータベースの、SQL Server の db_owner 固定データベース ロールのメンバーであることを確認します。

  2. SQL Server Management Studio を開き、データベース サーバーに接続します。

  3. オブジェクト エクスプローラーで、[データベース] を展開します。

  4. PerformancePoint Services のデータベースのノードを展開します。[セキュリティ] を展開して、[ユーザー] を展開します。

    注意

    PerformancePoint Services のデータベースの名前を特定するには、この記事で後述する「Windows PowerShell を使用して PerformancePoint のデータベースを特定するには」の手順に従います。

  5. アプリケーション プールのアカウントが SQL ログインとして表示されていることを確認します。

    注意

    サービスで使用されるアプリケーション プールを特定するには、この記事で後述する「アプリケーション プールを特定するには」の手順に従います。

  6. アカウントが表示されていない場合は、次の手順に従って、PerformancePoint Services のデータベースの db_owner 固定データベース ロールを持った SQL Server ログインとしてアカウントを追加します。

    1. [ユーザー] ノードを右クリックしてから、[新しいユーザー] をクリックします。

    2. [全般] タブで、[ログイン名] オプションを選択して、省略記号をクリックします。

    3. [ログインの選択] ダイアログ ボックスで、ログイン名を入力するか、または、[参照] をクリックしてリストからログインを選択します。

      アプリケーション プールのアカウントがリストに表示されない場合は、データベース サーバーに SQL Server ログインとして追加する必要があります。

    4. [ログインの選択] ダイアログ ボックスで、[OK] をクリックします。

    5. [データベース ユーザー] ダイアログ ボックスの [全般] タブの [データベース ロールのメンバーシップ] で、[db_owner] チェック ボックスがオンになっていることを確認して、[OK] をクリックします。

  7. アカウントがリストに表示されている場合は、次の手順に従って、PerformancePoint Services のデータベースの db_owner 固定データベース ロールがあることを確認します。

    1. ログインを右クリックし、[プロパティ] をクリックします。

    2. [データベース ユーザー] ダイアログ ボックスの [データベース ロールのメンバーシップ] で、[db_owner] チェック ボックスがオンになっていることを確認して、[OK] をクリックします。

Windows PowerShell を使用して PerformancePoint のデータベースを特定するには

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

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

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

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

  5. Windows PowerShell のコマンド プロンプト (PS C:\>) で、次のコマンドを入力して Enter キーを押します。

    Get-SPPerformancePointServiceApplication

    SettingsDatabase プロパティから、データベースの名前を記録します。

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

解決策:   サーバーの全体管理を使用して、アプリケーション プールのアカウントを確認します。

  1. IIS マネージャーで、サーバーの全体管理を実行しているサーバーに接続します。

  2. サーバーのノードを展開し、[アプリケーション プール] をクリックします。

  3. アプリケーション プールを右クリックして、[詳細プロパティ] をクリックします。

    注意

    サービスで使用されるアプリケーション プールを特定するには、この記事で後述する「アプリケーション プールを特定するには」の手順に従います。

  4. [詳細プロパティ] ダイアログ ボックスの [プロセス モデル] で、[ID] アカウントの横の省略記号をクリックします。

  5. [アプリケーション プール ID] ダイアログ ボックスで、[設定] をクリックします。

  6. [資格情報の設定] ダイアログ ボックスで、ドメイン アカウント名とパスワードを入力し、パスワードを確認して、[OK] をクリックします。

  7. [アプリケーション プール ID] ダイアログ ボックスで、[OK] をクリックします。

  8. [詳細プロパティ] ダイアログで [OK] をクリックします。

    注意

    変更内容を反映させるために、アプリケーション プールを再起動する必要はありません。

解決策:   Windows PowerShell を使用してバックアップからデータベースを復旧します。

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

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

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

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

  5. Windows PowerShell のコマンド プロンプト (PS C:\>) で、次のコマンドを入力して Enter キーを押します。

    Restore-SPFarm -Directory <バックアップ フォルダー名> -RestoreMethod {New | Overwrite} -Item <コンテンツ データベース名> [-BackupId <GUID>] [-Verbose]

  6. 復元されたデータベースをファームに再接続するには、次のコマンドを入力して、Enter キーを押します。

    Set-SPPerformancePointServiceApplication -SettingsDatabase <データベース名>

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

注意

コマンドライン管理タスクを実行するときには Windows PowerShell を使用することが推奨されています。Stsadm コマンドライン ツールは推奨されていませんが、製品の以前のバージョンとの互換性をサポートするために含まれています。

アプリケーション プールを特定するには

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

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

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

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

  5. Windows PowerShell のコマンド プロンプト (PS C:\>) で、次のコマンドを入力して Enter キーを押します。

    Get-SPPerformancePointServiceApplication

    ApplicationPool の下の Name= の後に表示されている名前を記録します。

  6. Windows PowerShell のコマンド プロンプト (PS C:\>) で、次のコマンドを入力して Enter キーを押します。

    Get-SPServiceApplicationPool | Where-Object {&_.Name -eq " <上記の手順で記録したアプリケーション プール名>" | Format-Table -Property Name,DisplayName,Id

    アプリケーション プール名は、Id として表示されている GUID です。

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

注意

コマンドライン管理タスクを実行するときには Windows PowerShell を使用することが推奨されています。Stsadm コマンドライン ツールは推奨されていませんが、製品の以前のバージョンとの互換性をサポートするために含まれています。