「肉体疲労時の栄養補給~」というCMがありましたが、これって「肉体疲労児」だと思ってませんでした?まさに今の私がそんな感じです。
それはともかく、Tech・Edのデモ環境構築中です。
Windows Server 2008 に Active Directory(AD DS)をインストールしたマシン、つまりドメインコントローラに SQL Server 2005 + Reporting Service インストールし、お約束通り以下の url にて動作確認をしたところ、エラーが発生しました。
http://localhost/reports/ レポートサーバーが応答していません。レポートサーバーが実行中で、このコンピュータからアクセスできることを確認してください。
http://localhost/reports/
レポートサーバーが応答していません。レポートサーバーが実行中で、このコンピュータからアクセスできることを確認してください。
http://localhost/reportserver/ レポートサーバーで構成エラーが発生しました。詳細については、レポートサーバーのログ ファイルを参照してください。 (rsServerConfigurationError) パス 'c:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer\RSReportServer.config' へのアクセスが拒否されました。
http://localhost/reportserver/
レポートサーバーで構成エラーが発生しました。詳細については、レポートサーバーのログ ファイルを参照してください。 (rsServerConfigurationError) パス 'c:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer\RSReportServer.config' へのアクセスが拒否されました。
上記に示されているとおり、RSReportServer.config へのアクセスがないことが原因です。では、いったいぜんたい、どこのどいつが RSReportServer.config にアクセスしようとしているのかといえば、IIS7のアプリケーションプールに設定されているアカウント「NetworkService」です。
上記ファイルへのアクセス権を確認してみると、以下のようになっていました。赤く囲った部分を見てください。
SIDがそのまま表示されていることがわかります。これまでの経験では、このように表示されているときには、実IDが削除されているにもかかわらず、ファイルに設定されたACE(アクセスコントロールエントリ)のみが残されている場合です。
が、今回はドメインコントローラ上ですから、それはないだろう...と。
ためしにメンバーサーバーに SQL Server 2005 をインストールして確認したところ、以下のようなアクセス権が設定されていました。
SYSTEM :フルコントロール SQLServer2005ReportingServicesWebServiceUser$<コンピュータ名>$<インスタンス名> :読み取り/書き込み/特殊なアクセス許可 SQLServer2005ReportServerUser$<コンピュータ名>\<インスタンス名> :読み取り/書き込み Administrators :フルコントロール
どうやら、SIDで表示されているのは、SQLServer2005ReportingServicesWebServiceUser$<コンピュータ名>$<インスタンス名> のようです。このグループのメンバを確認したところ、本来ここに入っているはずの NT Authority\Network Service がいません。空っぽです。
ものぐさな私は、上記ファイル(RSReportServer.config)に対して Network Service アカウントへのアクセス権を与えて急場をしのぎました。
が!
これは場当たり的であり、きちんとしたアカウント設計を行っている場合には、当然ながら上記方法では対処できません。
そんな場当たり的で適当な対処ではなく、きっちりと対応したい(というか、是非そうしてください)という方は、是非とも以下の KB をご覧ください。タイトルの日本語がおかしいのは、機械翻訳のせいです...。
それがWindows Server 2008にインストールする方法とコンピュータで SQL Server 2005 レポート サービス を構成する方法を実行しています http://support.microsoft.com/kb/938245/ja
このKBをすごくわかりやすく解説してくれているのが、マイクロソフトBIチームの 米野 氏です。
PPS を Windows Server 2008 上で動かしてみよう #1
PPS を Windows Server 2008 上で動かしてみよう #2
もともと Performance Point Server(PPS)のデモ環境(もちろん Tech・Ed対応)を作る際に検証された手順のようです。Tech・Edでは、よろしければ、米野氏のセッションもご覧になってください。
T3-306 Office PerformancePoint Server 2007 プランニング モデルの作成と展開