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

表中的一个字段是文本数据类型,并保留HTML,因此手工做到这一点将很耗时。

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

有帮助吗?

解决方案

查看 SSMS工具包 - 很棒, 自由 SQL Server Management Studio的附加组件可做很多事情 - 除其他功能外,它可以从给定的表中生成插入语句。

alt text

其他提示

更新以来,当我在寻找答案时,此问答是搜索结果的顶部。

在MSSQL 2008 R2中:

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

生成和发布脚本对话框将弹出。介绍页面毫无价值。点击下一步”

选择“选择特定数据库对象”,然后选择要获得的表格。单击下一步,对话框将推进“设置脚本选项”。

单击高级,您应该查看:

enter image description here

向下滚动选项列表,直到找到“到脚本的数据类型”为止。单击该行,然后从下拉中选择“仅数据”。单击“确定”。选择保存选项,然后单击几次“ Next”。

注意 - 每100插入后,输出还包括以下内容。

  GO
  print 'Processed 200 total records'

我很长一段时间以来一直使用此存储过程: sp_generate_inserts: : 这 2000 版本和 2005年(及以上) 版本。

您这样使用它:

sp_generate_inserts 'thetablename'

或者如果要过滤:

sp_generate_inserts 'thetablename', @from='from ... where ... order by ...'

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

如果您可以使用其他数据库管理应用程序,则最快的方法是使用类似的工具 SQLDBX 它具有内置的“导出为insers(sql)”函数(只需执行像这样的查询 SELECT * FROM Table 然后使用结果网格中的上下文菜单)。

如果您需要坚持使用SQL Management Studio,则可以使用这样的存储过程:

http://vyaskn.tripod.com/code/generate_inserts.txt

它为目标表的每一行的SQL插入语句生成了一组结果。然后,您可以将结果导出到文件中,或者只需将它们复制到剪贴板并在查询窗口中粘贴(即使有几种兆字节的数据也可以正常运行)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top