Visual SourceSafe からアップグレードした後の手順の実行

アップグレードが完了した後で、予期された結果と一致していること、およびチームでデータを使用できる準備が整っていることを確認する必要があります。

  • アップグレード プロセスの結果をチェックする

  • 問題を解決する

    • SQL Server Express のストレージ制限が原因で発生したエラーの解決

    • MS-DOS 互換の短い名前 (8.3) 形式のファイルの変換 (TF227014)

アップグレード プロセスの結果をチェックする

レポートを確認し、必要に応じてアップグレード ツールによって生成されたログを確認します。 Team Foundation Server 上のデータをチェックして、Visual SourceSafe データベースのデータが適切にアップグレードされたことを確認します。

移行レポートを表示する

TFS と Visual SourceSafe には機能面での大きな違いがあります。 したがって、データの種類によっては、アップグレード時に Visual SourceSafe アップグレード ツールによって変更されます。 場合によっては、エラーまたは問題が発生することがあります。 移行レポートは、これらの問題の解決に役立ちます。

移行レポートを開くには

  • VSS アップグレード ウィザードを使用した場合: [完了] ページで [アップグレード レポート] リンクを選択します。

  • VssUpgrade ツールを使用した場合: 現在のディレクトリの VSSAnalysisReport.xml レポート、または <Output file> 属性で名前と場所を指定した任意のファイルを開きます。

移行レポート

ログを表示する

警告やエラーが報告されたときに、ログを参照する場合があります。 また、アップグレード プロセスでデータがどのように変更されたかについて、ログを表示して詳細を確認する場合もあります。 ログを表示するには、次の手順に従います。

  • VSS アップグレード ウィザードを使用した場合: [完了] ページで、[Complete Log] (完全なログ) リンクを選択します。

  • VssUpgrade ツールを使用した場合: ConverterErrors.txtVSSUpgrade.log を開きます。

チーム プロジェクト内のデータを調べる

ソース管理エクスプローラーを使用して、Team Foundation Server 上のデータを調べ、Visual SourceSafe データベースのデータが予定どおりにアップグレードされたことを確認します。

問題を解決する

アップグレード プロセスの結果を確認した後で、問題を修正する必要がある場合があります。

SQL Server Express のストレージ制限が原因で発生したエラーの解決

アップグレード ツールでは、データベースを使用して一時メタデータを格納します。 通常、このメタデータは、アップグレードするデータの合計サイズのうち小さな割合を占めます。 めったにないことですが、SQL Server Express の 4 GB の制限に達したためにアップグレードが失敗する場合は、SQL Server Express の代わりに SQL Server を使用します。 「ウィザードを使用した Visual SourceSafe からのアップグレード」または VssUpgrade の <SQL> 要素の説明を参照してください。

MS-DOS 互換の短い名前 (8.3) 形式のファイルの変換 (TF227014)

TFS では、MS-DOS 互換の短い名前 (8.3) 形式のファイル名 (たとえば abcdef~1.txt) を使用できません。 このような名前のファイルを分析したり、アップグレードしようとしたりすると、TF227014 エラーが表示されます。

そのような名前のファイルを使用できるようにする設定を Team Foundation Server に一時的に適用すると、この懸案事項を回避できます。 これを行うには、TFS の構成データベースで Allow8Dot3PathsTrue に設定する必要があります。

重要

MS-DOS 互換の短い名前をサポートしているクライアント マシンで懸案事項が生じるのを防ぐため、アップグレード プロセスが完了した後で、次の手順に示すように Allow8Dot3PathsFalse に設定することを強くお勧めします。

次の手順を実行するには、Windows PowerShell が TFS のアプリケーション層サーバーで有効になっている必要があります。 「Windows PowerShell でのスクリプティング」を参照してください。

必要なアクセス許可

TFS のアプリケーション層サーバーの Administrators グループのメンバーである必要があります。 詳細については、「Team Foundation Server のアクセス許可の参照」を参照してください。

MS-DOS 互換の短い名前形式のファイルが格納されている Visual SourceSafe データベースをアップグレードするには

  1. Team Foundation のアプリケーション層サーバーにログオンします。

  2. Allow8Dot3Paths という名前の Windows PowerShell スクリプトを作成します。

    1. このトピックで後述する「Allow8Dot3Paths PowerShell スクリプト」のテキストをコピーして、このスクリプトに貼り付けます。

    2. Team Foundation Server への接続に使用する URL のパスと一致するように ServerPath を変更します。 既定のサーバー パスは "tfs" です。

    3. データのアップグレード先にするチーム プロジェクト コレクションの名前 (たとえば DefaultCollection) と一致するように CollectionName を変更します。

      たとえば、結果はスクリプト内の次のような行になります。

      $collectionBaseUrl = "https://localhost:8080/tfs/DefaultCollection/";
      
  3. Allow8Dot3Paths スクリプトを実行します。

  4. Team Foundation Server のアプリケーション プールをリサイクルします。

    1. Windows の [スタート] から [コンピューターの管理] を実行します。

    2. ナビゲーション ウィンドウで、[サービスとアプリケーション] を展開します。

    3. [インターネット インフォメーション サービス (IIS) マネージャー] を選択して、ローカル コンピューターを展開し、[アプリケーション プール] をダブルクリックします。

    4. アプリケーション プールのショートカット メニューを開き、[リサイクル] を選択します。

  5. 移行コマンドを実行します

  6. 前の手順で作成した Allow8Dot3Paths Windows PowerShell スクリプトの "true" を "false" で置換します。

  7. 変更した Allow8Dot3Paths スクリプトを実行します。

  8. (前述のように) Team Foundation Server のアプリケーション プールをリサイクルします。

  9. Visual Studio で、まだ接続されていない場合は、データのアップグレード先のチーム プロジェクトに接続します

  10. ソース管理エクスプローラーで、MS-DOS 互換の短い名前 (8.3) 形式のファイル名をすべて変更します。

Allow8Dot3Paths PowerShell スクリプト

# Load client OM assembly.
[Reflection.Assembly]::Load("Microsoft.TeamFoundation.Client, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a");

$collectionBaseUrl = "https://localhost:8080/ServerPath/CollectionName/";

$tfs = [Microsoft.TeamFoundation.Client.TeamFoundationServerFactory]::GetServer($collectionBaseUrl);
$collectionHive = $tfs.GetService([Microsoft.TeamFoundation.Framework.Client.ITeamFoundationRegistry]);

# Set some version control settings in the collection hive.
$collectionHive.SetValue("/Service/VersionControl/Settings/Allow8Dot3Paths", "True");

# Display all version control settings as a table.
$collectionHive.ReadEntries("/Service/VersionControl/Settings/...") | ft -a