0

私は、多くのデータベースを操作したいシナリオにいます。一部は私のプロジェクトにあり、一部は外部にあります。私のアプリケーションは、外部データベース(リモートマシンに存在するもの。IPとユーザーの資格情報を知っている)から一時データベースにデータを転送します。そのデータベースのテーブルを自分のデータベースに作成したいと考えています。これを行うための最良の方法は何ですか? 私は ASP.NET 3.5 で作業します。WCF や Web サービスなどの推奨事項はありますか?

4

4 に答える 4

2

リチャードとクリスが言ったことを詳しく説明します -

レプリケーションは、データとデータベース オブジェクトをあるデータベースから別のデータベースにコピーして配布し、データベース間で同期して一貫性を維持するための一連のテクノロジです。レプリケーションを使用すると、ローカル エリア ネットワーク、ワイド エリア ネットワーク、ダイヤルアップ接続、ワイヤレス接続、およびインターネットを介して、さまざまな場所やリモート ユーザーまたはモバイル ユーザーにデータを配布できます。

通常、トランザクション レプリケーションは、高いスループットを必要とするサーバー間のシナリオで使用されます。データ ウェアハウスとレポート。複数のサイトからのデータを統合する。異種データの統合。バッチ処理のオフロード。マージ レプリケーションは主に、データの競合が発生する可能性があるモバイル アプリケーションまたは分散サーバー アプリケーション向けに設計されています。一般的なシナリオは次のとおりです。モバイル ユーザーとのデータ交換。消費者販売時点管理 (POS) アプリケーション。複数のサイトからのデータの統合。スナップショット レプリケーションは、トランザクション レプリケーションとマージ レプリケーションの初期データ セットを提供するために使用されます。データの完全な更新が適切な場合にも使用できます。これら 3 種類のレプリケーションにより、

レプリケーションに加えて、SQL Server 2008 では、 Microsoft Sync Framework と Sync Services for ADO.NETを使用してデータベースを同期できます。Sync Services for ADO.NET は、オフラインおよびコラボレーション シナリオをターゲットとするアプリケーションの構築に使用できる直感的で柔軟な API を提供します。

于 2009-08-11T11:02:13.897 に答える
2

いくつかの質問に答える必要があります。

  1. ソース データベースとターゲット データベースのスキーマは安定していますか?
  2. 同期中のダウンタイムを許容できますか?
  3. データと構造を転送しますか、それともデータのみを転送しますか?
  4. どのくらいの頻度で同期が必要ですか? (1 日 1 回または常に最新のデータ)

答えはこの質問によって異なりますが、単純な解決策の 1 つは、SMO と「転送」タスクを使用することです。

      Server srv = default(Server); 
   srv = new Server(); 
   //Reference the AdventureWorks database 
   Database db = default(Database); 
   db = srv.Databases("AdventureWorks"); 
   //Create a new database that is to be destination database. 
   Database dbCopy = default(Database); 
   dbCopy = new Database(srv, "AdventureWorksCopy"); 
   dbCopy.Create(); 
   //Define a Transfer object and set the required options and properties. 
   Transfer xfr = default(Transfer); 
   xfr = new Transfer(db); 
   xfr.CopyAllTables = true; 
   xfr.Options.WithDependencies = true; 
   xfr.Options.ContinueScriptingOnError = true; 
   xfr.DestinationDatabase = "AdventureWorksCopy"; 
   xfr.DestinationServer = srv.Name; 
   xfr.DestinationLoginSecure = true; 
   xfr.CopySchema = true; 
   //Script the transfer. Alternatively perform immediate data transfer 
   // with TransferData method. 
   xfr.ScriptTransfer(); 
于 2009-08-11T12:04:45.520 に答える
0

データベースのレプリケーションについて読む必要があるようですね。

于 2009-08-11T10:47:51.337 に答える
0

実際に使ったことはありませんが、Microsoft Sync Frameworkはこのようなシナリオを想定して作成されたものだと思います。

于 2009-08-11T10:42:51.380 に答える