如何将 SQL Server 2000 数据库中的表作为一组 INSERT INTO 语句导出到 .sql 文件?
表中的字段之一是 Text 数据类型并保存 HTML,因此手动执行此操作将相当耗时。
我可以访问 SQL Server Management Studio 2008 来访问 SQL Server 2000 数据库。
如何将 SQL Server 2000 数据库中的表作为一组 INSERT INTO 语句导出到 .sql 文件?
表中的字段之一是 Text 数据类型并保存 HTML,因此手动执行此操作将相当耗时。
我可以访问 SQL Server Management Studio 2008 来访问 SQL Server 2000 数据库。
更新,因为当我在寻找答案时,此问答位于搜索结果的顶部。
在 MSSQL 2008 R2 中:
右键单击数据库:任务-> 生成脚本...
将弹出生成和发布脚本对话框。简介页面毫无价值。点击下一步”
选择“选择特定数据库对象”,然后选择要为其获取插入的表。单击下一步,对话框将前进到“设置脚本选项”。
单击高级,您应该会看到:
向下滚动选项列表,直到找到“要编写脚本的数据类型”。单击该行并从下拉菜单中选择“仅数据”。单击“确定”。选择您的保存选项并单击“下一步”几次。
注意 - 每 100 次插入后,输出还包括以下内容。
GO
print 'Processed 200 total records'
查看SSMS 工具包——它是 SQL Server Management Studio 的一个很棒的免费插件,它可以做很多事情——除此之外,它可以从给定的表中生成 INSERT 语句。
我已经使用这个存储过程很长时间了:sp_generate_inserts:2000版本和2005(及以上)版本。
你像这样使用它:
sp_generate_inserts 'thetablename'
或者如果你想过滤:
sp_generate_inserts 'thetablename', @from='from ... where ... order by ...'
sp 将返回插入语句作为查询结果。不要忘记修改设置:增加每列显示的最大字符数(工具-选项-查询结果)。
如果您可以使用其他数据库管理应用程序,最快的方法是使用像SqlDbx这样的工具,它具有内置的“导出为插入 (SQL)”功能(只需执行类似的查询SELECT * FROM Table
,然后使用结果网格中的上下文菜单) .
如果您需要坚持使用 SQL Management Studio,那么您可以使用这样的存储过程:
http://vyaskn.tripod.com/code/generate_inserts.txt
它使用 SQL INSERT 语句为目标表的每一行生成一组结果。然后您可以将结果导出到一个文件,或者只是将它们复制到剪贴板并粘贴到查询窗口中(即使有几兆字节的数据也可以正常工作)。