アプリ版:「スタンプのみでお礼する」機能のリリースについて

SQLServer2000

logデータを書き込む領域がなくなりましたというエラーメッセージが出ましたので、
logファイルを削除するためにデータベースをデタッチしました。
このときに何かのメッセージが出ましたが、強引にデタッチをしました。
logファイルを削除し、データベースをデタッチしようとしたところ、
「ログファイルとして指定したファイル名が間違っています。新しいログファイルが作成されます。続行しますか?」というメッセージが出ました。
「はい」を選択すると
「エラー 1813 新しいデータベース’データベース名’を開けませんでした。CREATE DATABASEは中断されます。デバイスアクティブ化エラー物理ファイル名’C:\Program Files\Microsoft SQL Server|MSSQL\Data\データベース名_log_LDFは正しくありません。’」
というメッセージが出て、アタッチに失敗してしまいます。

データベースを復元しましたが、logファイルが無いためか、一ヶ月以上前の時点までしか復元できません。

ldfファイルはありません。(ゴミ箱の中にも)
mdfファイルは残っていますので何とかなると期待しています。

大変困っています。
どなたか解決方法をご存知でしょうか。
ご教授よろしくお願いいたします

A 回答 (1件)

1.SQL Serverのエンジンを停止する。

(おそらく現時点ではしなくてもよい)
2.該当のmdfファイルをデータ格納場所以外のフォルダに移動する。
 例)「C:\Program Files\Microsoft SQL Server|MSSQL\Data\」が
  データ保存先である場合は「Dドライブ」の直下などに移動。
3.SQL Serverのエンジンを起動する。
4.1ヵ月前のデータベースを「mdf」、「ldf」共に
  「C:\Program Files\Microsoft SQL Server|MSSQL\Data\」
 へ復元する。
5.SQL Serverのエンジンを停止する。
6.「Dドライブ」に移動した「mdf」ファイルを
「C:\Program Files\Microsoft SQL Server|MSSQL\Data\」に複写する。
※ 上書きする。
7.SQL Serverのエンジンを起動する。
8.該当のDBにアクセスしてみる。

これで解決できると思います。

ちなみに「logデータを書き込む領域がなくなりました」というエラーメッセージ
が表示される原因は「復旧モデル」が「完全」になっているからと思われます。

差分バックアップを行わないDBであれば、「復旧モデル」は「単純」が最適とおもわれます。
 

 
    • good
    • 0

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

関連するカテゴリからQ&Aを探す