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 の権限があることを確認します。
この手順を実行しているユーザー アカウントが、PerformancePoint Services のデータベースの、SQL Server の db_owner 固定データベース ロールのメンバーであることを確認します。
SQL Server Management Studio を開き、データベース サーバーに接続します。
オブジェクト エクスプローラーで、[データベース] を展開します。
PerformancePoint Services のデータベースのノードを展開します。[セキュリティ] を展開して、[ユーザー] を展開します。
注意
PerformancePoint Services のデータベースの名前を特定するには、この記事で後述する「Windows PowerShell を使用して PerformancePoint のデータベースを特定するには」の手順に従います。
アプリケーション プールのアカウントが SQL ログインとして表示されていることを確認します。
注意
サービスで使用されるアプリケーション プールを特定するには、この記事で後述する「アプリケーション プールを特定するには」の手順に従います。
アカウントが表示されていない場合は、次の手順に従って、PerformancePoint Services のデータベースの db_owner 固定データベース ロールを持った SQL Server ログインとしてアカウントを追加します。
[ユーザー] ノードを右クリックしてから、[新しいユーザー] をクリックします。
[全般] タブで、[ログイン名] オプションを選択して、省略記号をクリックします。
[ログインの選択] ダイアログ ボックスで、ログイン名を入力するか、または、[参照] をクリックしてリストからログインを選択します。
アプリケーション プールのアカウントがリストに表示されない場合は、データベース サーバーに SQL Server ログインとして追加する必要があります。
[ログインの選択] ダイアログ ボックスで、[OK] をクリックします。
[データベース ユーザー] ダイアログ ボックスの [全般] タブの [データベース ロールのメンバーシップ] で、[db_owner] チェック ボックスがオンになっていることを確認して、[OK] をクリックします。
アカウントがリストに表示されている場合は、次の手順に従って、PerformancePoint Services のデータベースの db_owner 固定データベース ロールがあることを確認します。
ログインを右クリックし、[プロパティ] をクリックします。
[データベース ユーザー] ダイアログ ボックスの [データベース ロールのメンバーシップ] で、[db_owner] チェック ボックスがオンになっていることを確認して、[OK] をクリックします。
Windows PowerShell を使用して PerformancePoint のデータベースを特定するには
次の最小要件を満たしていることを確認します。Add-SPShellAdmin を参照してください。
[スタート] メニューの [すべてのプログラム] をクリックします。
[Microsoft SharePoint 2010 製品] をクリックします。
[SharePoint 2010 管理シェル] をクリックします。
Windows PowerShell のコマンド プロンプト (PS C:\>) で、次のコマンドを入力して Enter キーを押します。
Get-SPPerformancePointServiceApplication
SettingsDatabase
プロパティから、データベースの名前を記録します。
詳細については、「Get-SPPerformancePointServiceApplication」を参照してください。
解決策: サーバーの全体管理を使用して、アプリケーション プールのアカウントを確認します。
IIS マネージャーで、サーバーの全体管理を実行しているサーバーに接続します。
サーバーのノードを展開し、[アプリケーション プール] をクリックします。
アプリケーション プールを右クリックして、[詳細プロパティ] をクリックします。
注意
サービスで使用されるアプリケーション プールを特定するには、この記事で後述する「アプリケーション プールを特定するには」の手順に従います。
[詳細プロパティ] ダイアログ ボックスの [プロセス モデル] で、[ID] アカウントの横の省略記号をクリックします。
[アプリケーション プール ID] ダイアログ ボックスで、[設定] をクリックします。
[資格情報の設定] ダイアログ ボックスで、ドメイン アカウント名とパスワードを入力し、パスワードを確認して、[OK] をクリックします。
[アプリケーション プール ID] ダイアログ ボックスで、[OK] をクリックします。
[詳細プロパティ] ダイアログで [OK] をクリックします。
注意
変更内容を反映させるために、アプリケーション プールを再起動する必要はありません。
解決策: Windows PowerShell を使用してバックアップからデータベースを復旧します。
次の最小要件を満たしていることを確認します。Add-SPShellAdmin を参照してください。
[スタート] メニューの [すべてのプログラム] をクリックします。
[Microsoft SharePoint 2010 製品] をクリックします。
[SharePoint 2010 管理シェル] をクリックします。
Windows PowerShell のコマンド プロンプト (PS C:\>) で、次のコマンドを入力して Enter キーを押します。
Restore-SPFarm -Directory <バックアップ フォルダー名> -RestoreMethod {New | Overwrite} -Item <コンテンツ データベース名> [-BackupId <GUID>] [-Verbose]
復元されたデータベースをファームに再接続するには、次のコマンドを入力して、Enter キーを押します。
Set-SPPerformancePointServiceApplication -SettingsDatabase <データベース名>
詳細については、「Restore-SPFarm」を参照してください。
注意
コマンドライン管理タスクを実行するときには Windows PowerShell を使用することが推奨されています。Stsadm コマンドライン ツールは推奨されていませんが、製品の以前のバージョンとの互換性をサポートするために含まれています。
アプリケーション プールを特定するには
次の最小要件を満たしていることを確認します。Add-SPShellAdmin を参照してください。
[スタート] メニューの [すべてのプログラム] をクリックします。
[Microsoft SharePoint 2010 製品] をクリックします。
[SharePoint 2010 管理シェル] をクリックします。
Windows PowerShell のコマンド プロンプト (PS C:\>) で、次のコマンドを入力して Enter キーを押します。
Get-SPPerformancePointServiceApplication
ApplicationPool
の下のName=
の後に表示されている名前を記録します。Windows PowerShell のコマンド プロンプト (PS C:\>) で、次のコマンドを入力して Enter キーを押します。
Get-SPServiceApplicationPool | Where-Object {&_.Name -eq " <上記の手順で記録したアプリケーション プール名>" | Format-Table -Property Name,DisplayName,Id
アプリケーション プール名は、
Id
として表示されている GUID です。
詳細については、「Get-SPServiceApplicationPool」を参照してください。
注意
コマンドライン管理タスクを実行するときには Windows PowerShell を使用することが推奨されています。Stsadm コマンドライン ツールは推奨されていませんが、製品の以前のバージョンとの互換性をサポートするために含まれています。