SQLServerのデータ復元(2012→2008)について

以前開発したシステムのデータベースをユーザ先からお預かりし、
社内テスト用に復元させようとしたが、ユーザ先のSQLServerのバージョンが「2012」と新しく
社内のバージョン2008への復元ができなかった・・・・

通常は、ManagementStudioでデータベースの所で右クリック→ データベースの復元を行うのだが、
新しいバージョンのものを復元しようとすると失敗する。

そこで、自分のデスクトップPCに2012Expressをインストールして、
1ステップ追加してみることに・・・

・元データがSQLServer2012のバックアップ
・先がSQLServer2008
・自分のデスクトップが2012Express

まず、預かった2012のバックアップデータを
ManagementStudio2012で自分のPCへふつうに復元。
ManagementStudioのオブジェクトエクスプローラで先のデータベースへ接続すると
2つのデータベースのバージョンが()で表示されます。

SQLServer10.50.1600とSQLServer11.0.5058

次に、元となるふつうに復元したデータベースの所で、右クリックし、「タスク」→「データのエクスポート」を選択。
ポップアップにてウィザードが立ち上がるので、
「次へ」

データソースの選択
・データソース:SQLServerNativeClient11.0
・サーバ名:Expressのサーバ
・認証:接続の認証なので、Windows認証かSQLServer認証を選択
・データベース:選択されたデータベースがすでに設定されいる(違ったら、ここで再度選択)
「次へ」

変換先の選択
・変換先:SQLServerNativeClient10.0(先のデータベースが2008なので)
・サーバ名:変換先のサーバ名
・認証:そのサーバへの認証方法を選択
・データベース:新規作成ボタンをクリック→「データベース作成」ポップアップにて、作成。
「次へ」

テーブルのコピーまたはクエリーの指定
・「1つ以上のテーブルまたはビューからデータをコピーする」を選択
「次へ」

コピー元のテーブルおよびビューの選択
・チェックボックスにて変換するテーブルとビューを選択します。
「次へ」

パッケージの実行
・「すぐに実行する」のチェックボックスで選択。(チェックをはずすと「戻る」ボタンしか選択できない)
「次へ」

エクスポートが実行されるので、エラーが無いかチェックし問題なければ、
2008への復元が完了です!!!

システムでデータベースにアクセスし、問題なければ以上で復元OK!

他のデータベース製品よりもツールが充実しているのはいいが、
バックアップ→リストアはバージョンに依存しないようにしてほしいものです。

カテゴリー: Windows, システム開発, データベース, SQLServer   パーマリンク

SQLServerのデータ復元(2012→2008)について への3件のコメント

  1. nag@ より:

    エクスポートの場合、ビューはテーブルに出力され、関数はエクスポートされないので、
    新規に作成しなければだめです。

  2. より:

    ちゃんと出来ますか?一応試します。

  3. nag@ より:

    ご訪問ありがとうございます。
    テーブルによっては、いくつかパターンがあるかもしれませんので、
    もしちゃんとできないテーブル等ありましたら、
    ご連絡いただけるとありがたいです。

    こちらでも試してみます。

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*


− one = 5

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>