14

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

表中的字段之一是 Text 数据类型并保存 HTML,因此手动执行此操作将相当耗时。

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

4

4 回答 4

24

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

在 MSSQL 2008 R2 中:

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

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

选择“选择特定数据库对象”,然后选择要为其获取插入的表。单击下一步,对话框将前进到“设置脚本选项”。

单击高级,您应该会看到:

在此处输入图像描述

向下滚动选项列表,直到找到“要编写脚本的数据类型”。单击该行并从下拉菜单中选择“仅数据”。单击“确定”。选择您的保存选项并单击“下一步”几次。

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

  GO
  print 'Processed 200 total records'
于 2014-03-04T23:25:48.543 回答
16

查看SSMS 工具包——它是 SQL Server Management Studio 的一个很棒的免费插件,它可以做很多事情——除此之外,它可以从给定的表中生成 INSERT 语句。

替代文字

于 2010-11-03T06:18:42.023 回答
10

我已经使用这个存储过程很长时间了:sp_generate_inserts2000版本和2005(及以上)版本。

你像这样使用它:

sp_generate_inserts 'thetablename'

或者如果你想过滤:

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

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

于 2010-11-03T09:09:05.290 回答
2

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

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

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

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

于 2010-11-03T01:39:58.397 回答