LDFファイルからのロールフォワード

このQ&Aのポイント
  • SQL Server 2005 Express Editionを使用し、フルバックアップからリストアし、残っているldfからロールフォワードする方法について教えてください。
  • Windowsがフリーズしたため再インストールした後、フルバックアップと稼働中のmdfとldfファイルのみ残っている状況でデータを復旧する方法について教えてください。
  • LDFファイルからのロールフォワードによるデータの復旧方法について教えてください。
回答を見る
  • ベストアンサー

LDFファイルからのロールフォワード

SQL Server 2005 Express Editionを使用しています。 物理的に1つのディスクで、CドライブとDドライブがあり、 mdfもldfもDドライブに配置していました。 完全復旧モデルで、毎日データベースを夜間バックアップし、 ログファイルは、その後Truncate_onlyして切捨てを行っていました。 上記状況でシステム稼動中にWindowsがフリーズ、 電源を強制的に落としたところ、セーフモードでも 起動できなくなった為、再インストールしました。 こういう状況ですので、残っている物は、  ・前日のフルバックアップ  ・稼働中だったmdfとldf のみという状況です。 できる限りデータを復旧しようとした場合、 フルバックアップからリストアし、その後、 残っていたldfからロールフォワードという虫のよいことは できるのでしょうか? 良い方法があれば教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.1

LDFファイルでは無理ですが、稼働中だったファイルがあるならば、まずはMDF/LDFセットでアタッチしてみてはどうですか?

参考URL:
http://msdn.microsoft.com/ja-jp/library/ms179314(SQL.90).aspx
jonny2
質問者

お礼

ご回答ありがとうございます。 どうも、問題のMDFファイルのある場所自体に問題があるようで(ディスク障害と思われる)、 OSインストール直後なのに、問題のMDFファイルをリムーバブルディスクにコピーすることさえできませんでした(LDFファイルはできました)。 結局、別のディスクにOSインストールからやり直したので、 残っている物は、  ・前日のフルバックアップ  ・稼働中だったldf のみということになります。

その他の回答 (1)

  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.2

#1です。 LDFしかないのであれば、あきらめた方がいいでしょう。 1トランザクションでも復旧したいというケースであれば、ApexSQLLogなどのログマイナーツールを使う手もありますが、前日のバックアップ以降に発行したDDLがあると、かなり厳しくなります。

jonny2
質問者

お礼

ありがとうございました。 今回は前日バックアップからの復旧でよしとします。

関連するQ&A

  • SQLServer7.0のLDF圧縮

    お世話になってます。 あるサーバー(サーバーA)上のSQLServer7.0で作成したバックアップファイルを 復元先のサーバー(サーバーB)に復元したところ、MDFファイルが3GBに対し、 LDFファイルが100GBありました。 LDFファイルのサイズを圧縮しようと、SQLServer7.0のメニューで、    1. フルバックアップ  2. トランザクションログの切り捨て  3. 圧縮  ※以下「1.」、「2.」、「3.」を何度か繰り返し。 を行ってみましたが、300MB程度減っただけで、それ以上は小さくなりませんでした。  SHRINKDATABASE  や  TRUNCATE も試してみましたが、サイズ、変わりませんでした。 他に試すことはありますでしょうか?

  • ロールバックとロールフォワード(データベーススペシャリスト試験)

      t0  t1  t2   t3   t4   t5         |           | A s---e  |           |         |           | B s-------------e       |         |           | C s------------------------|         |           | D       |   s----e   |         |           | E       |   s---------| 図がずれていたらごめんなさい。 A~Eはトランザクション sはトランザクション開始 eはコミット t0~t5は時間を表していて 時間t2でチェックポイント 時間t5で障害が発生したとします。 参考書によると復旧時に CとEはロールバックを行い、 BとDはロールフォワードを行うとあります。 B、C、Dはわかるのですが Eにロールバックが必要な理由がわかりません Eを再び実行するためにはデータは トランザクションを開始したt3時点の状態であればよいはずです。 そしてチェックポイント(=t2)の状態はt3と同じなので、 Eの更新前ファイルを使ってデータをロールバックする必要はないように思えます。 どこで間違っているでしょうか。。。

  • exeやbatで2000のバックアップを2005で復旧

    現在のシステム(SQLServer2000)でexeからRestoreDatabaseを行っているのですが、同じくexeでBackupDatabaseを行って作成したバックアップファイルをSQLserver2005で復旧すると(RestoreDatabaseおよびSQL Server Management Studio Expressを使用した手動復元)両方ともエラーが出てしまい復旧できません。 原因としては2000と2005のLDFファイルおよびMDFファイルの場所が違うせいかと思われ、手動で復元する際に詳細設定でLDFファイルおよびMDFファイルの場所を指定し直してやれば問題なく復旧ができるのですが、システムを使用する人がパソコンに詳しい人でないため、SSMSEなどを使った手動操作を案内することが不可能と思われるため、batもしくはexeを配布して対応ができればというところです。 RestoreDatabaseなどを行う際に、対象とするMDFファイルおよびLDFファイルを指定することは可能でしょうか?

  • sp_attach_db実行のバッチファイル作成

    同じデータベースをコピーするというルーチンワークを処理するために,Query Ananyserで実行するsp_attach_dbをバッチファイルで処理したいと考えています。 copyコマンドでマスターとなる物理データベースをコピーした後に,osqlコマンドを使用して出来るかと考えたのですが,osql -E を実行するところで止まってしまいます。 現在作成しているバッチファイルには下記のように書いています。 copy D:\Test_xx.mdf D:\Test_00.mdf copy D:\Test_xx.ldf D:\Test_00.ldf osql -E sp_attach_db 'Test_00', 'D:\Test_00.mdf', 'D:\Test_00.ldf' go 何とか自動でデータベースがattachされるようにしたいのですが,どなたか御指南下さい。何卒宜しくお願い申し上げます。

  • SQLServerバックアップ戻せない

    SQL Server2012 Expressで作成したデータベースをUSBメモリにバックアップしました。 最近、マシントラブルでドライブが死んだので、SQL Serverも入れ直し、データベースをリストアしようとしましたが、うまくできません。 具体的には、データベースを右クリックして「タスク」→「復元」→「データベース」として、デバイスを選ぼうとすると、バックアップファイルの拡張子がbakとtrnとなっており、USBメモリに記録されているmdfとldfではありません。 すべてのファイルを表示させ、それらを選択しても、データベースの復元ダイアログのOKボタンがグレーアウトのままです。 「タスク」→「復元」→「ファイルおよびファイルグループ」なのかな?と思って、やってみてもやはり、拡張子が違います。 同じようにmdfとldfを選択してみると、 「デバイス'データベース名.mdf'のメディアファミリが正しい形式ではありません」 「RESTORE HEADERONLYが異常終了しています。(エラー:3241)」 とのダイアログが出て復元できません。 私はバックアップを失敗したのでしょうか? 何とか、一部のデータでも復元できないでしょうか? よろしくお願いいたします。

  • SQL Server 2000の物理ファイルデータ破損からの復旧について

    こんにちは。アべです。 SQL Server 2000の物理ファイルデータ破損からの復旧について アドバイスを頂きたいと思い、登校させて頂きました。 経緯 データベースサーバがOS毎、緊急停止し、故障しました。 DBサーバのファイルを他のサーバに接続して復旧をかけると 下記のようなエラーになり困っております。 現在は、バックアップもない状態であり、どうしても mdfファイルとldfファイルから復旧をかけたいと考えております。 何か他にやったほうがいい復旧手順や オプションはルのでしょうか? 何かアドバスがあればご教授をお願い致します。 壊れたところ以外のデータでも復旧できると助かります。 存在するファイルは、mdfファイルとldfファイルのみで、 バックアップありません。 すみませんが、宜しくお願い致します。 ↓やって見たこと アタッチを2000、2005(SP3)、2008(SP1)で実施してみましたが、失敗しました。 EXEC sp_attach_db @dbname = N'HOGE', @filename1 = N'F:\SQLData\HOGE\HOGEBACKData.mdf', @filename2 = N'F:\SQLData\HOGE\HOGEBACK_log.LDF' メッセージ 824、レベル 24、状態 6、行 1 SQL Server で、一貫性に基づいた論理 I/O エラーが検出されました: 正しくないページ (必要な署名: 0xaaaaaaaa、実際の署名: 0x3ee6da2a)。このエラーは、ファイル 'F:\SQLData\HOGE\HOGEBACK_log.LDF' のオフセット 0000000000000000 にあるデータベース ID が 0 のページ (0:0) の 読み取り 中に発生しました。SQL Server エラー ログまたはシステム イベント ログ内の別のメッセージで詳細情報が報告されることもあります。このエラー状態は深刻で、データベースの整合性を損なう可能性があるので、すぐに解決する必要があります。完全なデータベース一貫性確認 (DBCC CHECKDB) を実行してください。このエラーには多くの要因があります。詳細については、SQL Server Books Online を参照してください。 ↓ログをリビルドで復旧もやってみましたが、これも駄目でした。 CREATE DATABASE HOGE ON PRIMARY (FILENAME = 'F:\SQLData\HOGE\HOGEBACKData.mdf') FOR ATTACH_REBUILD_LOG ファイル アクティブ化エラー。物理ファイル名 "D:\DATA\SQLDATA\HOGEBACK_log.LDF" が正しくない可能性があります。 データベースが明確にシャットダウンされなかったので、ログを再構築できません。 メッセージ 1813、レベル 16、状態 2、行 1 新しいデータベース 'HOGE' を開けませんでした。CREATE DATABASE は中止されます。 以上

  • FreeBSDバックアップ & リストアについて

    FreeBSDバックアップ & リストアについて 現在、中規模の会社のシステム管理をしております。 と言っても、半年前から初めてシステム管理者をしております。 UNIX&Linuxはわからない事だらけで、毎日苦悩しております。 稼動しているサーバは、重要なデータ以外バックアップを取得していたく 定期的にバックアップを取得しようと考えております。 FreeBSDで、システムフルバックアップの実施のやり方と リストアはどのように実施するれば良いのでしょうか? tarコマンドを使用し、バックアップを取得しリストアも出来るのでしょうか?

  • TRUE IMAGEでのリストア

    TRUE IMAGE WD editionでバックアップしたtibファイルを リストアしたいのですが、初めてなので教えてください。 バックアップしたドライブ Cドライブ:システムドライブ(SSD) Dドライブ:プログラムファイル(SSD) 上記2ドライブをtibでバックアップしてあります。 最近ネットに接続できなくなり、いろいろやってみましたが 接続不可能な状況が変わらないのでいっそのことリストアしようと 思っています。 とはいえ、TRUEIMAGEはリストアに失敗する可能性もあるようなので 別のHDDを新たにPCに接続してそのHDDにCドライブをリストア しようと思います。 このHDDをCドライブとして起動し成功が確認できたら保険ができたこと になるので、本番としてSSDのCドライブを接続し windowsを起動してCドライブをリストアしようと思っています。 もしCドライブのSSDへのリストアが失敗しても先程のHDDを使えば いいし、もしくはそのHDDからSSDへクローンすれば元通りになると思います。 このような計画でやって大丈夫でしょうか? 不安なのは、SSDのリストアがきちんと成功するかです。 またCドライブとDドライブをバックアップしたtibで Cドライブのみリストアできますか? Dドライブはただのプログラムファイルなので、リストアするほどの ことではないような気もします(必要ならリストアします)。 ちなみにバックアップしたtibファイルは10日ほど前のもので 今日まで新たにソフトをインストールなどはしていません。 windows updateはありました。 どうぞよろしくお願いいたします。

  • アークサーブのリストア時不具合について

    アークサーブでデータのセッション単位でリストアを試みたところDドライブが丸ごとバックアップされ下位の階層単位でリストアできない状況です。対応方法などあればおしえてください。

  • 【SQL Server2005】mdfファイルが壊れた後のトランザクションログバックアップ

    OS:Windows Server 2003、DB:SQL Server 2005 Developer Edition を使用しています。 データファイル:test.mdf、ログファイル:test_log.ldfでtestデータベースを構成後、SQL Serverサービスを停止し、test.mdfファイルの名前を変更、test.mdfが壊れたものと仮定します。 その後、SQL Serverサービスを起動すると、testデータベース上にmdfファイルが見つからないエラーが発生します。 この状態でトランザクションログを救出するため、SQL Server Management Studioでトランザクションログバックアップを実行させます。 しかし、この際、右クリックのメニューからバックアップを選択することができず、トランザクションログバックアップができません。 この状態でトランザクションログバックアップを行うにはどのようにすればよいのでしょうか。 どなたかご存知の方がいらっしゃれば教えてください。