ディレクトリ内に同じ名前のフォルダが 2 つ存在し、一方が 2 バイト文字セット (DBCS)、もう一方が1 バイト文字セット (SBCS)…

ディレクトリ内に同じ名前のフォルダが 2 つ存在し、一方が 2 バイト文字セット (DBCS)、もう一方が1 バイト文字セット (SBCS)…

記事: 100035857
最終公開日: 2017-07-26
評価: 0 0
製品: Enterprise Vault

問題

導入
 
同じレベルのフォルダ階層に同じ名前のフォルダが 2 つ存在し、一方が 1 バイト文字セット、もう一方が 2 バイト文字セット (すべて 2 バイト文字の場合と 1 バイト文字が混在する場合を含め) で構成されているとき、これらのフォルダから同名のファイルをアーカイブすると、ファイルシステムアーカイブ (FSA) データが損失する可能性があります。

図 1 - 一方が DBCS、もう一方が SBCS で構成された同名の 2 つのフォルダ

原因

FSA は対象ファイルシステムをクロールするとき、フォルダごとにデータベースレコードを 1 つ作成します。2 つのフォルダが同じ階層レベルに同じ名前で存在し、一方が DBCS、もう一方が SBCS で構成されているとします。それぞれフォルダ A とフォルダ B と呼び、FSA が対象ファイルサーバーで最初にフォルダ A を見つけるとします。FSA はデータベースでフォルダ A の情報を検索し、フォルダ A に一致するレコードがないことを確認します。つまり、フォルダ A が新しいフォルダであることを確認し、FSA はフォルダ A のデータベースレコードを作成します。次に、FSA は対象ファイルサーバーでフォルダ B を見つけます。FSA はデータベースでフォルダ B の情報を検索し、フォルダ B に一致するレコードがないことを確認します。この場合、FSA はフォルダ A のレコードを見つけてフォルダ B のレコードであると誤って判断します。これにより、FSA はフォルダ B がフォルダ A と同じフォルダであると解釈し、フォルダA と同じ ID でフォルダ B にフォルダポイントエントリを作成します。この結果、これ以降 FSA はフォルダ B をフォルダ A と同じフォルダとして処理します。

解決方法

正式な解決方法
シマンテックは、上記の問題がこの文書の右上に記載されている製品の現在のバージョンで発生することを認識しています。シマンテックはこの問題の正式な修正版を提供するため積極的に調査を進めています。このページにある[この記事を電子メールで送る]リンクをクリックしてこの記事を購読すると、正式な修正版がリリースされた場合に通知を受け取ることができます。

回避策

新しいインストール
この問題は、1 バイト文字と 2 バイト文字が混在する名前、または日本語版インストールなどに含まれるかな文字を使用した名前を持つフォルダやファイルが見つかったシステムでのみ発生します。正しい照合順序で設定された SQL Server のインストールでこの問題が発生することはありません。SQL 照合順序は通常、SQL Server のインストール処理時に設定されます。
 
インストール時に設定する照合順序オプションについて詳しくは、次の Microsoft 社の記事を参照してください。
 
 
現在の照合順序のソートオプションを確認するには、SQL Server Management Studio でいずれかの Enterprise Vault データベースのプロパティを参照するか、次のクエリーを実行してください。
 
SELECT   DATABASEPROPERTYEX('database_name',   'Collation')   SQLCollation;
 
'database_name' には、Enterprise Vault データベースの名前を 1 つ指定します。
 
この問題の発生を回避するには、SQL Server のインストール時に次の照合順序オプションが指定されていることを確認します。
 
  • Windows 照合順序:
    • 大文字小文字を区別しない (_CI)
    • アクセントを区別する (_AS)
    • かなを区別する (_KS)
    • 文字幅を区別する (_WS)
つまり、<SQL_collation_name>_CI_ の後に _AI、_KI、_WI のいずれかが設定されている場合にこの問題は発生します。
 
照合順序が大文字と小文字を区別するように設定されている場合、またはアクセント、かな、文字幅を区別しないように設定されている場合、このエラーの発生を回避するには、サーバーの照合順序を変更し、以下に記載されている SQL 照合順序を使用します。
 

既存のインストール
既存のインストールについては、Enterprise Vault サポートにお問い合わせください。

電子メール通知の購読方法:
この文書を直接購読する場合:
このページにある[この記事を電子メールで送る]リンクをクリックしてこの記事を購読すると、この記事に新しいリリース情報が掲載された場合に通知を受け取ることができます。

ソフトウェアアラートの購読方法:
この article をシマンテック電子メール通知サービスからソフトウェアアラートとして受け取っていない場合は、電子メールで購読するか、または次のページで提供されているリンクを使用して RSS から購読できます。

https://www.veritas.com/business/support/index?page=content&key=50990&channel=ALERTS


シマンテック社は以下のベストプラクティス (最善の対応方法) を強く推奨します。
1. 環境に何らかの変更を加える前後に必ず完全バックアップを行う。
2. 環境で動作するソフトウェアを常に最新のバージョン、最新の修正プログラムレベルに更新する。
3. 技術文書を購読して最新情報を確認する。
 

Applies To

影響を受ける対象
次のバージョンの Veritas Enterprise Vault が影響を受けます。
  • Enterprise Vault for File System Archiving 7.x
  • Enterprise Vault for File System Archiving 2007.x
  • Enterprise Vault for File System Archiving 8.x
  • Enterprise Vault for File System Archiving 9.x
次の 2 つのシナリオでデータが損失します。

 シナリオ 1 - タイムスタンプが同じ場合
 
1. DBCS ファイル名 / フォルダ名に対応するファイルサーバー (Windows 日本版など) に FSA が設定されている
 
2. 2 つのフォルダが同じ階層レベルに同じ名前で作成され、一方が DBCS、もう一方が SBCS で構成されている。このシナリオではそれぞれフォルダ A、フォルダ B と呼ぶことにします。
 
3. フォルダ A、フォルダ B にファイル名とタイムスタンプが同じで内容が異なるファイルが格納されている
 
4. ファイルシステムアーカイブタスクをスケジュールまたは[今すぐ実行 (Run Now)]を使用して開始している
 
このシナリオでは、FSA はフォルダ A のファイルをアーカイブして保存セットを作成します。FSA はフォルダ B のファイルをアーカイブしようとしますが、誤ってフォルダ B をフォルダ A と解釈します。フォルダ A とフォルダ B のファイルのタイムスタンプは同じです。FSA はファイルがすでにアーカイブ済みであると解釈し、フォルダ B のファイルのデータを格納しないで、フォルダ A でアーカイブされた同じタイムスタンプを持つファイルへのショートカットをフォルダ B に作成します。この時点でフォルダ B のファイルの内容が損失します。
 
シナリオ 2 - 削除が有効になっている場合
 
1. DBCS ファイル名 / フォルダ名に対応するファイルサーバー (Windows 日本版など) に FSA が設定されている
 
2. 削除が設定されている。FSA タスクの[次を削除 (Prune to)]を 1[バージョンまでの文書 (versions of the document])]に設定し、[削除のスケジュール (Scheduled Pruning)]を有効にします。
 
3. 2 つのフォルダが同じ階層レベルに同じ名前で作成され、一方が DBCS、もう一方が SBCS で構成されている。このシナリオではそれぞれフォルダ A、フォルダ B と呼ぶことにします。
 
4. フォルダ A、フォルダ B に名前が同じで内容が異なるファイルが格納されている
 
5. ファイルシステムアーカイブタスクをスケジュールまたは[今すぐ実行 (Run Now)]を使用して開始している
 
6. スケジュールに基づいてバージョンによる削除を実行している

このシナリオでは、FSA はフォルダ A のファイルをアーカイブして保存セットを作成します。FSA はフォルダ B のファイルをアーカイブしようとしますが、誤ってフォルダ B をフォルダ A と解釈します。FSA はフォルダ B のファイルがフォルダ A の別のバージョンのファイルであると解釈します。FSA はフォルダ B のファイルの内容を格納します。この時点でフォルダ B のファイルの内容はフォルダ A のファイルの最新版として格納され、フォルダ A のファイルの内容は 2 番目に新しいバージョンとして格納されます。バージョンによる削除が実行されると、最新版が維持されてこれより古いバージョンのデータは削除されます。この時点でフォルダ A のファイルのデータが損失します。

影響があるかどうかを調べる方法
 
次のすべての条件が揃っている場合にデータが損失する可能性があります。
  • 対象ファイルサーバーが DBCS ファイル名 / フォルダ名に対応している (DBCS は主として東アジア言語で使用されます)
  • 階層レベルと名前が同じである 2 つのフォルダが存在し、一方のフォルダ名の一部またはすべてが DBCS で構成され、もう一方が SBCS で構成されている (「重複しているフォルダ / ファイル名を確認する方法」を参照してください)
および
  • 2 つのフォルダに名前とタイムスタンプが同じで内容が異なるファイルが 1 つずつ含まれている。ほとんどのアプリケーションはファイルの内容が変更されるとタイムスタンプを更新します。

米国英語版などの SBCS オペレーティングシステムがインストールされているファイルサーバーはこの問題の影響を受けません。

 
重複しているフォルダ / ファイル名を確認する方法
 
次のツールをダウンロードし、一方が DBCS、もう一方が SBCS で構成されたフォルダ名を持つため、この問題の影響を受けるファイルとフォルダを検出します。
 

参照

Etrack : 1841563

Was this content helpful?