VSS コンバータのトラブルシューティング

更新 : 2007 年 11 月

ここでは、VSS コンバータを使用して Microsoft Visual SourceSafe 2005 から Team Foundation バージョン管理に移行するときに発生する一般的な問題のトラブルシューティングについて説明します。

このセクションの内容

ディスク容量の制限

誤ったバージョンの Ssapi.dll が登録されている

VSS の破損と IVSS の問題が原因でファイルとフォルダのバージョンが移行されない

VSS コンバータで Visual SourceSafe の一部のシナリオがサポートされない

移行中に Team Foundation データ層でディスク容量不足が発生する

VSS コンバータが停止する

VSS コンバータを実行しているユーザーのパスワードの有効期限が切れている

移行されたソリューション ファイルを開くときにエラー メッセージが表示される

ディスク容量の制限

VSS コンバータを実行するコンピュータのディスク容量が不足しているか残り少ない場合、次のエラーが表示されます。

VSS Error: Disk out of space

解決策

  • 移行中に VSS コンバータは、システム ドライブのローカル フォルダにファイルをダウンロードしてから、これらのファイルを Team Foundation にアップロードします。また、VSS コンバータでは、ログ ファイル、レポート ファイル、およびメタデータを SQL Express に格納するためのディスク容量も必要となります。

  • ディスク容量が少なくなった場合は、Ctrl キーを押しながら C キーを押して移行を停止できます。増分の移行機能を使用すると、停止した位置から移行を再開できます。ただし、移行を再開する前にシステム ドライブのディスク容量を増やす必要があります。

  • 使用可能なディスク容量がないと、サイズがゼロのファイルが移行されることがあります。この場合、Ctrl キーを押しながら C キーを押して移行を停止し、移行をもう一度開始する必要があります。

  • 移行を実行するドライブには、10 GB の使用可能ディスク容量を確保しておくことをお勧めします。

誤ったバージョンの Ssapi.dll が登録されている

誤ったバージョンの ssapi.dll が登録されていると、VSS コンバータは次のエラーを出力してクラッシュします。

Unable to cast COM object of type 'Microsoft.VisualStudio.SourceSafe.Interop.VSSDatabaseClass' to interface type 'Microsoft.VisualStudio.SourceSafe.Interop.IVSSDatabase'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{2A0DE0EE-2E9F-11D0-9236-00AA00A1EB95}' failed with HRESULT: 0x80004002 (No such interface supported (Exception from HRESULT: 0x80004002 (E_NOINTERFACE))). Unhandled exception caught.

さらに、Microsoft Visual SourceSafe 2005 が既にインストールされているにもかかわらず、"VSS コンバータを実行するには、Microsoft Visual SourceSafe 2005 またはそれ以降が必要です" または "Microsoft Visual SourceSafe 2005 がインストールされていません" というエラー メッセージが表示されます。

解決策

VSS コンバータを使用するには、移行を実行するコンピュータに Microsoft Visual SourceSafe 2005 以降がインストールされている必要があります。この問題は、Microsoft Visual SourceSafe 2005 に加えて、古いバージョンの Visual SourceSafe がインストールされている場合にも発生することがあります。この問題が発生するのは、Microsoft Visual SourceSafe 2005 に含まれている ssapi.dll ではなく、古いバージョンの ssapi.dll が登録されている場合です。この問題を解決するには、古いバージョンの Visual SourceSafe と Microsoft Visual SourceSafe 2005 をアンインストールし、Microsoft Visual SourceSafe 2005 だけを再インストールします。

VSS の破損と IVSS の問題が原因でファイルとフォルダのバージョンが移行されない

Visual SourceSafe の破損と IVSS の問題が原因でファイルとフォルダのバージョンが移行されない場合、レポート ファイルに多数のエラーとデータ損失の警告が記録されることがあります。これは、次のエラーの一方または両方が発生したことが原因です。

  • Visual SourceSafe のヒントのバージョンが、Team Foundation のヒントのバージョンと一致しない。

  • Visual SourceSafe でラベルに関連付けられたファイルとフォルダのバージョンが、Team Foundation のファイルとフォルダのバージョンと一致しない。

解決策

  • Visual SourceSafe には、長期的に使用すると破損しやすくなる傾向があります。この破損が原因で、VSS コンバータがファイルとフォルダの一部のバージョンを移行できないことがあります。VSS コンバータでは、Visual SourceSafe データベースにアクセスするために IVSS API が使用されますが、Visual SourceSafe の UI およびコマンド ラインでは IVSS は使用されません。場合によっては、UI またはコマンド ラインで Visual SourceSafe のバージョンを取得できても、IVSS 経由では取得できないことがあります。このようなファイルとフォルダのバージョンの移行は失敗します。

  • 移行が正常に行われた後で、WinDiff ツールなどのファイル比較ユーティリティを使用して、Visual SourceSafe 内のファイルおよびフォルダの最新バージョンと、Team Foundation バージョン管理に移行されたファイルおよびフォルダの最新バージョンを比較してください。ファイルやフォルダのバージョン間に差異がある場合は、最新バージョンを手動で移行します。

    ms400776.alert_note(ja-jp,VS.90).gifメモ :

    移行の後で、Visual SourceSafe でラベルに関連付けられたファイルとフォルダのバージョンを Team Foundation バージョン管理のファイルとフォルダのバージョンに一致させる手段はありません。

VSS コンバータで Visual SourceSafe の一部のシナリオがサポートされない

VSS コンバータでは、Visual SourceSafe のシナリオや一連のアクションのすべてがサポートされるわけではありません。ヒントまたはラベルが一致しない場合は、レポート ファイルに多数のエラーが記録されますが、何も記録されないこともあります。移行されたファイルとフォルダを調べると、次の状況のいずれかが発生していることがあります。

  • Visual SourceSafe のヒントのバージョンが、Team Foundation バージョン管理での最新バージョンと一致しない。

  • Visual SourceSafe でラベルに関連付けられたファイルとフォルダのバージョンが、Team Foundation バージョン管理のファイルとフォルダのバージョンと一致しない。

  • ファイルとフォルダが誤った名前で移行されている。

VSS コンバータでは、次のような Visual SourceSafe のシナリオはサポートされません。

  • ファイルやフォルダの名前変更または移動を複数回行った場合。

  • アーカイブされたフォルダを同一または別の Visual SourceSafe データベース内の別のフォルダに復元した場合。

  • タイム ゾーンが原因で問題が発生した場合。タイム ゾーンの問題のいくつかは、VSS コンバータによって修正されます。ただし、すべての問題が修正されるとは限りません。タイム ゾーンの懸案事項の詳細については、サポート技術情報の文書「BUG: Using SourceSafe in Multiple Time Zones」(https://go.microsoft.com/fwlink/?LinkId=59976) を参照してください。

解決策

移行が正常に行われた後で、WinDiff ツールなどのファイル比較ユーティリティを使用して、Visual SourceSafe 内のファイルおよびフォルダの最新バージョンと、Team Foundation バージョン管理に移行されたファイルおよびフォルダの最新バージョンを比較してください。ファイルやフォルダのバージョン間に差異がある場合は、最新バージョンを手動で移行する必要があります。

ms400776.alert_note(ja-jp,VS.90).gifメモ :

移行の後で、Visual SourceSafe でラベルに関連付けられたファイルおよびフォルダのバージョンを、Team Foundation バージョン管理のファイルおよびフォルダのバージョンに一致させる手段はありません。

移行中に Team Foundation データ層でディスク容量不足が発生する

移行中に Team Foundation データ層のディスク容量が足りなくなると、次のエラーが繰り返しコンソールに表示されます。

  • Team Foundation エラーにより、移行できません: SQL エラー xxxx ディスクの領域が不足しています。

  • Team Foundation は応答していません。再実行しています...

  • Team Foundation エラーにより、移行できません: SQL エラー xxxx トランザクション ログがいっぱいです。TF30042: データベースがいっぱいです。Team Foundation Server の管理者に連絡してください。

解決策

ソース管理データは、Team Foundation のデータ層に格納されます。VSS コンバータは、数か月間または数年間の履歴を数時間または数日間で移行するため、データ層のディスク容量が足りなくなることがあります。

  • 増分の移行機能を使用すると、停止した時点から移行を再開できます。詳細については、「方法 : Team Foundation に段階的に移行する」を参照してください。ただし、移行を再開する前にデータ層のディスク容量を増やす必要があります。

  • トランザクション ログがいっぱいになった場合は、ログの内容を削除する必要があります。

    ms400776.alert_caution(ja-jp,VS.90).gif重要 :

    トランザクション ログを消去する前に、そのバックアップを作成してください。

VSS コンバータが停止する

VSS コンバータは、クラッシュが原因で停止したり、実行しているコンピュータが電源障害、セキュリティ更新プログラム、またはその他の理由で再起動されたために停止したりする場合があります。

解決策

増分の移行機能を使用すると、停止した時点から移行を再開できます。詳細については、「方法 : Team Foundation に段階的に移行する」を参照してください。ただし、VSS コンバータのエラーが一過性の問題か永続的な問題かを調べる必要があります。永続的な問題の場合は、Visual SourceSafe でエラーの原因になっている要素の履歴を手動で修正する必要があります。

VSS コンバータを実行しているユーザーのパスワードの有効期限が切れている

ユーザー パスワードの有効期限が切れると、"Team Foundation は応答していません。再実行しています……" というメッセージが繰り返し表示されます。また、ログ ファイルには、認証のないアクセスまたはアクセス拒否のエラーを示す SoapException が記録されます。

解決策

VSS コンバータを実行しているユーザー ID のパスワードの有効期限が切れた場合は、Ctrl キーを押しながら C キーを押して移行を停止します。ログオフし、新しいパスワードを使用して再度ログインします。増分の移行機能を使用すると、停止した時点から移行を再開できます。詳細については、「方法 : Team Foundation に段階的に移行する」を参照してください。

移行されたソリューション ファイルを開くときにエラー メッセージが表示される

移行されたファイルのソース管理バインドが更新されていない場合、Visual SourceSafe データベースにバインドされたソリューション ファイルを開こうとすると、エラー メッセージが表示されます。

解決策

VSS コンバータでは、ソリューション ファイルのソース管理バインド情報は変更されません。したがって、ソリューション ファイルは Team Foundation から Visual SourceSafe にバインドされたままになっています。

これを修正するには、ソース管理バインドを Visual SourceSafe から Team Foundation バージョン管理に移行する必要があります。詳細については、「方法 : Visual SourceSafe からソース管理のバインディングを移行する」を参照してください。

ms400776.alert_note(ja-jp,VS.90).gifメモ :

ネットワークに一時的な問題が発生している場合や、Team Foundation Server がダウンしている場合にも、ソリューション ファイルを開けないことがあります。

参照

処理手順

チュートリアル : Visual SourceSafe から Team Foundation への移行

概念

Visual SourceSafe からの移行