2013年2月18日月曜日

◆オフラインバックアップ

SQLServerの自習書に沿ってバックアップと復元を試してみる

オフラインバックアップ
テスト用データ作成
  1. 「Management Studio」を起動してSQLServerへ接続
  2. 「クエリエディタ」を起動
    image
  3. 以下のSQLを張り付ける

    -- データベース「sampleDB」の作成
    CREATE DATABASE sampleDB
    go
    -- テーブル「t1」の作成
    USE sampleDB
    CREATE TABLE t1 (a int)
    -- データの追加
    INSERT INTO t1 VALUES(1)
    INSERT INTO t1 VALUES(2)
    SELECT * FROM t1

  4. 実行
    image
SQLServer関連のサービスの停止
  1. 「Win + R」で「ファイル名を指定して実行」を開き「services.msc」で「サービス」ウインドウを開く
  2. 「SQLServerAgent」サービス」を停止(起動していない場合もあり)
    image
    「PowerShell」コマンドでやる場合は
    >Stop-Service SQLSERVERAGENT
  3. 「MSSQLServer」サービスを停止
    image
    「PowerShell」コマンドでやる場合は
    >Stop-Service MSSQLServer -Force
データファイルのバックアップ
  1. 「エクスプローラ」を開く
  2. 「SampleDB.mdf」と「SampleDB_log.ldf」を適当な場所へコピーする
    (通常は、「C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA」に存在するはず)
障害のシュミレート

オリジナルの「SampleDB.mdf」と「SampleDB_log.ldf」をエクスプローラで削除してみる。

SQLServer関連のサービスの開始

停止の時と同様の手順でサービスを開始する。
開始は、「MSSQLServer」「SQLServerAgent」サービス」の順に行う。

「PowerShell」コマンドで行う場合は、

>Start-Service MSSQLSERVER
>Start-Service SQLSERVERAGENT
エラーの確認
  1. 「SQLServerManagementStudio」を起動
  2. 「オブジェクトエクスプローラ」で「データベース」「SampleDB」を展開
  3. 以下のエラーが表示されるのを確認する
    image
SQLServerログの確認
  1. 「SQLServerManagementStudio」を起動
  2. 「オブジェクトエクスプローラ」で「管理」「SQL Server ログ」を展開し「現在 - 」をダブルクリック
    image
  3. 「ログファイルの表示」ウインドウで「フィルター」をクリック
    image
  4. 「フィルターの設定」で「テキストを含むメッセージ」に「SampleDB」を指定して「フィルターの適用」をチェックして「OK」
    image
  5. 「指定されたファイルが見つかりません」といったエラーが確認できる
    image
バックアップからの復元
  1. サービスの停止
  2. バックアップしていた「SampleDB.mdf」と「SampleDB_log.ldf」をコピーして元に戻す
  3. サービス開始
  4. 「SQLServerManagementStudio」を起動し「SampleDB」にアクセスできるようになったことを確認する
オフラインバックアップを別のマシンに復元
データベースを削除

別のマシンをシュミレートするために「SampleDB」を削除する

  1. 「SQLServerManagementStudio」で「Ctrl + N」で新しいクエリを開き以下のSQLを実行

    USE master
    DROP DATABASE sampleDB


    ツリービューで展開していたりすると以下のようなエラーになるので閉じてから再実行
    image
    それでも排他される時は以下のSQLで強制終了してから再実行する

    USE master
    ALTER DATABASE sampleDB
    SET SINGLE_USER WITH ROLLBACK IMMEDIATE

0 件のコメント:

コメントを投稿