ここから本文です

sql初心者です。 mdfファイルのアタッチについて教えて下さい。

ss_********さん

2011/11/1509:25:24

sql初心者です。 mdfファイルのアタッチについて教えて下さい。

会社の2008サーバーがハードディスク故障をしてしまいました。 なんとか一部のデータは復元出来たのですが、SQLSERVERを使用している基幹システムのファイルが破損しているようです。


ファイル'C:\ファイル名\***.mdf'がオペレーティングシステムによって切り捨てられている可能性があります。必要なサイズは938368KBですが、実際のサイズは936128KBです。(5125)

上記のようなメッセージが表示され、復元が出来ない状態です。

当方、server構築やネットワークについての知識はあるのですが、プログラマではないのでこの類のエラーについては全く対処法が分かりません。

環境はSQLSERVER2008 express editionを使用していて、ManagementStudioはインストール済の状況です。

どなか詳しい方、対処法を教えて頂けないでしょうか?

補足現状手元にあるのは、mdfファイルと破損したldfファイルのみで、bakファイルは2か月前の物しか存在しません

閲覧数:
1,783
回答数:
1
お礼:
500枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

nob********さん

編集あり2011/11/1516:38:00

まず、最悪の事態を想定し、とりあえず現データベースを一旦SQL Serverを止めて、ファイルベースで全て物理的にコピーしてから作業された方が良いです。
稼働していた時点でBACKUP DATABASEによりデータベース全体をバックアップした最後のファイルは存在しますか。
また、BACKUP LOGでデータベース全体を最後にバックアップ以降のログをバックアップしたファイルは全てありますか。
(してない場合は無くても良いです)
もし、あるのであれば、クラッシュ直前までのログがログファイル(拡張子LDF)に残っているので、このファイルが存在するのであれば、まずこのログをバックアップして下さい。(無い場合は最後にバックアップした時点まで戻せます)
次に、RESTOREでデータベース本体を戻し(ログが有るので継続で戻す)、順次バックアップしたログを、日時の早い順にRESTOREしてください。(最後は、先ほどバックアップしたファイルで、これで終わりの指定で戻します)
追記:
ログのバックアップはデータベースのプロパティの復旧モデルが完全の場合で、単純の場合は最後にデータベース全体をバックアップした時点の復元しか出来ません。
再追記:
補足で2か月前しか無いとの事ですので、実際に試したことは無いですが、やってみて下さい。
ManagementStudioで該当データベース上で右ボタン、タスクでデタッチ、でデータベース上から消えます。
データベース上で右ボタンでアタッチ、追加で該当mdfファイルを指定。
これで同じエラーとなった場合は、たぶん2か月前に戻すしか無いと思います。

質問した人からのコメント

2011/11/15 19:34:00

降参 返答ありがとうございました、一応アタッチが出来ない状態からの修復を試みたかったのです。 クエリを実行して緊急モードを起動してから、テーブルを一つずつエクスポートする手法を取りました。 知恵コインはご回答のお礼です。

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる