プロが教えるわが家の防犯対策術!

SQLServer2000を使用しております。

別環境のデータベースのバックアップファイルを当該環境へ復元させたいと考えているのですが、
バックアップデータファイルを指定して復元を行ったところ、以下のダイアログが表示され、復元に失敗します。

"物理ファイルを拡張しようとした時に MODIFY FILEでオペレーティングエラー112(ディスクに十分な空き容量がありません。)が"発生しました
RESTORE DATABASEが以上終了しました"

別環境のデータファイルは230M、トランザクションログファイルは11Gでした。
復元先のドライブの空き容量は17Gです。

十分に空き容量があると思われるのですが、なぜ上記のようなダイアログが出るのでしょうか。また、データファイルのみの復元ということは不可能なのでしょうか。


※ トランザクションログファイルが肥大化している件につきましては、
  ログの切捨て、ファイルの最大サイズの指定、及び復旧モデルも"シンプル"と修正する様対応する予定です。


上記の件につきまして、原因、または対応方法がお分かりになる方がいらっしゃいましたら、
ご教示のほど、何卒よろしくお願いいたします。

A 回答 (1件)

ひょっとして、そのデータベースを復元しようとしている環境のファイルシステムはFAT32形式ではないでしょうか。



FAT32形式ですと、ファイルの最大サイズが4GBに制限されているので、11GBのファイルを作成することができません。

これが原因の場合、ファイルシステムをNTFSに変更するか、あるいはデータベースをダンプする前にあらかじめトランザクションログをtruncateしておく必要があります。

ダンプファイルからログを除いてデータ部分のみリストアする方法は、SQL Server 7.0ないしそれ以前には存在しませんでした。SQL Server 2000についてはちょっと分かりません。
    • good
    • 0
この回答へのお礼

ご返答いただき、ありがとうございます。

報告が遅くなってしまい、すみません。
いろいろ試していた為、報告まで時間がかかってしまいました。

復元先のファイルシステムは回答者様のおっしゃるとおりFAT32形式でした。
直接NTFSに変換するのはほかのデータとの兼ね合いもあり、少し心配でしたので、

別のWindows2000Server環境(復元先のファイル形式はNTFS)
に一旦復元し、トランザクションログの切捨てを行い、そのバックアップを
当該環境のマシン(FAT32)に復元を行い、
復元が正常に終了しました。

ここに至るまでの活路を見出してくださいました回答者様の
アドバイスが非常に頼りになりました。

本当にありがとうございました。

お礼日時:2005/08/30 09:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!