ESENTUTLコマンドによる修復
先日、ESENTUTLコマンドを使って Windows Search の windows.edb ファイルがダーティー状態なのを修復したのですが、なんとなくRepair (/p)オプション利用で良いのか悩んでいます。
ディスクイメージにトランザクションログが存在しているのであれば、トランザクションログから復旧を行なう Recovery(/r)オプションを指定した方が、トランザクションログに含まれる情報を反映した上でダーティ状態を解除できるということになる?気がしています。(逆にトランザクションログを反映したくない場合には /p を使う?)
Recoveryモードによる修復では、ログファイルを指定することになるので、とりあえず Documents and Settings\All Users\Application Data\Microsoft\Search\Data\Applications\Windows フォルダを丸ごとコピー。でログファイルの基準となる3文字を指定せよ!ということなんですが、Windows Searchのログファイルってどれを指定すればいいんですかね...orz
2010/01/14 12:06 <DIR> . 2010/01/14 12:06 <DIR> .. 2010/01/14 12:06 <DIR> Config 2010/01/14 12:06 <DIR> GatherLogs 2010/01/14 11:59 8,192 MSS.chk 2010/01/14 11:58 131,072 MSS.log 2010/01/14 11:58 131,072 MSS01145.log 2010/01/14 11:50 131,072 MSStmp.log 2010/01/14 12:06 <DIR> Projects 2010/01/08 12:10 131,072 res1.log 2010/01/08 12:10 131,072 res2.log 2010/01/13 09:17 2,113,536 tmp.edb 2010/01/13 09:17 236,994,560 Windows.edb
なんとなく、MSS か res になる気がするんですが、タイムスタンプから予測すると MSS ですかね?まぁなんか違う気がしているんですが、とりあえず実行してみる。
C:\case\XP\Windows>esentutl /r MSS /8 Microsoft(R) Windows(TM) Database Utilities Version 5.1 Copyright (C) Microsoft Corporation. All Rights Reserved. Initiating RECOVERY mode... Logfile base name: MSS Log files: <current directory> System files: <current directory> Performing soft recovery... Operation terminated with error -1216 (JET_errAttachedDatabaseMismatch, An outst anding database attachment has been detected at the start or end of recovery, bu t database is missing or does not match attachment info) after 10.172 seconds.
やっぱり違いますか、そうですか。resも違うようなので、やっぱり /p でいくか。