方法 : 孤立したファイルを完全に削除する
更新 : 2007 年 11 月
クライアント ユーザーが作業項目から添付ファイルを削除したときに、孤立したファイルを完全に削除する必要が生じる場合があります。たとえば、破損した添付ファイルや、ウイルスに感染した添付ファイルが、作業項目に含まれている場合などです。
ファイルを削除すると、そのファイルは作業項目およびプロジェクトから削除されます。データベースにはメタデータとコンテンツの行が残ります。ただし、RemovedDate は現在の日時に変更され、ファイルは孤立します。データベース管理者は、このような添付ファイルを完全に削除できます。
ファイルの内容は、ファイルの単一のエントリとして TfsWorkItemTrackingAttachment データベースに格納されます。このエントリには、GUID の他、内容がイメージとして含まれます。
ファイルのメタデータは、TfsWorkItemTracking データベースの WorkItemFiles テーブルに格納されます。メタデータには、作業項目の ID 番号が含まれます。
SQL Server および Team Foundation Server の詳細については、「SQL Server と SQL Server Reporting Services について」を参照してください。
必要なアクセス許可
この手順を実行するには、SQL Server 管理者グループのメンバであるか、または DELETE コマンドを実行するデータベース管理のアクセス許可を持っている必要があります。ウイルスに感染したファイルは、チーム プロジェクトから削除されると使用できなくなります。
孤立した作業項目添付ファイルを削除するには
チーム エクスプローラで作業項目を開き、[ファイル] タブでファイルを削除します。
メモ : クライアント ユーザーまたは管理者が、ファイルを削除してデータベース内でそのファイルを孤立させる可能性があります。
データ層サーバーに、データベース管理のアクセス許可を持つユーザーとしてログオンします。
[スタート] をクリックして [すべてのプログラム] をポイントし、[Microsoft SQL Server 2005] をクリックして、[SQL Server Management Studio] をクリックします。
[サーバーに接続] ダイアログ ボックスでサーバーを選択し、[接続] をクリックします。
メモ : サーバー名がダイアログ ボックスに表示されない場合は、ボックス内に直接名前を入力できます。
TfsWorkItemTracking データベースでクエリを実行して、作業項目の添付ファイルの一覧を取得します。
たとえば、次のクエリを使用して、FldID 値の 50 と作業項目の ID で示される項目と添付ファイルを返すことができます。
USE TfsWorkItemTracking GO SELECT * FROM WorkItemFiles WHERE FldID=50 AND ID = 15
クエリ結果の OriginalName 列でファイル名を探し、FilePath 列の GUID を確認します。
TfsWorkItemAttachment データベースで、GUID に基づいて Delete クエリを実行します。
メモ : Delete クエリの処理を元に戻すことはできません。念のため、Delete クエリを実行する前にデータをバックアップしてください。
USE TfsWorkItemAttachment GO DELETE FROM Attachments WHERE FileGuid=<<GUID>>