SQLServerメモ

提供: Astarisk Works Wiki

MicrosoftのSQLサーバのメモ。

目次

データファイルについて

データファイル .mdf テー-ブル、データ、ビュー、ストアドプロシージャ、インデックス等が格納されている。
トランザクションログ .ldf データの変更履歴が格納されている。


バックアップについて

システムを止めてオフラインにしてもかまわないならば、DBを止めてデータファイル一式をコピーすればバックアップとなる。

ただ、今時のシステムではなかなか止められない、そこでSQLサーバの管理しシステムを使ってオンラインでバックアップを生成するのが普通の運用といえよう。

その場合、次の3種類を選択する。

  1. フルバックアップ
  2. トランザクションログバックアップ
  3. 差分バックアップ

それぞれのメリットデメリットは次の通り

種類 メリット デメリット
フルバックアップ
  • バックアップをとった時点の状態に戻せる
  • データベースが大きいとバックアップ、リストアに時間がかかる
トランザクションログバックアップ
  • 特定の時間の状態にデータを戻すことができる
    (障害からの復旧だけでなく、ユーザ操作によるデータの損失も回復できる可能性がある)
  • ベースとなるフルバックアップが無ければリストアできない
  • 更新の多いシステムではログファイルが大きくなる
差分バックアップ
  • 一回のバックアップの容量が小さく時間も短くかかる時間も短い
  • ベースとなるフルバックアップが無ければリストアできない

リストア手順

障害時の復旧手順の概略は次の通り

  1. トランザクションログのバックアップをNO_TRUNCATEオプションをつけて取る
  2. NoRecovery(もしくはStandby)オプションをつけてフルバックアップをリストアする
  3. フルバックアップ以後に取ったトランザクションログをNoRecovery(もしくはStandby)オプションをつけてリストアする
  4. 障害後に取ったトランザクションログのバックアップをRecoveryオブションをつけてリストアする

これで障害発生直前の状態に戻せる。


ミラーリングによる冗長構成

ミラーリング構成を作るには、次の3つのノードが必要になる。

プリンシパル 稼働系のデータベースサーバ
ミラー 待機系のデータベースサーバ(NoRecoversy状態のため直接データにアクセスできない)
ウィットネス プリンシパルとウィットネスを監視し、ミラーリングを実現する。プリンシパルに障害が発生するとフェールオーバーさせる





個人用ツール