导出数据在SQL Server中作为INSERT INTO

Jac*_*ada 398 sql sql-server data-migration insert

我正在使用SQL Server 2008 Management Studio并且有一个我想要迁移到其他数据库服务器的表.

有没有选项将数据导出为插入SQL脚本?

mar*_*c_s 665

在对象资源管理器的SSMS中,右键单击数据库,右键单击并选择"任务",然后选择"生成脚本".

这将允许您为单个或所有表生成脚本,其中一个选项是"脚本数据".如果将其设置为TRUE,则向导将为您的数据生成带有INSERT INTO()语句的脚本.

如果使用2008 R2或2012,则称为其他内容,请参阅此下面的屏幕截图

替代文字

2008 R2或更高版本,例如2012

选择"脚本数据类型",可以是"仅数据","架构和数据"或"仅架构" - 默认值).

在此输入图像描述

然后在Codeplex(包括源代码)上有一个" SSMS Addin "包,它承诺几乎相同的功能和更多(如快速查找等)

替代文字

  • 在2008 R2中,可以在"设置脚本选项"屏幕上找到"脚本数据类型"选项.按"高级"按钮. (5认同)
  • 这些插件是否适用于2008 R2?SSMS Addin在加载时抛出异常. (3认同)
  • 请看下面的@ruffin答案[更多截图](http://stackoverflow.com/a/13032348/1048) (2认同)

ruf*_*fin 113

为了过度明显的无脑,在遵循marc_s的指示到这里 ...

在对象资源管理器的SSMS中,右键单击数据库,右键单击并选择"任务",然后选择"生成脚本".

...然后我看到一个向导屏幕,其中包含" 简介,选择对象,设置脚本选项,摘要和保存或发布脚本 ",底部带有上一个,下一个,完成,取消按钮.

在" 设置脚本选项"步骤中,您必须单击"高级"以获取包含选项的页面.然后,正如Ghlouw所提到的,您现在选择"脚本数据类型"并获利.

高级按钮突出显示红色!1 !!

  • 谢谢,这个按钮没有非常直观的位置.我认为它属于"保存到文件". (12认同)

Aza*_*ndi 46

如果您使用SQLServer 2008R2,则需要将数据类型设置为脚本字段.

在此输入图像描述

  • 也适用于2012年. (2认同)
  • 如果您像我一样感到困惑,"脚本中的数据类型"选项仅在"生成脚本..."向导的"高级"选项中可见 - 您在主选项对话框中找不到它! (2认同)

Ghl*_*ouw 36

如果您正在运行SQL Server 2008 R2,则内置选项可以在SSMS中执行此操作,因为上面描述的marc_s稍有改动.Script data = true现在"Types of data to script",在"表/视图选项"分组上方有一个新选项,而不是如图所示选择.在这里,您可以选择仅脚本数据,仅脚本和数据或模式.奇迹般有效.


Nei*_*erg 10

只是更新屏幕截图以帮助其他人,因为我使用的是 2019 年左右的较新 v18。

右键单击 DB:任务 > 生成脚本

您可以在此处选择某些表或使用所有表的默认值。

您可以在此处选择某些表或使用所有表的默认值。为了我自己的需要,我只指明了一张桌子。

接下来,您可以在“脚本选项”中选择输出文件等。如上面的多个答案(同样,我只是为更新的 v18.4 SQL Server Management Studio 删除旧答案)我们真正想要的位于“高级”按钮下。为了我自己的目的,我只需要数据。

常规输出选项,包括输出到文件。 包括数据在内的高级选项!

最后,在执行前有一个审查摘要。执行后会显示操作状态报告。 评测总结。


Nic*_*lay 5

对于那些正在寻找命令行版本的用户,Microsoft 发布mssql-scripter了此操作:

$ pip install mssql-scripter

# Generate DDL scripts for all database objects and DML scripts (INSERT statements)
# for all tables in the Adventureworks database and save the script files in
# the current directory
$ mssql-scripter -S localhost -d AdventureWorks -U sa --schema-and-data \
                 -f './' --file-per-object
Run Code Online (Sandbox Code Playgroud)


ing*_*nti 5

对于SQl服务器Mng Studio 2016:

在此处输入图片说明