次の方法で共有


トラブルシューティング : Project Server 2007 の移行

更新日: 2009年5月

 

トピックの最終更新日: 2009-04-29

この記事の内容 :

  • トラブルシューティングの前に : Project Server 2007 の機能の確認

  • エラー ログ

  • Project Server 2007 データベースを復元する

  • 移行したユーザーと権限の問題点

  • 認証の問題点

  • 移行フローチャート

ここでは、Microsoft Office Project Server 2007 への移行処理中に問題が発生した場合に使用できるオプションについて説明します。

トラブルシューティングの前に : Project Server 2007 の機能の確認

トラブルシューティングに取りかかる前に、まず Microsoft Office Project Server 2007 自体が正しく動作しているかどうかを確認します。問題が移行に関連するものなのか、Office Project Server 2007 構成に関連するものなのかを特定しておくと、時間を節約できます。

  • 新しい Project Web Access インスタンスを Project Server コンピュータ上に作成します。このインスタンスを移行に使用しないでください。このインスタンスは、トラブルシューティングが終了したら削除できます。

  • Microsoft Office Project Professional 2007 を実行しているコンピュータ上の新しく作成した Project Web Access のインスタンスで、プロジェクトを作成、保存、および発行します。 このプロジェクトを Project Center で開けるかどうかを確認します。開けない場合は、抱えている問題が Office Project Server 2007 の構成に関連している可能性があります。

  • Queuing サービスと Eventing サービスがアプリケーション サーバー上で実行されているかどうかを確認します。

エラー ログ

移行のトラブルシューティングを行うときは、関連するエラー ログ情報がどこにあるのかを認識することが重要です。ここでは、エラー ログ情報が得られるいくつかの機構について説明します。

  • [キュー管理] ページを表示して、失敗状態のジョブが存在するかどうかを確認します。該当するエントリの [エラー] 列を表示して、問題解決の手掛かりを探します。

  • アップグレード ログ ファイルを表示します。このファイルは、移行構成ファイルに指定したパスにあります。このファイルには、移行時に発生した失敗に関する詳細情報が含まれています。

  • サーバーのイベント ログとトレース ログを調べます。

  • イベント ログを開いて表示するには、サーバー コンピュータで [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。そこで「Eventvwr」と入力してから、[OK] をクリックします。次に、[アプリケーション] ノードをクリックします。サーバー上で発生したアプリケーション イベントの一覧が表示されます。

  • トレース ログを開いて表示するには、サーバー コンピュータ上の <drive>:\program files\common files\Microsoft Shared\web server extensions\12\LOGS フォルダに移動します。ULS トレース ログには、<servername>-yyyymmdd-time.log (たとえば、contoso-20060720-1506.log) のような形式で名前が付けられます。

  • ログ ファイルから失敗の原因を判断できない場合は、マイクロソフト製品サポート サービスにお問い合わせください。その際、次の情報を提供できるようにしておく必要があります。

    1. アップグレード ログ (移行構成ファイルに指定したパスで参照できます)

      [!メモ] サーバーによって詳細なログが作成されることを確認します。これによって、可能な限り多くの情報をデバッグに使用できるようになります。[SharePoint サーバーの全体管理] の Web サイトで、[診断ログ] ページの [サーバー構成の管理] タブからこのパラメータを設定できます。このページの [記録されるイベントの設定] セクションで、以下のパラメータを設定します。
      [イベント ログの中で重要度の最も低いイベント] : [成功]
      [トレース ログの中で重要度の最も低いイベント] : [詳細]

      [OK] をクリックして設定を保存します。設定が保存されたかどうか、確認することをお勧めします。確認するには、同じセクションで [1 つのカテゴリの更新] 一覧から個々のカテゴリを選択し、設定が同じかどうかを確認します。

    2. イベント ログ ファイルのコピー : コピーを作成するには、イベント ログを開き、[アプリケーション] ノードを右クリックして、[ログ ファイルの名前を付けて保存] を選択します。こうすることで、イベント ログをファイルに保存し、マイクロソフト製品サポート サービスに送ることができます。

      [!メモ] 問題を再現して、問題がイベント ログとトレース ログに確実に記録されるようにする必要があります。

    3. 最新のトレース ログ ファイルのコピー : デバッグ用のトレース情報を送信する場合は、サーバー上で問題を再現して、最新のトレース ログ ファイルを複数送信してください。ログ ファイルは、各ファイルの名前に使用されている日時のタイム スタンプで識別できます。

    4. Project Server 2003 データベース ファイルのコピー

  • 移行ツールが応答しなくなると、[Microsoft Office Project] ダイアログ ボックスが表示され、それ以降の問題のトラブルシューティングにマイクロソフト製品サポート サービスの協力を求められるようになります。このダイアログ ボックスで、[エラー報告を送信する] を選択すると、問題が製品サポート サービスに送られます。エラー報告を送信したら、イベント ビューアを使用して、イベント ID = 1001 を持つイベントを検索します。説明フィールドの内容をテキスト エディタにコピーし、それを製品サポート サービスの担当者に送信します。

  • Office Project Server 2007 をクリーンな状態に復元し、移行を再試行します。Office Project Server 2007 インスタンスを再度作成する代わりに、バックアップしたクリーンな Office Project Server 2007 データベースと Project Server 2003 データベースを復元し、その後アップグレード プロセスを再度実行します。バックアップしたクリーンな Office Project Server 2007 データベースを復元する方法の詳細については、この後のセクションを参照してください。

アップグレード ログ ファイルでエラー、警告、および失敗を検索する

コマンド プロンプトで以下のコマンドを実行すると、アップグレード ログ ファイルから警告、エラー、失敗を見つけて、編集できます。

  • アップグレード ログ ファイル内の警告を示す行をすべて見つけるには、以下のコマンドを実行します。

    Find /I "warning" <ソース ログ ファイル> >> <出力ファイル>

    以下に例を示します。

    Find /I "warning" c:\myupgradelog.log >> c:\errors.log

  • アップグレード ログ ファイル内のエラーを示す行をすべて見つけるには、以下のコマンドを実行します。

    Find /I "error" <ソース ログ ファイル> >> <出力ファイル>

    以下に例を示します。

    Find /I "error" c:\myupgradelog.log >> c:\errors.log

  • アップグレード ログ ファイル内の失敗を示す行をすべて見つけるには、以下のコマンドを実行します。

    Find /I "fail" <ソース ログ ファイル> >> <出力ファイル>

    以下に例を示します。

    Find /I "fail" c:\myupgradelog.log >> c:\errors.log

Project Server 2007 データベースを復元する

データの移行中に修復不可能な問題が発生した場合は、Office Project Server 2007 データベースを復元してから、アップグレード プロセスを再度実行することができます。Office Project Server 2007 データベースを復元するためのスクリプトの例を以下に示します。これは、既定のスクリプトではありません。特定のニーズに合わせて、必要な変更を行ってください。このスクリプトは、OSQL を使用できるコンピュータで実行する必要があります。

Rem Note that if you have any open connections to the database, 
Rem   the Restore operation will fail. You can view open connections in 
Rem   Enterprise Manager: 
Rem   under <Server> - Management - Current Activity 
Rem   (hit F5 to refresh) - Process Info. 
Rem You can stop a process by right-clicking, and choosing Kill Process.
echo off

set P12SQLServerName=<SQL Server Name>

Set publishedDB=<DB Name>
Set draftDB=<DB Name>
Set archiveDB=<DB Name>
Set ReportingDB=<DB Name>

Set RestorePublishedDB='<Full path of the backup>'
Set RestoreWorkingDB= '<Full path of the backup>'
Set RestorearchiveDB= '<Full path of the backup>'
Set RestoreReportingDB= '<Full path of the backup>'

Rem The following commands ensure that there are no open connections to 
Rem  the databases that we are restoring to. You can also do this manually.

Set SqlCmd="USE master ALTER DATABASE %publishedDB% SET SINGLE_USER WITH ROLLBACK IMMEDIATE"
osql -E -S %P12SQLServerName% -Q %SqlCmd%

Set SqlCmd="USE master ALTER DATABASE %draftDB% SET SINGLE_USER WITH ROLLBACK IMMEDIATE"
osql -E -S %P12SQLServerName% -Q %SqlCmd%

Set SqlCmd="USE master ALTER DATABASE %archiveDB% SET SINGLE_USER WITH ROLLBACK IMMEDIATE"
osql -E -S %P12SQLServerName% -Q %SqlCmd%

Set SqlCmd="USE master ALTER DATABASE %ReportingDB% SET SINGLE_USER WITH ROLLBACK IMMEDIATE"
osql -E -S %P12SQLServerName% -Q %SqlCmd%

Rem Restoring the database
set SqlCmd= "RESTORE DATABASE %publisheddb% 
  From disk = %RestorePublishedDB% 
  with replace RESTORE DATABASE %draftdb% From disk = %RestoreWorkingDB% 
  with replace RESTORE DATABASE %archivedb% 
  From disk = %RestorearchiveDB% 
  with replace RESTORE DATABASE %reportingdb% 
  From disk = %RestoreReportingDB% with replace"

osql -E -S %P12SQLServerName% -Q %SqlCmd%

Set SqlCmd="USE master ALTER DATABASE %publishedDB% SET MULTI_USER"
osql -E -S %P12SQLServerName% -Q %SqlCmd%

Set SqlCmd="USE master ALTER DATABASE %draftDB% SET MULTI_USER"
osql -E -S %P12SQLServerName% -Q %SqlCmd%

Set SqlCmd="USE master ALTER DATABASE %archiveDB% SET MULTI_USER"
osql -E -S %P12SQLServerName% -Q %SqlCmd%

Set SqlCmd="USE master ALTER DATABASE %ReportingDB% SET MULTI_USER"
osql -E -S %P12SQLServerName% -Q %SqlCmd%

Rem Clearing the cache
rd /s /q "%APPDATA%\Microsoft\MS Project\cache"

goto :Clean

:Clean

Rem To clean up the environment variables created
set P12SQLServerName=
Set RestorePublishedDB=
Set RestoreWorkingDB=
Set RestorearchiveDB=
Set RestoreReportingDB=

set SqlCmd=

Set publishedDB=
Set draftDB=
Set archiveDB=
Set ReportingDB=

移行したユーザーと権限の問題点

移行した後 (特にローカライズされた構築では)、移行によりインストールされた Office Project Server 2007 に、ユーザーが持っていたはずの権限の一部が含まれていないことがあります。たとえば、管理者テンプレートで権限が割り当てられていたにもかかわらず、タイムシートを表示できないことがあります。このような状況が発生する原因は、いくつか考えられます。

  • Project Server 2003 では、権限は所属組織レベルで拒否されます。これを確認するには、Project Web Access 権限をチェックして、何らかの権限が無効になっているかどうか、またそれが問題の原因であるかどうかを調べることができます。

    Project Web Access 権限を確認するには

    1. Project Web Access ホーム ページの左側の領域で、[サーバー設定] をクリックします。

    2. [サーバー設定] の [セキュリティ] セクションで、[Project Web Access 権限] をクリックします。

  • Office Project Server 2007 には、いくつか新しい権限が加されています。新しい権限は、移行中に正しくマッピングされることはありません。セキュリティのドキュメントで新しい権限の一覧を参照し、それが問題の原因になっているかどうかを確認します。Office Project Server 2007 権限の詳細については、「Office Project Server 2007 のセキュリティと保護」を参照してください。

  • Project Server 2003 ユーザーまたはリソース (その名前あるいは Windows NT アカウント) が Office Project Server 2007 に存在している場合、そのユーザーまたはリソースのセキュリティ権限は移行されません。たとえば、移行の前に "AD Sync" を行っていて、対象となったユーザーのほとんどが Project Server 2003 に存在している場合、それらのユーザーの権限は一切移行されません。この問題が発生した場合、対象となる Project Web Access を "空" にして、移行処理を再度開始してください。

認証の問題点

Project Server 認証は、Project Server 2003 では使用されていましたが、Office Project Server 2007 ではサポートされていません。Project Server で認証されたユーザーを Office Project Server 2007 に移行すると、そのユーザーのアカウントはリセットされます。これは、Office Project Server 2007 のフォーム認証機構が Project Server 2003 で使用される Project Server 認証と、構造的に異なるためです。このようなユーザーは、Project Web Access サーバー設定の [ユーザーの管理] ページの一覧には含まれず、そのユーザーに関する [ユーザー認証] セクションは表示されません。ただし、Project Web Access の [リソース センター] で、このような移行されたユーザーを編集することはできます。

リソース データベース内の移行されたリソースは、発行済みデータベースと非同期状態になる可能性があります。

マスタ プロジェクトの移行時の問題点

マスタ プロジェクトとそれに関連するサブプロジェクトを Project Server 2003 から Office Project Server 2007 に移行する場合、プロジェクトの移行が失敗する原因として、次の 2 つのシナリオが考えられます。

  • マスタ プロジェクトの後でサブプロジェクトが移行された (移行構成ファイル内の移行の順番は、修正することができます)。

  • 2 つの異なるマスタ プロジェクトのサブプロジェクトになっているプロジェクトがある (このような構成は、Project Server 2003 では許されますが、Office Project Server 2007 では許されません)。このプロジェクトの移行は、プロジェクトの発行を試みる時点で失敗します。

移行フローチャート

以下のフローチャートは、データが Project Server 2003 から Office Project Server 2007 にどのように移行されるのかをグラフィックで表しています。これは、移行で発生した問題のトラブルシューティングに使用できます。

Project Server 2003 から Office Project Server 2007 へのアップグレードには、Windows クライアント ベースと SQL Server 2000 ベースの両方のアップグレード手順が含まれます。

アップグレード プロセスには、3 つのフェーズがあります。

  1. グローバル データ アップグレード フェーズ : グローバル データと Project Web Access データを Office Project Server 2007 にアップグレードします。

  2. プロジェクト データ アップグレード フェーズ : プロジェクト データを Office Project Server 2007 にアップグレードします。

  3. Windows SharePoint Services データ アップグレード フェーズ : Project Server 2003 に、プロジェクトに関する Windows SharePoint Services データが存在する場合にのみ必要です。このフェーズは、移行ツールの実行とは別に行われるので、このフローチャートには、含まれていません。

以下のフローチャートはそれぞれ、アップグレード プロセスの最初の 2 つのフェーズを表しています。

Project Server 2007 の移行のトラブルシューティング Project Server 2007 のプロジェクト データのアップグレード チャート