0

2 つのサーバー (Dev ボックスと Live ボックス) 間でオブジェクト (テーブル、ストアド プロシージャ、データなど) を転送したいのですが、これを行うための最善の方法は何ですか?

SQL Server 2000 では、すべてのオブジェクトとデータをデータベース間で転送できました。あとは「データのコピー」と「クエリの書き込み」だけです。2番目のオプションはどこに行ったのですか?

どちらのデータベースも SQL 2005 (サービス パック 2) です。転送時には、ASP.NET 認証に関するすべてのビューやその他の関連データと同様に、主キーと関係をそのまま維持する必要があります。Integration Services はライブ サーバーでセットアップされていないため、これはオプションではありません。

私が考えることができる唯一の方法は、スクリプトを生成してから他のサーバーで実行することですが、それは古い方法よりも時間がかかります (これが私が現在行っている方法です)。

4

5 に答える 5

2

支払う意思がある場合は、Red Gateの Sql Compare と Sql Data Compare をお勧めします。

非常に便利な製品。

于 2009-05-11T10:24:38.620 に答える
0

アプリケーションの範囲や開発者の数などについて言及していないため、推奨事項を作成するのは少し困難です。ただし、開発が複数の並行プロジェクトと複数の開発者で構成されていて、開発から運用にコピーしている場合は、次のようなものをお勧めします。

  • 開発、品質管理、生産の 3 つの「領域」を実装します。
  • dev ですべての変更を作成し、スクリプトですべての変更を作成し、cvs や sourcesafe などを使用してすべてのオブジェクトの変更を追跡します
  • 変更の準備ができてテストされたら、qa でスクリプトを実行します。これにより、スクリプトとインストール手順が検証されます。
  • 準備ができたら、スクリプトを実行し、本番環境で手順をインストールします

注: qa は、適用された変更が最終的な製品のインストールを待っていることを除いて、製品とほぼ同じです。dev には、進行中の作業の変更、追加のデバッグ ジャンクなどが含まれます。定期的に qa および dev に本番バックアップを復元して、それらを再同期できます (すべての開発者がこれを認識し、それに応じて計画していることを確認してください)。開発者) 彼ら (本番 vs. qa vs. 開発) は、時間の経過とともにより多くの違いを被り始めます。

于 2009-05-11T13:34:25.300 に答える
0

データベース公開ウィザード

http://sqlhost.codeplex.com/

于 2009-05-11T10:15:43.547 に答える
0

「データベースのコピー ウィザード」を使用できるので、Integration Services をインストールしていないのは残念です。これにより、宛先サーバーで実行される SSIS パッケージが作成されると思います。

Visual Studio 2008 を使用している場合は、データ比較ツールとスキーマ比較ツールを試すことができます。

于 2009-05-11T10:22:17.767 に答える
0

あなたの最善の策は、おそらくスキーマとデータの比較ツールです。http://www.mssqltips.com/tip.asp?tip=1069にはさまざまなツールがリストされています。

于 2009-05-11T10:24:16.857 に答える