- ベストアンサー
SQL Server 2008のデータベースリカバリについてのポイントを教えてください
- SQL Server 2008では、システムデータベースとユーザデータベースの両方をリカバリする必要がありますが、ユーザデータベースだけを復旧させることも可能です。
- トランザクションログを使用する場合、更新直前まで戻す必要はありません。
- データベースをバックアップする際に、バックアップ対象のデータベースに更新がかかった場合、バックアップデータには更新内容が反映されます。また、更新を始める際には排他制御がかかります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
#1です。 >この部分について、厳密とは言えないものの、取りあえずはオンラインバックアップ中に何らかの更新処理があった場合に、そのバックアップが完了した後、更新分の差分バックアップが自動で走って最新の状態になるという認識でよろしいでしょうか? 基本その理解でいいかと思います。 SQL Serverがコアのバックアップ処理を終了してLSN(ログシーケンス番号)をチェックするタイミングが厳密にいつなのか外からは分からないのですが、実際にバックアップ中に更新してみるとある程度は確認できます。
その他の回答 (1)
- jamshid6
- ベストアンサー率88% (591/669)
1.ユーザデータベースの復旧は、対象データベースのリストアだけで完了し、システムデータベースをリストアする必要はありません。 2.オンラインバックアップ中でも、INSERT/UPDATE/DELETEなどは通常問題なく更新できます。 (データベースレベルの一部の特殊なオペレーションを除く。詳細は以下の「バックアップ中の同時実行の制限事項」参照) http://technet.microsoft.com/ja-jp/library/ms175477(SQL.90).aspx オンラインバックアップでは、SQL Serverがバックアップ開始時とバックアップ終了時にログへの書き込み状況をチェックすることにより、バックアップ中の更新もバックアップに含めるようにしますが、そのような仕組みであるため、オンラインでのフルバックアップは、特定時点での更新状態を厳密に保存したものではありません。 このあたりについて、詳細な内容が知りたい場合は「インサイドSQL Server 2005 ストレージエンジン編」という書籍をご覧ください。 (バックアップのメカニズムについては2005/2008で差はありません)
お礼
親切なご回答ありがとうございます。 回答内容について、1点質問があるのですが >オンラインバックアップでは、SQL Serverがバックアップ開始時とバックアップ終了時にログへの書き>込み状況をチェックすることにより、バックアップ中の更新もバックアップに含めるようにしますが、そ>のような仕組みであるため、オンラインでのフルバックアップは、特定時点での更新状態を厳密に保存し>たものではありません。 この部分について、厳密とは言えないものの、取りあえずはオンラインバックアップ中に 何らかの更新処理があった場合に、そのバックアップが完了した後、更新分の差分バックアップが 自動で走って最新の状態になるという認識でよろしいでしょうか?
お礼
しばらく回答〆切にするのを忘れていました。 改めて御礼申し上げます。 助かりました。 ありがとうございました。