【问题标题】:Best approach for data transfer from remote database to local database将数据从远程数据库传输到本地数据库的最佳方法
【发布时间】:2009-08-11 10:34:52
【问题描述】:

我处于一个想要使用多个数据库的场景中。有些在我的项目中,有些在外部。我的应用程序会将数据从外部数据库(驻留在远程机器中的数据库。我知道 ip 和用户凭据)传输到我的临时数据库。我想将该数据库中的表创建到我的数据库中。最好的方法是什么?我会使用 ASP.NET 3.5 。有没有 WCF 或 Web 服务之类的建议?

【问题讨论】:

    标签: asp.net .net-3.5 data-transfer


    【解决方案1】:

    你必须回答自己一些问题:

    1. 是源和目标的架构 数据库稳定吗?
    2. 您能否承受同步期间的停机时间?
    3. 您是传输数据和结构还是仅传输数据?
    4. 您需要多久进行一次同步? (每天一次或总是最近的数据)

    答案取决于这个问题,但一个简单的解决方案是使用 SMO 和 "Transfer" task。

          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(); 
    

    【讨论】:

      【解决方案2】:

      我会详细说明 Richard 和 Chris 所说的 -

      复制是一组技术 用于复制和分发数据和 数据库对象从一个数据库到 另一个然后在之间同步 数据库以保持一致性。 使用复制,您可以分发 数据到不同的位置,并 远程或移动用户通过本地和 广域网、拨号 连接、无线连接和 互联网。

      事务复制通常是 用于服务器到服务器的场景 需要高吞吐量, 包括:提高可扩展性和 可用性;数据仓库和 报告;整合来自的数据 多个站点;整合 异构数据;和卸载 批量处理。合并复制是 主要为移动设备设计 应用程序或分布式服务器 有可能数据的应用程序 冲突。常见的场景包括: 与移动用户交换数据; 消费者销售点 (POS) 应用程序;和数据整合 来自多个站点。快照 复制用于提供 交易和交易的初始数据集 合并复制;它也可以使用 当数据完全刷新时 合适的。有了这三种类型 复制,SQL Server 提供了一个 强大而灵活的系统 跨您的数据同步 企业。

      除了复制,在 SQL Server 2008,可以同步 数据库使用Microsoft Sync Framework and Sync Services ADO.NET。 ADO.NET 的同步服务 提供直观灵活的 API 可用于构建应用程序 以离线和协作为目标 场景。

      【讨论】:

        【解决方案3】:

        我并没有真正使用过它,但我认为Microsoft Sync Framework 是在考虑到这种场景的情况下创建的。

        【讨论】:

          【解决方案4】:

          听起来你需要了解数据库replication。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2013-09-15
            • 2011-06-29
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多