如何将表的数据导出到INSERT语句中?

Jus*_*808 12 sql t-sql sql-server sql-server-2000 data-export

如何将表从SQL Server 2000数据库导出到.sql文件作为一堆INSERT INTO语句?

表中的一个字段是Text数据类型并保存HTML,因此手动执行此操作将非常耗时.

我可以访问SQL Server Management Studio 2008来访问SQL Server 2000数据库.

mob*_*ill 19

在我寻找答案时,此问答的更新位于搜索结果的顶部.

在MSSQL 2008 R2中:

右键单击数据库:任务 - >生成脚本...

将弹出Generate and Publish Scripts对话框.介绍页面毫无价值.点击下一步"

选择"选择特定数据库对象",然后选择要为其插入的表.单击"下一步",对话框将进入"设置脚本选项".

点击高级,您应该看到:

在此输入图像描述

向下滚动选项列表,直到找到"脚本数据类型".单击该行,然后从下拉列表中选择"仅数据".单击"确定".选择保存选项,然后单击"下一步"几次.

注 - 每100次插入后输出还包括以下内容.

  GO
  print 'Processed 200 total records'
Run Code Online (Sandbox Code Playgroud)

  • 我不知道这不是最好的答案.也许是因为它不适用于SQL Server 2000.但这正是我想要的. (2认同)

mar*_*c_s 16

查看SSMS工具包 - 它是SQL Server Management Studio 的一个很好的免费附加组件,可以执行很多操作 - 除此之外它还可以从给定的表生成INSERT语句.

替代文字

  • 从SQLSMS 2012开始,该工具不再免费,但它提供30天的时间试用.看到mobill的答案,有一种内置的方法来实现这一目标. (3认同)

End*_*ono 9

我一直在使用这个存储过程:sp_generate_inserts:2000版本和2005(及以上)版本.

你这样使用它:

sp_generate_inserts 'thetablename'
Run Code Online (Sandbox Code Playgroud)

或者如果你想过滤:

sp_generate_inserts 'thetablename', @from='from ... where ... order by ...'
Run Code Online (Sandbox Code Playgroud)

sp将返回insert语句作为查询结果.不要忘记修改设置:增加每列中显示的最大字符数(工具 - 选项 - 查询结果).