我处在一个我想要使用许多数据库的场景中。有些是在我的项目中,有些是外部的。我的应用程序将数据从外部数据库(一个驻留在远程机器中的数据。我知道ip和用户凭据)传输到我的临时数据库。我想在该数据库中创建表到我的数据库。这样做的最佳方法是什么?我会使用ASP.NET 3.5。任何建议,如WCF或Web服务?
答案 0 :(得分:2)
我将详细说明Richard&克里斯说 -
复制是一组技术 用于复制和分发数据和 数据库对象从一个数据库到 另一个然后同步 数据库保持一致性。 使用复制,您可以分发 数据到不同的位置和 本地和远程的远程或移动用户 拨号广域网 连接,无线连接和 互联网。
通常是事务复制 用于服务器到服务器方案 需要高吞吐量, 包括:提高可扩展性和 可用性;数据仓库和 报告;整合来自的数据 多个站点;整合 异构数据;和卸载 批量处理。合并复制是 主要是为移动设计的 应用或分布式服务器 有可能数据的应用程序 冲突。常见方案包括: 与移动用户交换数据; 消费者销售点(POS) 应用;和数据整合 来自多个网站。快照 复制用于提供 事务和的初始数据集 合并复制;它也可以使用 完全刷新数据时 适当。有了这三种类型 复制,SQL Server提供了一个 强大而灵活的系统 同步数据 企业。
除了复制之外,在SQL中 Server 2008,您可以进行同步 数据库使用Microsoft Sync Framework and Sync Services表示 ADO.NET。同步ADO.NET服务 提供直观,灵活的API 您可以用来构建应用程序 目标离线和协作 场景。
答案 1 :(得分:2)
你必须回答一些问题:
答案取决于这个问题,但一个简单的解决方案是使用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 :(得分:0)
我实际上并没有使用它,但我认为Microsoft Sync Framework是在考虑到这种情况的情况下创建的。
答案 3 :(得分:0)
听起来您需要了解数据库replication。