• 締切済み

開発環境の作り方はどうしたらいいでしょうか?(本番大容量→開発小容量)

お世話になります。 いい知恵や参考文献などありましたら、ご教授下さい。 開発環境の作り方はどうしたらいいでしょうか? サーバーはSQLServer2005です。 サーバーの用途は基幹系ではなく情報系として使用しており、実績がたくさん入っています。 そして本番環境から開発環境を簡単に作成したいと考えています。 方法として考えられるのはデータベースのコピー(バックアップファイルからの戻し)ですが、 これでは本番環境と同じ容量の開発環境が必要になってしまいます。 開発環境は本番環境よりも容量が小さく、本番環境にはすぐには使わない古い実績も入っているため、 それらは開発環境には必要ありません。 理想としては、データベースのコピーをする際に、オプション機能として、 ●特定のテーブルの件数を指定する。 ●WHETE文(年月が2008/4以降)の条件式を加える。 ができればいいのですが・・・。 何かいい方法はありませんでしょうか? 時間はかけたくないので、30分ほどの準備作業で終わらせたいです。 尚、以下は考えておりません。 ●ソースからテーブルやストアドなどを順に作成して、データを移す。 ●本番環境のデータを開発環境に合わせて絞ってもつ。 ●開発環境を本番環境と同じものにする。 何年もDBを触っていながら素人同然の質問ですが、よろしくお願いします。

みんなの回答

  • JYR
  • ベストアンサー率0% (0/0)
回答No.3

> これですが、本番環境上で複製をするという意味でしょうか? はい、そうです。 この方法では一時的に十分な空き領域が必要ですので、今回の例では使えないですね。 (あまり参考にならなくてすいません)

pt24
質問者

お礼

お世話になります。回答有難うございます。 やはりそういうことですか・・・。 本来は作業領域なども考えると半分くらいは空き領域は残しておくべきという考え方もあります。 正確にはまだ余裕はあるのでアドバイス頂いたやり方をとる事は可能です。 いずれにせよ、有難うございました。

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

そのデータベースと同じサイズの空き領域が一時的にでもないと、本来は目的の作業はできないと思います。 ただし、対象のオブジェクトがテーブル、ビュー、ストアド、ユーザ定義関数程度であれば、ワンタイムのスナップショットレプリケーションを設定する方法はとれると思います。 (スナップショットレプリケーションの場合、対象行の条件指定が可能なため、必要なデータだけ送ることができます。  また、ビューやストアドも送れます) まあ、そこまでやるか、という気もしなくはないのですが。。 実装については、細かく説明できる内容でもないので、もし設定したことがなければ、MSDNなどで大枠はつかんでいただく必要があると思います(試すのは比較的簡単にできます)。

  • JYR
  • ベストアンサー率0% (0/0)
回答No.1

はじめまして。 バックアップと復元を使うのであれば、こんなのはどうですか?  1、本番環境上で対象のユーザデータベースをコピー  2、コピーしたデータベースに存在する全ユーザテーブルに対し、DELETE文を実行してデータ件数を減らす  3、コピーしたデータベースを圧縮  4、圧縮後のデータベースをバックアップ  5、バックアップを開発環境で復元  … DELETE実行に時間がかかるかもしれませんが、事前にSQLを準備しておけば本番環境上での作業は簡単だと思います。 ちなみに私のところでは、調査等の目的がある場合に本番環境のデータベースをコピー→機密情報のマスク処理→バックアップ、開発環境に復元、といった操作をしています。  

pt24
質問者

お礼

お世話になります。回答有難うございます。 1、本番環境上で対象のユーザデータベースをコピー これですが、本番環境上で複製をするという意味でしょうか? 仮に本番環境が1TBだった場合は、500GBまでしか使用できないということになるのでしょうか? そうなるとまた都合が悪いのですが・・・。 上記の例でいうと1TBのサーバーで、850GB使用していて、150GBの開発環境が作れないかな?という感じです。 私の認識が間違っていたら、再度ご教授下さい。

関連するQ&A