首页 > 解决方案 > 如何在不使用导入/导出向导的情况下从 SQL Server 导出数据?

问题描述

有没有办法在不使用 SQL 导入和导出向导的情况下从驻留在 SQL 服务器中的不同模式导出数据?

我有近 400 个表,它们分布在不同的数据库中。现在,我正在使用 SQL 导入和导出向导,对于每个表,我必须打开执行导出的 SQL 导入/导出向导,并且需要为其余 399 个表及更多表重做相同的过程。

是否有任何 SQL 查询或任何自动过程,我们可以一次从 SQL 服务器中的不同模式导出数据?

请帮助我,任何指针将不胜感激。

先感谢您。

标签: sqlsql-server

解决方案


在此处检查从数据库导出表到 csv 文件的答案:

使用 SQLCMD(命令提示符)

在命令提示符下,您可以运行查询并将其导出到文件:

sqlcmd -S . -d DatabaseName -E -s',' -W -Q "SELECT * FROM TableName" > C:\Test.csv

笔记:

  1. 这种方法将在文件底部包含“受影响的行”信息,但您可以通过在查询本身中使用“SET NOCOUNT ON”来摆脱这种情况。

  2. 您可以运行存储过程而不是实际查询(例如“EXEC Database.dbo.StoredProcedure”)

  3. 您可以使用任何编程语言甚至批处理文件来自动执行此操作

使用 ApexSQL 工具:

使用ApexSQL Complete Copy 结果作为 CSV 选项将 SQL Server 数据导出到 CSV。

复制代码是ApexSQL Complete中的一项功能,它是 SSMS 和 Visual Studio 的免费插件,可将数据从结果网格复制到以下数据文件之一的剪贴板:CSV、XML、HTML 只需单击一次.

在查询编辑器中,键入以下代码并执行:

例子:

USE AdventureWorks2014

SELECT at.* FROM Person.AddressType at

在结果网格中,选择部分或所有数据,右键单击并从上下文菜单中,在将结果复制为子菜单下,选择 CSV、XML 和 HTML等命令

这会将所选数据从结果网格复制到剪贴板。现在,需要做的就是创建一个文件,复制的数据应该粘贴到该文件中:

当您需要将重复的 SQL 数据复制到另一种数据格式时, ApexSQL Complete Copy 代码作为一个选项可以为您节省大量时间。


推荐阅读