2009-07-02 59 views
0

这是我第一次尝试构建一种wiki(一般),请支持! :) 我正在编译一个处理传输和分发数据的方法列表。请将您的想法添加到我的列表中。我会更新文件并重新发布,以便让所有人受益。如果我错过了一种方法,请告诉我,我会编辑它!数据传输和分发方法

  1. 复制
  2. BCP /大容量插入
  3. 分布式查询/链接服务器
  4. SSIS

复制

  1. 应用需要数据从一个被合并或更多ervers到中央存储库
  2. 将您的报告功能把你的主SQL服务器到一个单独的SQL服务器
  3. 支持大量的用户群来自多个服务器的
  4. 需要过滤的行/列

BCP/Bulk Insert

我对BCP实用程序并不是很熟悉,或者根据其他可用服务,它可能会有所帮助。这是贡献会有帮助的地方!但这里是我能收集:

  1. BCP:转让的事情很快
  2. 批量插入:有用的在线T-SQL的解决方案。可以预定。然而,数据格式必须是非常干净

分布式查询/链接服务器

  1. 链接服务器:提供获取更广泛的数据源不是SQL Server复制提供
  2. 链接服务器的:与复制不支持的数据源或需要临时访问的数据源连接
  3. 链接服务器:表现比OPENDATASOURCE或OPENROWSET更好
  4. OPENDATASOURCE和OPENROWSET功能:便于从临时数据源中检索数据。 OPENROWSET拥有BULK设施以及可能/可能不需要格式文件,可能是fiddley
  5. OPENQUERY:不支持变量
  6. 所有是T-SQL解决方案。比较容易实现,并成立
  7. 所有依赖于源和destionation之间的连接可能会影响性能和可扩展性

SSIS 我同样不具有SSIS很多经验。这是我知道的:

  1. 连接到不同的数据库

你有什么经验和体会关于上述所有的方法呢?

回答

0

SSIS可以做的不仅仅是移动数据。它可以对XML文件执行操作,调用Web服务,发送电子邮件,执行任意脚本(2005年为VB.NET,2008年为C#)。它可以在MSMQ和WMI执行操作,电子表格和平面文件操作等

0

服务代理

  1. 极高的性能。与SQL Server引擎事务和数据访问的紧密集成允许高数据吞吐量。
  2. 优惠reliable guaranteed delivery面对不可靠的网络链接和通信伙伴可用性的停机时间。应用程序即使在脱机或未连接的情况下也可以简单地发送数据,SSB将透明地处理所需的重试次数,同时保持准确一次完整的保证。
  3. 通过routes将物理位置与应用程序代码解耦。应用程序可以发送到数据逻辑名称,逻辑名称到物理位置的分辨率在部署时得到解决,允许在拓扑更改时进行动态调整。
  4. 内置支持高可用性解决方案,集群和镜像。镜像可以透明地进行部署,而无需更改应用程序,因为只有路由更改。
  5. 跨域通信。基于证书的认证和授权允许在不相关的Windows域之间进行安全通信,如基于互联网的B2B场景。
  6. Activation消息到达允许数据传输处理的动态可伸缩性。
  7. Correlated processing exclusive lock-out。对话组消除了从应用程序开发人员锁定相关数据处理的负担。只要会话组密钥用作业务项目的数据分区密钥,SSB就会保证没有两个请求将处理同一业务项目。
  8. Priority support。更高优先级的项目可以在队列之前发送和处理。这适用于符合消息优先级的消息传送基础结构,并且动词也基于优先级使消息出队。
  9. 大规模部署。 SSB允许涉及数千个通信伙伴的解决方案。它内置支持deploying dedicated message forwarders作为通信节点的通信复用,减少了物理连接(套接字)的数量,并允许后端连接到数量非常大的客户端(数十和数十万)。
  10. 用于向外扩展的内置负载平衡。新的数据处理站点可以作为简单的部署时间路由操作实时透明地添加。
  11. SSB是一个通用的通信框架,因此不提供盒外表复制功能(更改跟踪,冲突解决或模式更改传播),这些留作为SSB应用程序的应用程序语义。
  12. 一切都是T-SQL。没有新的语言学习,没有新的工具来掌握。
  13. 用于设置,监控和故障排除的支持工具选择不佳。SQL Server 2008 has a diagnostics tool可帮助解决大多数SSB运行时和部署问题。