在SQL Server 2008中导出表

时间:2011-02-23 01:19:25

标签: sql-server-2008

  • 如何将表SQL Server导出到 单个平面文件? (所有数据和 第一行作为列名)??
  • 是否有查询执行此操作?

4 个答案:

答案 0 :(得分:13)

  1. 右键单击数据库名称 - >任务 - > ExportData
  2. 选择表作为数据源
  3. 选择平面文件目的地作为目的地
  4. 选择FileName
  5. 在第一个数据行中标记“列名称”

答案 1 :(得分:7)

DECLARE  
     @saveas VARCHAR(2048)
    ,@query VARCHAR(2048)
    ,@bcpquery VARCHAR(2048)
    ,@bcpconn VARCHAR(64)
    ,@bcpdelim VARCHAR(2)

SET @query      = 'select * from table1'
SET @saveas     = '\\SERVER1\SHARE1\FOLDER\QueryOutput.txt'
SET @bcpdelim   = '|'
SET @bcpconn    = '-T' -- Trusted
--SET @bcpconn    = '-U <username> -P <password>' -- SQL authentication


SET @bcpquery = 'bcp "' + replace(@query, char(10), '') + '" QUERYOUT "' + @saveas + '" -c -t^' + @bcpdelim + ' ' + @bcpconn + ' -S ' + @@servername
EXEC master..xp_cmdshell @bcpquery  

答案 2 :(得分:2)

我不确定pcofre的方法是否始终有效,即使这是通常的方法。我有以下情况,它破了。

我想在表中复制列(尝试整个表复制和查询方法)值,以便为多个服务器创建脚本。问题是列内容是varbinary,它实际上是巨大的。数据长度占19K。这是我使用ColdFusion代码创建和插入的PDF的二进制数据。现在,DBA需要将数据复制到其他环境。并且他无法执行'UPDATE / INSERT FROM',因为数据被截断了。所以他希望我从列中获取二进制值,以便他可以将它放在查询分析器中并运行查询。这可能听起来很愚蠢,但无论你做了什么都没有成功。所以我这样做了:

  1. your_Database
  2. 生成脚本
  3. 如果您有
  4. ,请选择“对象”

答案 3 :(得分:2)

  1. 右键单击SELECT from yourTable查询
  2. 的结果集
  3. 选择将结果另存为...