MS SQL 数据的导入和导出

数据的导入/导出有三种解决方案:
1、使用BCP将数据导出到文件中、使用BCP从文件导入数据
2、使用BULK INSERT从文件导入数据
3、使用SSIS进行数据的导入和导出

BCP是一种非常快的、轻量级的、最有效的解决方案,但是它被设计成处理良好格式化的数据;BCP是一个应用程序,使用的时候必须指定要使用的连接信息;BCP导出数据时需要有表或视图上的SELECT权限,导入数据需要有SELECT、INSERT和ALTER TABLE权限,导入时如果不禁用触发器和检查约束,就不需要ALTER TABLE权限(默认是禁用的)。
选择-n还是-c
bcp导出时
    --导入到另一个SQL实例,使用-n(原生格式),可以提供更好的性能
    --移动到别的平台或着移动到非SQL SERVER系统,使用-c(标准字符格式)
bcp导入时
    --取决于文件格式

BULK INSERT是一个T-SQL命令,不需要指定实例名和登录凭据,但是只能导入数据。

SSIS是基于C#的,在使用SSIS移动数据时,数据类型会转换为.NET数据类型,C#没有和hierarchy、geography和geometry对应的数据类型,所以如果有这三种类型,就不能使用SSIS。如果需要在导入/导出过程中执行转换或执行错误处理例程,就应该使用SSIS。SSIS可以一次性处理多个表/视图或文件,这是BCP和BULK INSERT无法做到的,它们只能操作单个表、视图或查询。

本文出自 “杨金澎” 博客,谢绝转载!

你可能感兴趣的:(导出,导入)