2009-08-25 8 views
0

私たちはデータベースをホストしていません。今は、1人がプロダクションサーバーから.bakファイルを手動で作成しています。その後、.bakは各開発者のPCにコピーされます。このプロセスをより簡単にするためのより良い方法がありますか?私は私たちのチームのために今すぐビルドプロジェクトに取り組んでいます、私はSVNに.bakファイルを追加することを考えていますので、それぞれの人が正しいローカルバージョンを持っていますか?私はSQLスクリプトを生成しようとしましたが、スキーマだけのデータはありませんか?Sqlのバックアップまたはミラーリングの方法は?

+0

あなたのチームは同じ場所にいますか? – JeffO

+0

はい、私たちは共同で – user154366

答えて

1

開発者は1つのdevデータベースを共有できません。

.bakファイルをSVNに追加すると、音が鳴りません。それはすべてのバージョンを永遠に保つことになります。ほとんどの場合、すべての開発者が見えるネットワーク共有上に置いてコピーしておく方が良いでしょう。

SSIS packagesを使用すると、開発者がプロ​​ダクションの臨時コピーを作成することができます。

Data Publishing Wizardは、データベースでデータをスクリプト化できるオープンソースプロジェクトです。しかし、開発者が独自のデータベースのコピーを必要とする場合、私はSSISに頼るでしょう。

+0

現在、各開発者はSQL Server 2008の開発者を実行しています。現在、私たちはSQL Serverデータベースをホストしていません。私の心配は私がユニットテストをしていて、誰もが同じバージョンのデスクトップを持っていることを確認したいのですか?私はそれをすべての人にとって同じにしたい。 – user154366

+0

+1:いいアイデアのようです。また、各開発者が本番データベースの完全なコピーを必要とすることはほとんどありません。最新のスキーマを使用しますが、テストデータを使用します。 –

+0

テストする生産と同じデータを用意する必要がありますか? – user154366

1

プロダクションサーバーにサイトへのオンライン接続がある場合は、「ログ配布」という方法を試すことができます。

これは、本番データベースのベースラインコピーを作成した後、本番サーバーに書き込まれたトランザクションログのチャンクを取得し、ログチャンクをコピーに適用します。これにより、バックアップデータベースが本番データベースと同じ状態になるのを一定の遅延の後に確実に行います。

詳細情報はここで見つけることができます:http://msdn.microsoft.com/en-us/library/ms187103.aspx

あなたがタグの中でSQL 2008を述べたように:限り、私はSQL2008を覚えているとしてこれを設定するにはオートマのいくつかの種類があります。

+0

を使って作業していますが、この "ログ配送"方法を選択すると、標準の.bakバックアップをやめ、COPYONLYバックアップを使用する必要があります。私が知る限り、標準的なバックアップはログ配布を「中断」する可能性があります。私はそれについて間違っているかもしれないが、私は慎重だ。 – djangofan

0
  1. あなたはあなたがバックアップ、だってのための開発者のPCに持っていないバックアップスケジュールを作成し、
  2. を復元することができます。 SQLサーバーには、それを使用できる独自のバックアップフォルダがあります。
  3. 開発者がデータベースをローカルシステムに保持したい場合は、各PC用に生成されたリストアスクリプトを1か所から作成することもできます。

RESTORE DATABASE [xxxdb]

ディスクから= N '\ XXXX \ XXX \ XXX \ xxxx.bak' FILE = 1、NOUNLOADは、REPLACE WITH

、STATS = 10

GO

0

RedGateからSQLソースコントロールをチェックすると、スキーマとデータをソース管理リポジトリと同期させることができます(docsはSVNをサポートしています)。これは、集中配備されたサーバ上のデータベース、または多くの開発者マシン上のデータベースをサポートします。

データをスクリプト化することは、データの量に応じて誰もが楽しめる時間になるとは限りませんが、参照するテーブルを選択してより大きなビジネスエンティティテーブルを作成することもできますSSIS(またはテスト用のデータジェネレータ)を使用します。

関連する問題