将查询中的数据导出到数据文件

通过 bcp 命令,可以将 Transact-SQL 语句的结果集导出到数据文件。该 Transact-SQL 语句可以是任何可返回结果集的有效语句,例如分布式查询或联接多个表的 SELECT 语句。

无法保证按数据写入数据文件的顺序从表或视图中大容量导出数据。您可以使用查询以确保大容量导出操作保留数据文件中表数据的顺序。

请注意,有些 Transact-SQL 语句返回多个结果集,例如,指定 COMPUTE 子句的 SELECT 语句或包含多个 SELECT 语句的存储过程。如果 Transact-SQL 语句返回多个结果集,则只复制第一个结果集,而忽略其余的结果集。

注意注意

您可使用 bcp 命令、BULK INSERT 语句和 OPENROWSET(BULK ) 函数 (Transact-SQL) 指定大容量导入操作期间数据文件中数据的排序方式。有关详细信息,请参阅控制大容量导入数据时的排序顺序。大容量导入过程中保留数据顺序可以显著提高性能。有关详细信息,请参阅优化大容量导入性能

示例

以下示例将 AdventureWorks2008R2Person.Person 表中的姓名导出到 Contacts.txt 数据文件。姓名是按姓(如果姓一样则按名)的顺序排列的。

从 Microsoft Windows 命令提示符下执行该示例:

bcp "SELECT FirstName, LastName FROM AdventureWorks2008R2.Person.Person ORDER BY LastName, Firstname" queryout Contacts.txt -c -T 
安全说明安全说明

您可能需要指定要连接的服务器实例的名称。另外,您可能还需要指定用户名和密码。有关详细信息,请参阅 bcp 实用工具