我在一片文章《SQL Server数据库开发的二十一条军规》里看到一条内容,如下
十三、不要使用Insert导入大批的数据 
请不要这样做,除非那是必须的。使用UTS或者BCP,这样你可以一举而兼得灵活性和速度。 请问各位这里的UTS或者BCP是什么意思啊?

解决方案 »

  1.   

    UTS和BCP简单的说就是:在SQLSERVER中包括了FTP服务器,文件同步,数据库同步的三大模块,是一套完整的数据传输方案.他们提升了SQLSERVER的灵活性和速度.
      

  2.   

    BCP是SQL Server中负责导入导出数据的一个命令行工具,它是基于DB-Library的,并且能以并行的方式高效地导入导出大批量的数据;bcp可以将数据库的表或视图直接导出,也能通过SELECT FROM语句对表或视图进行过滤后导出;在导入导出数据时,可以使用默认值或是使用一个格式文件将文件中的数据导入到数据库或将数据库中的数据导出到文件中。 
      

  3.   

    UTS全称
      中文全称:统一数据传输系统英文全称:Unify Transfer System应用背景   i随着网络的成熟和普及,传统的实物销售模式得到新的发展,通过网络将数据库、文件等信息直接传递给客户成为先进的技术手段。对此类应用,一般有技术实力的企业都是定制开发,投入大量的人力和资源来维护;而资源有限者,只能暂时放弃类似应用。   ii 文件、数据库同步与备份成为网络日常管理维护中不可缺少的部分,及时有效的备份成为信息安全的保障。很多企业是通过人工来完成类似工作,每周甚至每天专人负责执行传输,既耗费资源,又不能保证安全和即时性。   iii 各数据库平台一般都有自带的发布和传输体系。
    普遍存在问题:
      1 仅仅支持本系统的应用,当涉及跨平台传输时,功能不够;   2 必须将数据库信息暴露在广域网上,数据库的安全性受到极大挑战;   3 只能支持少量类似应用,不易扩展;   4 网络穿透能力有限,不适应各种复杂网络环境;   5 记录集约束较弱,仅支持完整同步;   6 功能设置有限,主要还是数据层面的配置,无法延展通用配置。
    产品由来:
      针对以上种种,开发了Unify Transfer System(UTS),一个高效的传输解决方案,运行和维护成本低廉、稳定、高性能,有非常友好的管理界面。
    编辑本段实现功能
    跨平台应用支持
      1 支持MS SQL Server、Oracle和MySql三类数据库平台交互传输   2 支持ODBC、OLE DB等多种处理方式,满足各种具体环境要求
    支持多种网络模式,适应各种网络环境
      1 支持HTTP/SOCK4/SOCK5各类代理服务器   2 可以通过SOAP直接越过代理服务器,应用于仅仅开放80端口的严格网络环境,实现SOCKET等被屏蔽的功能   3 局域网内应用命名管道,可以最大限度加快传输效率   4 支持分时段、分权限网络限速,方便监控管理
    完备的数据库同步
      1 通过最大兼容各版本和各差别字段,实现一套数据库向多类数据库的发布   2 支持字段同步、数据同步、索引同步   3 支持各种时间戳技术,自适应各种环境   4 支持记录集约束,可以有选择传输部分数据给客户   5 支持数据异常,完整同步数据
    管理简便,配置功能强大
      1 网状部署,支持数据库分散拓展,减轻压力,加快传输速度   2 设置简便,通用处理模块,便于管理   3 配置强大,可以针对库、表、记录集分别约束,允许对传输流量和传输周期进行设定   4 统计功能强大,随时监控各客户端传输情况。
      

  4.   

    bcp 实用工具可以在 Microsoft SQL Server 2005 实例和用户指定格式的数据文件间大容量复制数据。使用 bcp 实用工具可以将大量新行导入 SQL Server 表,或将表数据导入数据文件。除非与 queryout 选项一起使用,否则使用该实用工具不需要了解 Transact-SQL 知识。若要将数据导入表中,必须使用为该表创建的格式文件,或者必须了解表的结构以及对于该表中的列有效的数据类型。
    参照语法和例子
    http://technet.microsoft.com/zh-cn/library/ms162802(SQL.90).aspx关于大容量导入和大容量导出操作
    http://technet.microsoft.com/zh-cn/library/ms187042(SQL.90).aspx主要是用于数据的传输,以上提供两个连接给楼主参照